private PreFixExpression create() { Operator o = (Operator)items.Pop().Token; NumericExpression f; NumericExpression s; if (items.Peek().IsValue) { f = new NumericExpression(items.Pop().Value); } else { f = create(); } if (items.Peek().IsValue) { s = new NumericExpression(items.Pop().Value); } else { s = create(); } PreFixExpression p = new PreFixExpression(o, f, s); return(p); }
public PreFixExpression(Stack <Item> list) { this.items = list; PreFixExpression temp = create(); this.Operator = temp.Operator; this.First = temp.First; this.Second = temp.Second; }
private PreFixExpression(Operator op, NumericExpression first, NumericExpression second) { this.Operator = op; this.First = first; this.Second = second; }