void term(out Compiler.IfExpression e) { string op; IfExpression e2; e=null; factor(out e); while (la.kind == 8 || la.kind == 9) { multiply(out op); factor(out e2); e = new BinaryExpression(e, op, e2); } }
void expression(out Compiler.IfExpression e) { e=null; string op; IfExpression e2; if (la.kind == 6) { Get(); term(out e2); e = new UnaryExpression ("-", e2 ); } else if (StartOf(5)) { term(out e); } else SynErr(58); while (la.kind == 6 || la.kind == 7) { addition(out op); term(out e2); e = new BinaryExpression(e, op, e2); } }