- Very useful for testing and debugging - Add preprocess() stub and skip compilation in preprocessor mode
- needed to determine start and end of macro directives - the main parser doesn't need them, so strip out the newline tokens before parsing to avoid changing it