Rewritten

Rewritten taking a different approach. The lexer is almost finished. We
need to start with the parser.