Add syntax tree structs.
Recursive descent parser for expressions.
Handle "exp [NLTH] ++" case in parser rather than lexer.
Use setjmp/longjmp to handle parsing errors.
Add token string lookup table for better error messages.