} break; } case LITERAL_is: case LITERAL_isnot: { { { switch ( LA(1)) { case LITERAL_is: { org.exist.xquery.parser.XQueryAST tmp208_AST = null; tmp208_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp208_AST); match(LITERAL_is); break; } case LITERAL_isnot: { org.exist.xquery.parser.XQueryAST tmp209_AST = null; tmp209_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp209_AST); match(LITERAL_isnot); break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } rangeExpr(); astFactory.addASTChild(currentAST, returnAST); } break; } case ANDEQ: case OREQ: { { { switch ( LA(1)) { case ANDEQ: { org.exist.xquery.parser.XQueryAST tmp210_AST = null; tmp210_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp210_AST); match(ANDEQ); break; } case OREQ: { org.exist.xquery.parser.XQueryAST tmp211_AST = null; tmp211_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp211_AST); match(OREQ); break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } rangeExpr(); astFactory.addASTChild(currentAST, returnAST); } break; } case EOF: case RPAREN: case RCURLY: case COMMA: case LITERAL_empty: case LITERAL_for: case LITERAL_let: case LITERAL_where: case LITERAL_return: case LITERAL_order: case LITERAL_ascending: case LITERAL_descending: case LITERAL_satisfies: case LITERAL_else: case LITERAL_or: case LITERAL_and: case LITERAL_cast: case RPPAREN: { break; } default: boolean synPredMatched116 = false; if (((LA(1)==LT))) { int _m116 = mark(); synPredMatched116 = true;
if ( inputState.guessing==0 ) { comparisonExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;  comparisonExpr_AST = (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(2)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(BEFORE,"<<")).add(comparisonExpr_AST));  currentAST.root = comparisonExpr_AST; currentAST.child = comparisonExpr_AST!=null &&comparisonExpr_AST.getFirstChild()!=null ? comparisonExpr_AST.getFirstChild() : comparisonExpr_AST; currentAST.advanceChildToEnd(); } } else { boolean synPredMatched118 = false; if (((LA(1)==GT))) { int _m118 = mark(); synPredMatched118 = true;
	public final void comparisonExpr() throws RecognitionException, TokenStreamException {				traceIn("comparisonExpr");		try { // debugging			returnAST = null;			ASTPair currentAST = new ASTPair();			org.exist.xquery.parser.XQueryAST comparisonExpr_AST = null;						rangeExpr();			astFactory.addASTChild(currentAST, returnAST);			{			switch ( LA(1)) {			case LITERAL_eq:			case LITERAL_ne:			case LITERAL_lt:			case LITERAL_le:			case LITERAL_gt:			case LITERAL_ge:			{				{				{				switch ( LA(1)) {				case LITERAL_eq:				{					org.exist.xquery.parser.XQueryAST tmp202_AST = null;					tmp202_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp202_AST);					match(LITERAL_eq);					break;				}				case LITERAL_ne:				{					org.exist.xquery.parser.XQueryAST tmp203_AST = null;					tmp203_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp203_AST);					match(LITERAL_ne);					break;				}				case LITERAL_lt:				{					org.exist.xquery.parser.XQueryAST tmp204_AST = null;					tmp204_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp204_AST);					match(LITERAL_lt);					break;				}				case LITERAL_le:				{					org.exist.xquery.parser.XQueryAST tmp205_AST = null;					tmp205_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp205_AST);					match(LITERAL_le);					break;				}				case LITERAL_gt:				{					org.exist.xquery.parser.XQueryAST tmp206_AST = null;					tmp206_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp206_AST);					match(LITERAL_gt);					break;				}				case LITERAL_ge:				{					org.exist.xquery.parser.XQueryAST tmp207_AST = null;					tmp207_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp207_AST);					match(LITERAL_ge);					break;				}				default:				{					throw new NoViableAltException(LT(1), getFilename());				}				}				}				rangeExpr();				astFactory.addASTChild(currentAST, returnAST);				}				break;			}			case LITERAL_is:			case LITERAL_isnot:			{				{				{				switch ( LA(1)) {				case LITERAL_is:				{					org.exist.xquery.parser.XQueryAST tmp208_AST = null;					tmp208_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp208_AST);					match(LITERAL_is);					break;				}				case LITERAL_isnot:				{					org.exist.xquery.parser.XQueryAST tmp209_AST = null;					tmp209_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp209_AST);					match(LITERAL_isnot);					break;				}				default:				{					throw new NoViableAltException(LT(1), getFilename());				}				}				}				rangeExpr();				astFactory.addASTChild(currentAST, returnAST);				}				break;			}			case ANDEQ:			case OREQ:			{				{				{				switch ( LA(1)) {				case ANDEQ:				{					org.exist.xquery.parser.XQueryAST tmp210_AST = null;					tmp210_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp210_AST);					match(ANDEQ);					break;				}				case OREQ:				{					org.exist.xquery.parser.XQueryAST tmp211_AST = null;					tmp211_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));					astFactory.makeASTRoot(currentAST, tmp211_AST);					match(OREQ);					break;				}				default:				{					throw new NoViableAltException(LT(1), getFilename());				}				}				}				rangeExpr();				astFactory.addASTChild(currentAST, returnAST);				}				break;			}			case EOF:			case RPAREN:			case RCURLY:			case COMMA:			case LITERAL_empty:			case LITERAL_for:			case LITERAL_let:			case LITERAL_where:			case LITERAL_return:			case LITERAL_order:			case LITERAL_ascending:			case LITERAL_descending:			case LITERAL_satisfies:			case LITERAL_else:			case LITERAL_or:			case LITERAL_and:			case LITERAL_cast:			case RPPAREN:			{				break;			}			default:				boolean synPredMatched116 = false;				if (((LA(1)==LT))) {					int _m116 = mark();					synPredMatched116 = true;					inputState.guessing++;					try {						{						match(LT);						match(LT);						}					}					catch (RecognitionException pe) {						synPredMatched116 = false;					}					rewind(_m116);					inputState.guessing--;				}				if ( synPredMatched116 ) {					match(LT);					match(LT);					rangeExpr();					astFactory.addASTChild(currentAST, returnAST);					if ( inputState.guessing==0 ) {						comparisonExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;																comparisonExpr_AST = (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(2)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(BEFORE,"<<")).add(comparisonExpr_AST));															currentAST.root = comparisonExpr_AST;						currentAST.child = comparisonExpr_AST!=null &&comparisonExpr_AST.getFirstChild()!=null ?							comparisonExpr_AST.getFirstChild() : comparisonExpr_AST;						currentAST.advanceChildToEnd();					}				}				else {					boolean synPredMatched118 = false;					if (((LA(1)==GT))) {						int _m118 = mark();						synPredMatched118 = true;						inputState.guessing++;						try {							{							match(GT);							match(GT);							}						}						catch (RecognitionException pe) {							synPredMatched118 = false;						}						rewind(_m118);						inputState.guessing--;					}					if ( synPredMatched118 ) {						match(GT);						match(GT);						rangeExpr();						astFactory.addASTChild(currentAST, returnAST);						if ( inputState.guessing==0 ) {							comparisonExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;																		comparisonExpr_AST = (org.exist.xquery.parser.XQueryAST)astFactory.make( (new ASTArray(2)).add((org.exist.xquery.parser.XQueryAST)astFactory.create(AFTER,">>")).add(comparisonExpr_AST));																	currentAST.root = comparisonExpr_AST;							currentAST.child = comparisonExpr_AST!=null &&comparisonExpr_AST.getFirstChild()!=null ?								comparisonExpr_AST.getFirstChild() : comparisonExpr_AST;							currentAST.advanceChildToEnd();						}					}					else if ((_tokenSet_6.member(LA(1)))) {						{						{						switch ( LA(1)) {						case EQ:						{							org.exist.xquery.parser.XQueryAST tmp216_AST = null;							tmp216_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));							astFactory.makeASTRoot(currentAST, tmp216_AST);							match(EQ);							break;						}						case NEQ:						{							org.exist.xquery.parser.XQueryAST tmp217_AST = null;							tmp217_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));							astFactory.makeASTRoot(currentAST, tmp217_AST);							match(NEQ);							break;						}						case GT:						{							org.exist.xquery.parser.XQueryAST tmp218_AST = null;							tmp218_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));							astFactory.makeASTRoot(currentAST, tmp218_AST);							match(GT);							break;						}						case GTEQ:						{							org.exist.xquery.parser.XQueryAST tmp219_AST = null;							tmp219_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));							astFactory.makeASTRoot(currentAST, tmp219_AST);							match(GTEQ);							break;						}						case LT:						{							org.exist.xquery.parser.XQueryAST tmp220_AST = null;							tmp220_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));							astFactory.makeASTRoot(currentAST, tmp220_AST);							match(LT);							break;						}						case LTEQ:						{							org.exist.xquery.parser.XQueryAST tmp221_AST = null;							tmp221_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1));							astFactory.makeASTRoot(currentAST, tmp221_AST);							match(LTEQ);							break;						}						default:						{							throw new NoViableAltException(LT(1), getFilename());						}						}						}						rangeExpr();						astFactory.addASTChild(currentAST, returnAST);						}					}				else {					throw new NoViableAltException(LT(1), getFilename());				}				}}				}				comparisonExpr_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root;				returnAST = comparisonExpr_AST;			} finally { // debugging				traceOut("comparisonExpr");			}		}