Add base Scope object
Utilize scope during parse and build a scope tree
Type checking for integers
Refactoring of symbol table and scope. Make a ScopeNode class
Better handling of error messages for parser
Asserting that int vardecls are actually ints
Type checking for strings and bools should be good
Utilize try catch in lexer. Fix the id regex
Put $ at end of program if it's missing
Prettify the interface a bit
Don't add a $ if there is no source code
Rename output to log as it should be
Only move onto parse if lex returned tokens
Some refactoring and bug fix for ScoepNode. Beginnings of printing out scope/symbol table
Better logging for symbol table
Moar logging for symbol table
Added a 3rd test program for if/while/print
Add a test program for more complex if statements
More detailed logging, and remove unnecessary parse log statements