Finished the lexer implementation