Expr parseFunc(EXPR_TYPE t) { skipOrError("("); var e = parse(); skipOrError(")"); return(new Expr(e, null, t)); }
public Expr(Expr e1, Expr e2, EXPR_TYPE v) { Children = new List <Expr>(); Children.Add(e1); if (e2 != null) { Children.Add(e2); } type = v; }
Expr parseFuncMulti(EXPR_TYPE t, int minArgs, int maxArgs) { int args = 1; skipOrError("("); var e1 = parse(); var e = new Expr(e1, null, t); while (skip(",")) { var enext = parse(); e.Children.Add(enext); args++; } skipOrError(")"); if (args < minArgs || args > maxArgs) { err = true; } return(e); }
public Expr(EXPR_TYPE v) { type = v; }
public Expr(EXPR_TYPE v, double vv) { type = v; value = vv; }