C# 4.0 preprocessor, lexer, and parser in Java