Include and unit paths:
When the compiler searches for a unit or file to include, it searches first in the folder of the main file. Next it searches in these folders from left to right. Folders are separated by semicolons.
The button at right opens a dialog that permits folders management.
All paths are displayed relative to the project's path.
Output path:
This is where the compiler will place all the generated .asm and .pcu files.
The button at right opens a folder choose dialog.
The output path is displayed relative to the project's path.
Assembler output:
This group of controls manages how much information is written in the generated assembler file (.asm).
- The verbose mode may be useful when debugging: it includes the Pascal source lines as comments between assembly language blocks.
- The "commented .asm output" option controls the comments globally.
- The symbols table and memory usage option adds information at the end of the file.
Miscellaneous:
This group of controls manages some of the behaviors of the compiler:
- Extended syntax: PMP introduces several language extensions that are not in the commonly used Pascal language. These extensions came from languages like OBERON and MODULA. This option may be overridden by the $EXTENDED directive. Default is ON.
- Strict type checking: PMP compiler may be strict (Pascal rules) for type checking. This option may be overridden by the $STRICT directive. Default is OFF.
- Assertions: code for ASSERT statements is generated.
This option may be overridden by the $ASSERTIONS directive. Default is OFF.
- No std symbols redefine: If a symbol is declared in the program and it has the name of a processor register or register field, a compilation error occurs. If this option is off, such attempt will generate a warning only.
This option may be overridden by the $NO_STD_SYMBOL_REDEFINE directive. Default is OFF.
Conditional defines:
This list may be used to initialize default conditional defines at the beginning of the main file compilation.
A conditional define in this list:
- is project-wide,
- may be redefined by $DEFINE or $UNDEFINE directives in the main program source code only,
- reversely, if changed in the main program source code, will be modified accordingly in the list, if the "Automatic default options" is checked in the IDE general page.
- may have a value, numeric or string, and a comment for convenience.
Individual conditionals may be checked ($DEFINE) or not ($UNDEFINE) to be changed without to have to rename or suppress them.
String values have not to be surrounded by quotes.
Conditional value may be retrieved through the DEFINED_VALUE() pseudo built-in function.
The optional comment cannot contain the vertical bar character.
You may enter something like FOO = 120 // Comment.