Separated lexical analysis out from compiler.py.
Separated the parser out from compiler.py.