Fixing grammar bug
Simplifying some code
Lexer fixes
Update the lexer specification