documented abstract syntax tree construction, replaced doxygen section with par