Fix stream operator for new parse action types
Add throw statements to js grammar
In lexer, always prefer the longest match

Only use rules' precedence to decide between two tokens
that match the same string