generate parse tree
primitive ast
work in progress
partially working