Added preprocessor macro support, refactored header includes, refactored common syntax tokens, added hex number literals