Some diagnostics, documentation. And a mini preprocessor in the lexer to deal with #pragma