public UnaryOperandNode VisitUnaryExpression(UnaryExpressionNode uen) { int temp = this.depth; string spaces = IncreaseDepth(); this.io.WriteLine($"{spaces}UnaryExpression: ("); uen.Left.Visit(this); this.io.WriteLine($"{spaces})"); this.depth = temp; return(new UnaryOperandNode("", SymbolType.Invalid)); }
private Expression Expression() { // <expr> ::= <opnd> <op> <opnd> | <opnd> Operand left; Expression e; left = Operand(); e = new UnaryExpressionNode(left); if (this.token.SymbolType == SymbolType.Operator || this.token.SymbolType == SymbolType.Minus) { string op = this.token.Value; this.token = this.scanner.NextToken(); Operand right = Operand(); e = new BinaryExpressionNode(left, op, right); } return(e); }
public UnaryOperandNode VisitUnaryExpression(UnaryExpressionNode uen) { return(uen.Left.Visit(this)); }