void RelationalTerm(out Expression exp) { Expression right = null, left = null; RelationalBinOp op = RelationalBinOp.Equal; ArithmeticExpression(out left); exp = left; if (StartOf(3)) { switch (la.kind) { case 30: { Get(); op = RelationalBinOp.Equal; break; } case 31: { Get(); op = RelationalBinOp.NotEqual; break; } case 32: { Get(); op = RelationalBinOp.GreaterThan; break; } case 33: { Get(); op = RelationalBinOp.GreaterThanOrEqual; break; } case 34: { Get(); op = RelationalBinOp.LessThan; break; } case 35: { Get(); op = RelationalBinOp.LessThanOrEqual; break; } } ArithmeticExpression(out right); exp = new RelationalBinOpExpression(exp, right, op); CopyPos(exp, ((RelationalBinOpExpression)exp).Left, t); } }
public RelationalBinOpExpression(Expression left, Expression right, RelationalBinOp op) { _op = op; _children.Add(left); _children.Add(right); }
public RelationalBinOpExpression(Expression left, Expression right, RelationalBinOp op) { _op = op; _children.Add(left); _children.Add(right); }