I see now at least what you meant. No, macros are evaluated by the preprocessor, and keywords are evaluated by the compiler. All C languages behave this way.

Your example won't work because lite-C macros expect expressions as arguments, and "; i < 100; i++" is no valid expression. The lite-C preprocessor is a little simpler than a C++ preprocessor.