Pull out abstract syntax tree into separate file.  Clean up drawing code.
Parse A->B, which means "-" is no longer a valid identifier char.
Parse A->B, which means "-" is no longer a valid identifier char.
Fixups to get everything working.