final public void ComparisonExpr()

in jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/query/xpath/XPath.java [3344:3440]


  final public void ComparisonExpr() throws ParseException {
 /*@bgen(jjtree) #ComparisonExpr(> 1) */
  SimpleNode jjtn000 = new SimpleNode(this, JJTCOMPARISONEXPR);
  boolean jjtc000 = true;
  jjtree.openNodeScope(jjtn000);
    try {
      RangeExpr();
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case Equals:
      case Is:
      case NotEquals:
      case LtEquals:
      case LtLt:
      case GtEquals:
      case GtGt:
      case FortranEq:
      case FortranNe:
      case FortranGt:
      case FortranGe:
      case FortranLt:
      case FortranLe:
      case Lt:
      case Gt:
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
        case FortranEq:
        case FortranNe:
        case FortranGt:
        case FortranGe:
        case FortranLt:
        case FortranLe:
          ValueComp();
          break;
        case Equals:
        case NotEquals:
        case LtEquals:
        case GtEquals:
        case Lt:
        case Gt:
          GeneralComp();
          break;
        case Is:
        case LtLt:
        case GtGt:
          NodeComp();
          break;
        default:
          jj_la1[62] = jj_gen;
          jj_consume_token(-1);
          throw new ParseException();
        }
        RangeExpr();
                  SimpleNode jjtn001 = new SimpleNode(this, JJTCOMPARISONEXPR);
                  boolean jjtc001 = true;
                  jjtree.openNodeScope(jjtn001);
        try {
                  jjtree.closeNodeScope(jjtn001,  2);
                  jjtc001 = false;
         try
         {
                       jjtn001.processToken((Token)binaryTokenStack.pop());
         }
         catch(java.util.EmptyStackException e)
         {
           token_source.printLinePos();
           e.printStackTrace();
           {if (true) throw e;}
         }
        } finally {
                  if (jjtc001) {
                    jjtree.closeNodeScope(jjtn001,  2);
                  }
        }
        break;
      default:
        jj_la1[63] = jj_gen;
        ;
      }
    } catch (Throwable jjte000) {
    if (jjtc000) {
      jjtree.clearNodeScope(jjtn000);
      jjtc000 = false;
    } else {
      jjtree.popNode();
    }
    if (jjte000 instanceof RuntimeException) {
      {if (true) throw (RuntimeException)jjte000;}
    }
    if (jjte000 instanceof ParseException) {
      {if (true) throw (ParseException)jjte000;}
    }
    {if (true) throw (Error)jjte000;}
    } finally {
    if (jjtc000) {
      jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
    }
    }
  }