alloc_expression
struct expression *addr = alloc_expression(expr->pos, EXPR_SYMBOL);
struct expression *initstr = alloc_expression(expr->pos, EXPR_STRING);
e0 = alloc_expression(expr->pos, EXPR_SYMBOL);
e1 = alloc_expression(expr->pos, EXPR_PREOP);
e2 = alloc_expression(expr->pos, EXPR_ASSIGNMENT);
e3 = alloc_expression(expr->pos, EXPR_BINOP);
e4 = alloc_expression(expr->pos, EXPR_COMMA);
expr->right = alloc_expression(expr->pos, EXPR_FVALUE);
add = alloc_expression(expr->pos, EXPR_BINOP);
add->right = alloc_expression(expr->pos, EXPR_VALUE);
base = alloc_expression(expr->pos, EXPR_SIZEOF);
base = alloc_expression(expr->pos, EXPR_VALUE);
size = alloc_expression(expr->pos, EXPR_CAST);
new = alloc_expression(e->pos, EXPR_INDEX);
new = alloc_expression(e->pos, EXPR_IDENTIFIER);
*v = new = alloc_expression(e->pos, EXPR_INDEX);
new = alloc_expression(e->pos, EXPR_INDEX);
*v = new = alloc_expression(e->pos, EXPR_IDENTIFIER);
new = alloc_expression(e->pos, EXPR_IDENTIFIER);
p = alloc_expression(e->pos, EXPR_STRING);
struct expression *addr = alloc_expression(expr->pos, EXPR_SYMBOL);
expr = alloc_expression(old->pos, EXPR_IMPLIED_CAST);
struct expression *val = alloc_expression(expr->pos, EXPR_VALUE);
struct expression *val = alloc_expression(expr->pos, EXPR_VALUE);
struct expression *mul = alloc_expression(expr->pos, EXPR_BINOP);
addr = alloc_expression(expr->pos, EXPR_SYMBOL);
struct expression *sub = alloc_expression(expr->pos, EXPR_BINOP);
struct expression *val = alloc_expression(expr->pos, EXPR_VALUE);
reuse = alloc_expression(entry->pos, EXPR_POS);
decl->initializer = alloc_expression(token->pos, EXPR_STRING);
*tree = alloc_expression(token->pos, EXPR_TYPE);
struct expression *expr = alloc_expression(
e = alloc_expression(token->pos, EXPR_OFFSETOF);
e = alloc_expression(token->pos, EXPR_OFFSETOF);
e = alloc_expression(token->pos, EXPR_OFFSETOF);
expr = alloc_expression(token->pos, EXPR_VALUE);
expr = alloc_expression(token->pos, EXPR_VALUE);
expr = alloc_expression(token->pos, EXPR_SYMBOL);
expr = alloc_expression(token->pos, EXPR_VALUE);
expr = alloc_expression(token->pos, EXPR_SYMBOL);
expr = alloc_expression(token->pos, EXPR_STRING);
expr = alloc_expression(token->pos, EXPR_PREOP);
expr = alloc_expression(token->pos, EXPR_TYPE);
struct expression *deref = alloc_expression(token->pos, EXPR_PREOP);
struct expression *add = alloc_expression(token->pos, EXPR_BINOP);
struct expression *post = alloc_expression(token->pos, EXPR_POSTOP);
struct expression *inner = alloc_expression(token->pos, EXPR_PREOP);
struct expression *deref = alloc_expression(token->pos, EXPR_DEREF);
struct expression *call = alloc_expression(token->pos, EXPR_CALL);
struct expression *expr = alloc_expression(token->pos, type);
struct expression *cast = alloc_expression(p->pos, EXPR_CAST);
unary = alloc_expression(token->pos, EXPR_PREOP);
unary = alloc_expression(token->pos, EXPR_PREOP);
struct expression *label = alloc_expression(token->pos, EXPR_LABEL);
struct expression *e = alloc_expression(token->pos, EXPR_STATEMENT);
struct expression *cast = alloc_expression(next->pos, EXPR_CAST);
top = alloc_expression(next->pos, type); \
struct expression *expr = alloc_expression(token->pos, EXPR_CONDITIONAL);
struct expression * expr = alloc_expression(token->pos, EXPR_ASSIGNMENT);
struct expression *dup = alloc_expression(expr->pos, expr->type);
struct expression *op = alloc_expression(token->pos, EXPR_ASM_OPERAND);
struct expression *expr = alloc_expression(token->pos, EXPR_IDENTIFIER);
struct expression *expr = alloc_expression(from->pos, EXPR_INDEX);
struct expression *expr = alloc_expression(token->pos, EXPR_INITIALIZER);
expr = alloc_expression(token->pos, EXPR_VALUE);
expr = alloc_expression(right->pos, EXPR_ASSIGNMENT);