A.3 LISA+ preprocessing according to scope
The LISA+ preprocessor treats the scopes differently.
- It never replaces or executes any
- It replaces macros only inside
behaviorcode, nowhere else.
- It evaluates conditional compilation everywhere and macros evaluated in
- It ignores the preprocessor constructs (
#if) in non-
behaviorsections, passing them on intact to the C++ compiler, which deals with them. It makes sure that the C++ compiler sees the same set of preprocessor symbols that it saw, so that the LISA+ preprocessor and the C++ compiler perform this conditional compilation in the same way.