AST Generation

Construct an AST.