Merged with existing code for Lexer and Parser