Package net.mitza.rel.parser.expression

Examples of net.mitza.rel.parser.expression.AdditionExpressionNode


  // sum_op -> PLUSMINUS term sum_op
  // sum_op -> EPSILON
  private ExpressionNode sumOperation(ExpressionNode expression) {
    // sum_op -> PLUSMINUS term sum_op
    if (lookahead.tokenType == TokenTypes.ADDITION) {
      AdditionExpressionNode sum;
      // This means we are actually dealing with a sum
      // If expr is not already a sum, we have to create one
      if (expression.getType() == TokenTypes.ADDITION) {
        sum = (AdditionExpressionNode) expression;
      } else {
        sum = new AdditionExpressionNode(expression, true);
      }

      // reduce the input and recursively call sum_op
      boolean positive = lookahead.sequence.equals("+");
      nextToken();
      ExpressionNode term = term();
      sum.add(term, positive);

      return sumOperation(sum);
    }

    // sum_op -> EPSILON
View Full Code Here


      nextToken();
      ExpressionNode term = term();
      if (positive) {
        return term;
      } else {
        return new AdditionExpressionNode(term, false);
      }
    }

    // signed_term -> term
    return term();
View Full Code Here

TOP

Related Classes of net.mitza.rel.parser.expression.AdditionExpressionNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.