AST builder spec