X.a = f (attributes of ALPHA, BETA, and/or B)
B.a = f (attributes of ALPHA, BETA, and/or X)
if-else-stmt / | \ C S1 S2
make_node ('+', make_node ('-', make_leaf (IDENTIFIER, entry_for_a)
make_leaf (NUMBER, 4)),
make_leaf (IDENTIFIER, entry_for_c));
subprogram_spec:
Procedure Identifier formal_parameter_list_OPTION
{ $$ = new_procedure_symbol($2, $3); } ;
E --> T R
R --> ADDOP T {print(ADDOP.lexeme);} R
| EPSILON
T --> NUMBER {print(NUMBER.value);}
A --> B {print("hi");} C
A --> B M C
M --> EPSILON {print("hi");}