- further rework; file processing now resembles Boomerang lenses much
more closely
- major revamp of the internal tree representation (ordered tree where
multiple children can have the same label, including NULL labels)
- move away from LL(1) parsing in favor of regular languages, since they
enable much better ahead-of-time checks (which are not implemented yet)