A.1 About the LISA+ preprocessor
The LISA+ preprocessor is like the C preprocessor, but not identical.
As in C, the LISA+ preprocessor processes the source code before the underlying LISA+ parser sees the source code. The preprocessor statements are not part of formal LISA+, but are like a layer on top of LISA+.
Unlike C, however, the LISA+ preprocessor interacts with the actual LISA+ constructs. Deliberately, the preprocessor disables some features, for example macro expansion and includes, in certain contexts so that tools that read, modify and write LISA+ code work correctly. Consequently there are subtle restrictions to using preprocessor statements in LISA+ code. This appendix covers them.