Initial commit
Added SyntaxNode and skeleton for type system
Added skeleton type checker, added stack to Interpreter, fixed newline issue in grammar
Added variable declarations and type checking for variable usage
Added assignments, implemented variables in Interpreter
Added bool type, equality operator, semicolon statement separator, and line number error reporting
Added if, while, !=
Added basic IR generation
Added IR generation of compares, if, and while
Changed CJump to 2-target, switched to simpler (but sometimes more confusing) block order for if and while
Added CFG pointers, topological sort
Refactored IR code into a better object framework
Separated out IR entries into subclasses
Added dominator tree calculation
Added dominance frontier calculation
Added basic optimizer framework
Add convenience functions for intra-procedural optimizer passes
First stab at SSA conversion
Added (horribly-inefficient) DCE for symbols
Broke IR functions into multiple files, added use counting on variables