Errors and Standards (was: compiler bug)
cbfalconer at yahoo.com
Thu Oct 25 07:00:13 CEST 2001
"da Silva, Joe" wrote:
> I'm glad you liked those ISO-10206 citations, too. Even if you
> want to limit yourself to ISO-7185, the EP standard is still a
> useful guide to the interpretation of ISO-7185, since it builds
> directly upon this, but takes a broader view of the application
> of Pascal in the real world.
> You are correct that ISO-7185 only defines ONE mechanism by
> which program variables can be bound to external entities - via
> the program parameter list! Any other mechanism, which may
> be employed by a particular implementation, is a non-standard
> extension (well, by definition, all extensions are non-standard;-)!
At least in the embedded world, I found that I could describe
everything I wanted in terms of the file system. The run-time had
drivers for various specialized files, which included such things
as a LAN and an interactive screen. The programs altered the file
buffer variables (f^) appropriately (or interrogated them) and did
the appropriate get or put. The drivers were table driven, and
needed 5 routines per file (read, write, open, close,
control/status). A sixth table field specified the file name.
In the case of the screen, the screen itself was an array 24*80 of
char (or whatever). The run-time allowed the operator to move to
appropriate fields and type in whatever he desired. The file
object was a record, that included the screen and a few booleans
(such as changed).
In other cases the file buffer was the output of an a/d converter.
For debugging, I could create actual disk files of these things,
recorded from the actual machinery, and have a repeatable input
This did rely upon an extension, where either the reset (or
rewrite) had an added parameter for file-name, or else the device
name was the actual Pascal name.
However, once attached, the files obeyed the rules for Pascal
Aside - I prepared a text version of ISO10206 and sent it to Frank
a few days ago. I have not heard anything back from him. It
seems like a good thing to have around for instant searches, etc.
I wonder if he received it?
I consider the lack of range-checking to be the worst failing of
GPC. The point of using Pascal is to have ones hand held and to
generate safe code. Without range checks one might as well use C.
Chuck F (cbfalconer at yahoo.com) (cbfalconer at XXXXworldnet.att.net)
Available for consulting/temporary embedded and systems.
(Remove "XXXX" from reply address. yahoo works unmodified)
mailto:uce at ftc.gov (for spambots to harvest)
More information about the Gpc