Implemented lexer and parser