make while groups generate AST trees
it seems that pascal doesn't end typedefs with `end`

This is either a bug in my transcribed grammar or Novak's sample code is
wrong. Whatever the case this change allows me to parse the pasrec.pas
case in its entirity (seemingly) but with errors. I will consult the 4th
ed manual and see what the "official" behavior is but we'll go with this
for now. Now to debug...