Fix ambiguity between parameter lists.
Fix ambiguity between If and IfElse.
Fix case.
Enable and clean up preprocessor.
Fix enum.
Simplified preprocessor syntax.
Clean up lexical syntax.
Fix designation.
Added follow restrictions for float and hexadecimal constants.
Clean up lexical syntax even more.