Parser - AST interface (API) struct ast { type values (different for type) maybe store line number of each node in src file struct ast *left, *right } /* creates new node */ ast *newNode (operand, left ast, right ast) ast *newastval (value) ast *newastoperand (operand)