Lexer and Parser files separated for better debugging and readability.