The structure mostly follows the ast structure, with some slight
changes. Each parser submodule documents which ast submodule it
corresponds to.
This parser is not yet complete, and I have yet to go through its
modules one-by-one to fix and complete them.