Technical data
ii Contents
Multiple Inclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-19
%foreach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-19
%for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-20
%roll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-22
Object-Oriented Facility for Generating Target Code . . . . . . .
2-24
GENERATE and GENERATE_TYPE Functions . . . . . . . .
2-25
Output File Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-27
Input File Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-28
Errors, Warnings, and Debug Messages . . . . . . . . . . . . . . . . . .
2-29
Built-In Functions and Values . . . . . . . . . . . . . . . . . . . . . . . . .
2-29
FEVAL Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-35
Macro Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-37
Identifier Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-37
Creating Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-39
Adding Parameters to an Existing Record . . . . . . . . . . . . . .
2-40
Scoping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-41
Variable Scoping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-42
Target Language Functions . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-44
Variable Scoping Within Functions . . . . . . . . . . . . . . . . . . .
2-46
%return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-49
Target Language Compiler
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-50
Command Line Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-50
Filenames and Search Paths . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-51
Target Language Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . .
2-51
3
Writing Target Language Files
A Basic Example
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2
Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2
Target Language Compiler Architecture
. . . . . . . . . . . . . . . .
3-6
System Target Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6
Block Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-7