[prev] [prev-tail] [tail] [up]

### D.5 MACPAS mode

This mode is selected by the $MODE MACPAS switch. On the command line, this mode is selected by the -Mmacpas switch. It mainly switches on some extra features:

1. Support for the $SETC directive.
2. Support for the $IFC, $ELSEC and $ENDC directives.
3. Support for the UNDEFINED construct in macros.
4. Support for TRUE and FALSE as values in macro expressions.
5. Macros may be assigned hexadecimal numbers, like $2345.
6. The Implementation keyword can be omitted if the implementation section is empty.
7. The cdecl modifier keyword can be abbreviated to C.
8. UNIV modifer for types in parameter lists is accepted, but is otherwise ignored.
9. ... (ellipsis) is allowed in procedure declarations, is functionally equal to the varargs keyword.

(Note: Macros are called ’Compiler Variables’ in Mac OS dialects.)

Currently, the following Mac OS pascal extensions are not yet supported in MACPAS mode:

- A nested procedure cannot be an actual parameter to a procedure.
- No anonymous procedure types in formal parameters.
- External procedures declared in the interface must have the directive External.
- Continue instead of Cycle.
- Break instead of Leave
- Exit should not have the name of the procedure to exit as parameter. Instead, for a function the value to return can be supplied as parameter.
- No propagating uses.
- Compiler directives defined in interface sections are not exported.

[prev] [prev-tail] [front] [up]