1.2.1. Macro variables and functions

Felix provides the #define directive to define a macro variable or macro function. Unlike C macros, Felix macros are strictly scoped. They apply in the file in which they're defined and neither invade included files, nor are they exported to including files.

However, the #import directive can be used to include a file and also import macros into the including file, in order to allow processing of configuration files.

Note that unlike C, macros are ONLY expanded in conditional directives: they have no affect on ordinary source text.

A macro variable must be a valid constant expression after substitution of macro variables and application of macro functions.