Adriaan van Os wrote:
Some more in Apple UCSD Pascal (just for the record)
- A compilation can be a program, or one or more units separated with
semicolons and ending with a period.
Several units separated with semicolons? Strange. Kind of contradicts the meaning of "unit" (in the common meaning of the word) to me ...
- File type INTERACTIVE
What difference does it make?
- Predefined file KEYBOARD
GPC provides `Kbd' in the unit `Turbo3' (BP compatibility for Turbo Pascal 3.0 compatibility). Does it behave the same?
- Bit-packing
We don't set `--ignore-packed' in UCSD mode, so this should be the same in GPC.
- INTEGER type can be modified by a length attribute
Well, we have the `Size' attribute (probably different syntax, but the semantics might be the same?).
- LONG INTEGER type, represented internally as a binary-coded decimal
(BCD) number (up to 36 digits)
Nice. :-( I guess when GCC will support 128 bit integers, we can declare it as such (or the exact subrange), since the internal representation shouldn't matter.
- Built-in function PAGE
Is this the same as in standard Pascal (start new page where applicable)? Then I can just activate it in UCSD Pascal mode.
- Built-in functions UNITREAD, UNITBUSY, UNITWAIT and UNITCLEAR
- Built-in functions PWROFTEN and TREESEARCH
- Built-in function SCAN
What do they do? Can they be provided in a unit?
- Optional OPTION parameter for the CLOSE procedure, with possible
values NORMAL, LOCK, PURGE and CRUNCH
What do they mean?
- Segmentation compiler options
Well, we try to be backward-compatible to the directives of BP, but making directives dependent on the dialect would be even more confusing. So if they don't conflict with BP's, we can probably let GPC ignore them (like we do with BP directives that have no meaning in our environments) ...
- Regular versus Intrinsic Units
What's that?
- Extended comparisons of arrays and records
Field-by-field? Only `='/`<>'?
- TURTLEGRAPHICS unit
BP also has one (`Graph3'). It shouldn't be too hard to write one for GPC (based on `Graph' or `GRX') if someone is looking for a small job ...
- PADDLE, BUTTON and TTLOUT routines in the APPLESTUFF unit
These are probably system-specific and can be implemented in a system-specific GPC unit. Or perhaps mapped to more general input facilities (perhaps from GRX, if they apply to graphics) ...
- EXIT with parameter procedurename, programname or PROGRAM
I knew about this one. I don't really feel like supporting it (just two words: nonlocal gotos)-: ...
Frank