Initial parse tree class heirarchy.
Don't throw an error if we scan past EOF.
Be able to get constant's name from value.
Add printing functions to tree for test grammar.
Wrap long lines.
Fix scanner bug: missed last token with no newline.

After we've read through the input file, depending on what state we're
in, we might still need to return a token.  This is now fixed; no tokens
are left behind!
Implement parser for Bob's simple example grammar.

Create test files, and rename test/example.bpl to test/scan_example.bpl.
Can now expect many TokenTypes.
Improve parse tree printing.
Allow for local declarations in compound statement.

Make local declarations and statement lists optional.
Handle while statements.  Re-order parser functions.
Handle if statements.
Remove ReadStmtNode class, reword WriteStmtNode.
Sacrifice first-born to the gods of pep8.
Add datatypes tuple to TokenType.
Allow for all kinds of expression statements.

Not just the ones that start with ID's.
Parse expressions.
Use keyword arguments in parse tree constructors.
Add cur_token() wrapper to Parser class.
Create a class method for redundant consume code.