Examples of ExpressionNode


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

      } else {
        disjunction = new OrExpressionNode(expression);
      }

      nextToken();
      ExpressionNode term = orTerm();
      disjunction.add(term);

      return orOperation(disjunction);
    }
View Full Code Here

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

  }

  // or_term -> and_term and_op
  private ExpressionNode orTerm() {
    // or_term -> and_term and_op
    ExpressionNode term = andTerm();
    return andOperation(term);
  }
View Full Code Here

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

      } else {
        conjunction = new AndExpressionNode(expression);
      }

      nextToken();
      ExpressionNode term = andTerm();
      conjunction.add(term);

      return andOperation(conjunction);
    }
View Full Code Here

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

  // and_term -> NOT not_term
  private ExpressionNode andTerm() {
    // and_term -> NOT not_term
    if (lookahead.tokenType == TokenTypes.NOT) {
      nextToken();
      ExpressionNode term = notTerm();
      return new NotExpressionNode(term);
    }

    // and_term -> not_term
    return notTerm();
View Full Code Here

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

  // not_term -> proposition
  private ExpressionNode notTerm() {
    // not_term -> OPEN_PARENTHESIS logical CLOSE_PARENTHESIS
    if (lookahead.tokenType == TokenTypes.OPEN_PARENTHESIS) {
      nextToken();
      ExpressionNode logicalExpression = logicalExpression();
      if (lookahead.tokenType != TokenTypes.CLOSE_PARENTHESIS) {
        throw new ParserException("Closing parenthesis expected", lookahead);
      }
      nextToken();
      return logicalExpression;
View Full Code Here

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

  }

  // proposition -> expression comp_op
  private ExpressionNode logicalProposition() {
    // proposition -> expression comp_op
    ExpressionNode expression = mathematicalExpression();
    expression = comparisonOperation(expression);
    return expression;
  }
View Full Code Here

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

  private ExpressionNode comparisonOperation(ExpressionNode leftHand) {
    // comp_op -> COMPARATOR expression comp_op
    if (lookahead.tokenType == TokenTypes.COMPARATOR) {
      String operator = lookahead.sequence;
      nextToken();
      ExpressionNode rightHand = mathematicalExpression();
      return new ComparatorExpressionNode(leftHand, rightHand, operator);
    }

    // comp_op -> EPSILON
    return leftHand;
View Full Code Here

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

  // expression -> signed_term sum_op
  private ExpressionNode mathematicalExpression() {
    // only one rule
    // expression -> signed_term sum_op
    ExpressionNode signedTerm = signedTerm();
    signedTerm = sumOperation(signedTerm);
    return signedTerm;
  }
View Full Code Here

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

      }

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

      return sumOperation(sum);
    }
View Full Code Here

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

  private ExpressionNode signedTerm() {
    // signed_term -> PLUSMINUS term
    if (lookahead.tokenType == TokenTypes.ADDITION) {
      boolean positive = lookahead.sequence.equals("+");
      nextToken();
      ExpressionNode term = term();
      if (positive) {
        return term;
      } else {
        return new AdditionExpressionNode(term, false);
      }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.