Java tutorial
/* Generated By:JavaCC: Do not edit this line. XPathParser.java */ package org.apache.commons.jxpath.ri.parser; import org.apache.commons.jxpath.ri.Compiler; import java.util.ArrayList; public class XPathParser implements XPathParserConstants { private Compiler compiler; public void setCompiler(Compiler compiler) { this.compiler = compiler; } private String unescape(String string) { int index = string.indexOf("'"); while (index != -1) { string = string.substring(0, index) + "\'" + string.substring(index + 6); index = string.indexOf("'"); } index = string.indexOf("""); while (index != -1) { string = string.substring(0, index) + "\"" + string.substring(index + 6); index = string.indexOf("""); } return string; } // Note: XPath does not have reserved words, so we have to include all these terminals final public String NCName() throws ParseException { switch (jj_nt.kind) { case OR: case AND: case MOD: case DIV: case NCName: NCName_Without_CoreFunctions(); break; case NODE: jj_consume_token(NODE); break; case TEXT: jj_consume_token(TEXT); break; case COMMENT: jj_consume_token(COMMENT); break; case PI: jj_consume_token(PI); break; case FUNCTION_LAST: jj_consume_token(FUNCTION_LAST); break; case FUNCTION_POSITION: jj_consume_token(FUNCTION_POSITION); break; case FUNCTION_COUNT: jj_consume_token(FUNCTION_COUNT); break; case FUNCTION_ID: jj_consume_token(FUNCTION_ID); break; case FUNCTION_LOCAL_NAME: jj_consume_token(FUNCTION_LOCAL_NAME); break; case FUNCTION_NAMESPACE_URI: jj_consume_token(FUNCTION_NAMESPACE_URI); break; case FUNCTION_NAME: jj_consume_token(FUNCTION_NAME); break; case FUNCTION_STRING: jj_consume_token(FUNCTION_STRING); break; case FUNCTION_CONCAT: jj_consume_token(FUNCTION_CONCAT); break; case FUNCTION_STARTS_WITH: jj_consume_token(FUNCTION_STARTS_WITH); break; case FUNCTION_CONTAINS: jj_consume_token(FUNCTION_CONTAINS); break; case FUNCTION_SUBSTRING_BEFORE: jj_consume_token(FUNCTION_SUBSTRING_BEFORE); break; case FUNCTION_SUBSTRING_AFTER: jj_consume_token(FUNCTION_SUBSTRING_AFTER); break; case FUNCTION_SUBSTRING: jj_consume_token(FUNCTION_SUBSTRING); break; case FUNCTION_STRING_LENGTH: jj_consume_token(FUNCTION_STRING_LENGTH); break; case FUNCTION_NORMALIZE_SPACE: jj_consume_token(FUNCTION_NORMALIZE_SPACE); break; case FUNCTION_TRANSLATE: jj_consume_token(FUNCTION_TRANSLATE); break; case FUNCTION_BOOLEAN: jj_consume_token(FUNCTION_BOOLEAN); break; case FUNCTION_NOT: jj_consume_token(FUNCTION_NOT); break; case FUNCTION_TRUE: jj_consume_token(FUNCTION_TRUE); break; case FUNCTION_FALSE: jj_consume_token(FUNCTION_FALSE); break; case FUNCTION_NULL: jj_consume_token(FUNCTION_NULL); break; case FUNCTION_LANG: jj_consume_token(FUNCTION_LANG); break; case FUNCTION_NUMBER: jj_consume_token(FUNCTION_NUMBER); break; case FUNCTION_SUM: jj_consume_token(FUNCTION_SUM); break; case FUNCTION_FLOOR: jj_consume_token(FUNCTION_FLOOR); break; case FUNCTION_CEILING: jj_consume_token(FUNCTION_CEILING); break; case FUNCTION_ROUND: jj_consume_token(FUNCTION_ROUND); break; case FUNCTION_KEY: jj_consume_token(FUNCTION_KEY); break; case FUNCTION_FORMAT_NUMBER: jj_consume_token(FUNCTION_FORMAT_NUMBER); break; default: jj_la1[0] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { if (true) return token.image; } throw new Error("Missing return statement in function"); } final public String NCName_Without_CoreFunctions() throws ParseException { switch (jj_nt.kind) { case NCName: jj_consume_token(NCName); break; case OR: jj_consume_token(OR); break; case AND: jj_consume_token(AND); break; case MOD: jj_consume_token(MOD); break; case DIV: jj_consume_token(DIV); break; default: jj_la1[1] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { if (true) return token.image; } throw new Error("Missing return statement in function"); } final public int CoreFunctionName() throws ParseException { int code; switch (jj_nt.kind) { case FUNCTION_LAST: jj_consume_token(FUNCTION_LAST); code = Compiler.FUNCTION_LAST; break; case FUNCTION_POSITION: jj_consume_token(FUNCTION_POSITION); code = Compiler.FUNCTION_POSITION; break; case FUNCTION_COUNT: jj_consume_token(FUNCTION_COUNT); code = Compiler.FUNCTION_COUNT; break; case FUNCTION_ID: jj_consume_token(FUNCTION_ID); code = Compiler.FUNCTION_ID; break; case FUNCTION_LOCAL_NAME: jj_consume_token(FUNCTION_LOCAL_NAME); code = Compiler.FUNCTION_LOCAL_NAME; break; case FUNCTION_NAMESPACE_URI: jj_consume_token(FUNCTION_NAMESPACE_URI); code = Compiler.FUNCTION_NAMESPACE_URI; break; case FUNCTION_NAME: jj_consume_token(FUNCTION_NAME); code = Compiler.FUNCTION_NAME; break; case FUNCTION_STRING: jj_consume_token(FUNCTION_STRING); code = Compiler.FUNCTION_STRING; break; case FUNCTION_CONCAT: jj_consume_token(FUNCTION_CONCAT); code = Compiler.FUNCTION_CONCAT; break; case FUNCTION_STARTS_WITH: jj_consume_token(FUNCTION_STARTS_WITH); code = Compiler.FUNCTION_STARTS_WITH; break; case FUNCTION_CONTAINS: jj_consume_token(FUNCTION_CONTAINS); code = Compiler.FUNCTION_CONTAINS; break; case FUNCTION_SUBSTRING_BEFORE: jj_consume_token(FUNCTION_SUBSTRING_BEFORE); code = Compiler.FUNCTION_SUBSTRING_BEFORE; break; case FUNCTION_SUBSTRING_AFTER: jj_consume_token(FUNCTION_SUBSTRING_AFTER); code = Compiler.FUNCTION_SUBSTRING_AFTER; break; case FUNCTION_SUBSTRING: jj_consume_token(FUNCTION_SUBSTRING); code = Compiler.FUNCTION_SUBSTRING; break; case FUNCTION_STRING_LENGTH: jj_consume_token(FUNCTION_STRING_LENGTH); code = Compiler.FUNCTION_STRING_LENGTH; break; case FUNCTION_NORMALIZE_SPACE: jj_consume_token(FUNCTION_NORMALIZE_SPACE); code = Compiler.FUNCTION_NORMALIZE_SPACE; break; case FUNCTION_TRANSLATE: jj_consume_token(FUNCTION_TRANSLATE); code = Compiler.FUNCTION_TRANSLATE; break; case FUNCTION_BOOLEAN: jj_consume_token(FUNCTION_BOOLEAN); code = Compiler.FUNCTION_BOOLEAN; break; case FUNCTION_NOT: jj_consume_token(FUNCTION_NOT); code = Compiler.FUNCTION_NOT; break; case FUNCTION_TRUE: jj_consume_token(FUNCTION_TRUE); code = Compiler.FUNCTION_TRUE; break; case FUNCTION_FALSE: jj_consume_token(FUNCTION_FALSE); code = Compiler.FUNCTION_FALSE; break; case FUNCTION_NULL: jj_consume_token(FUNCTION_NULL); code = Compiler.FUNCTION_NULL; break; case FUNCTION_LANG: jj_consume_token(FUNCTION_LANG); code = Compiler.FUNCTION_LANG; break; case FUNCTION_NUMBER: jj_consume_token(FUNCTION_NUMBER); code = Compiler.FUNCTION_NUMBER; break; case FUNCTION_SUM: jj_consume_token(FUNCTION_SUM); code = Compiler.FUNCTION_SUM; break; case FUNCTION_FLOOR: jj_consume_token(FUNCTION_FLOOR); code = Compiler.FUNCTION_FLOOR; break; case FUNCTION_CEILING: jj_consume_token(FUNCTION_CEILING); code = Compiler.FUNCTION_CEILING; break; case FUNCTION_ROUND: jj_consume_token(FUNCTION_ROUND); code = Compiler.FUNCTION_ROUND; break; case FUNCTION_KEY: jj_consume_token(FUNCTION_KEY); code = Compiler.FUNCTION_KEY; break; case FUNCTION_FORMAT_NUMBER: jj_consume_token(FUNCTION_FORMAT_NUMBER); code = Compiler.FUNCTION_FORMAT_NUMBER; break; default: jj_la1[2] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { if (true) return code; } throw new Error("Missing return statement in function"); } final public Object QName() throws ParseException { String nc1, nc2 = null; nc1 = NCName(); switch (jj_nt.kind) { case 79: jj_consume_token(79); nc2 = NCName(); break; default: jj_la1[3] = jj_gen; ; } if (nc2 == null) { { if (true) return compiler.qname(null, nc1); } } else { { if (true) return compiler.qname(nc1, nc2); } } throw new Error("Missing return statement in function"); } final public Object QName_Without_CoreFunctions() throws ParseException { String nc1, nc2 = null; if (jj_2_1(2147483647)) { nc1 = NCName(); jj_consume_token(79); nc2 = NCName(); } else { switch (jj_nt.kind) { case OR: case AND: case MOD: case DIV: case NCName: nc1 = NCName_Without_CoreFunctions(); break; default: jj_la1[4] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } if (nc2 == null) { { if (true) return compiler.qname(null, nc1); } } else { { if (true) return compiler.qname(nc1, nc2); } } throw new Error("Missing return statement in function"); } final public Object parseExpression() throws ParseException { Object ex; ex = Expression(); jj_consume_token(0); { if (true) return ex; } throw new Error("Missing return statement in function"); } /* ################################################################################### */ /* XSLT Patterns (http://www.w3.org/1999/08/WD-xslt-19990813) */ /* ################################################################################### */ /* [XSLT1] Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern */ //void Pattern() : //{} //{ // LocationPathPattern() ( <UNION> LocationPathPattern() )* <EOF> //} // // ///* [XSLT2] LocationPathPattern ::= // '/' RelativePathPattern? | IdKeyPattern (('/' | '//' RelativePathPattern)? | '//'? RelativePathPattern //*/ // //void LocationPathPattern() : //{} //{ // <SLASH> ( RelativePathPattern() )? // | ( // LOOKAHEAD(IdKeyPattern()) // IdKeyPattern() ( ( <SLASH> | <SLASHSLASH>) RelativePathPattern() )? // | ( <SLASHSLASH> )? RelativePathPattern() // ) //} // // // ///* [XSLT3] IdKeyPattern ::= 'id' '(' Literal ')' | 'key' '(' Literal ',' Literal ')' */ // //void IdKeyPattern() : //{} //{ // <ID> "(" <Literal> ")" // | <KEY> "(" <Literal> "," <Literal> ")" //} // // ///* [XSLT4] RelativePathPattern ::= StepPattern | RelativePathPattern '/' StepPattern // | RelativePathPattern '//' StepPattern //*/ //void RelativePathPattern() : //{} //{ // StepPattern() ( ( <SLASH>| <SLASHSLASH> ) StepPattern() )* //} // // ///* [XSLT5] StepPattern ::= AbbreviatedAxisSpecifier NodeTest Predicate* */ //void StepPattern() : //{} //{ // AbbreviatedAxisSpecifier() NodeTest() (Predicate())* //} // See XPath Syntax (http://www.w3.org/TR/xpath ) //void XPath() : //{} //{ // LocationPath() // <EOF> //} /* [1] LocationPath ::= RelativeLocationPath | AbsoluteLocationPath */ final public Object LocationPath() throws ParseException { Object ex = null; switch (jj_nt.kind) { case OR: case AND: case MOD: case DIV: case NODE: case TEXT: case COMMENT: case PI: case AXIS_SELF: case AXIS_CHILD: case AXIS_PARENT: case AXIS_ANCESTOR: case AXIS_ATTRIBUTE: case AXIS_NAMESPACE: case AXIS_PRECEDING: case AXIS_FOLLOWING: case AXIS_DESCENDANT: case AXIS_ANCESTOR_OR_SELF: case AXIS_FOLLOWING_SIBLING: case AXIS_PRECEDING_SIBLING: case AXIS_DESCENDANT_OR_SELF: case FUNCTION_LAST: case FUNCTION_POSITION: case FUNCTION_COUNT: case FUNCTION_ID: case FUNCTION_KEY: case FUNCTION_LOCAL_NAME: case FUNCTION_NAMESPACE_URI: case FUNCTION_NAME: case FUNCTION_STRING: case FUNCTION_CONCAT: case FUNCTION_STARTS_WITH: case FUNCTION_CONTAINS: case FUNCTION_SUBSTRING_BEFORE: case FUNCTION_SUBSTRING_AFTER: case FUNCTION_SUBSTRING: case FUNCTION_STRING_LENGTH: case FUNCTION_NORMALIZE_SPACE: case FUNCTION_TRANSLATE: case FUNCTION_BOOLEAN: case FUNCTION_NOT: case FUNCTION_TRUE: case FUNCTION_FALSE: case FUNCTION_NULL: case FUNCTION_LANG: case FUNCTION_NUMBER: case FUNCTION_SUM: case FUNCTION_FLOOR: case FUNCTION_CEILING: case FUNCTION_ROUND: case FUNCTION_FORMAT_NUMBER: case NCName: case 82: case 83: case 86: case 88: ex = RelativeLocationPath(); break; case SLASH: case SLASHSLASH: ex = AbsoluteLocationPath(); break; default: jj_la1[5] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [2] AbsoluteLocationPath ::= '/' RelativeLocationPath? | AbbreviatedAbsoluteLocationPath */ /* [10] AbbreviatedAbsoluteLocationPath ::= '//' RelativeLocationPath */ final public Object AbsoluteLocationPath() throws ParseException { ArrayList steps = new ArrayList(); if (jj_2_2(2147483647)) { LocationStep(steps); label_1: while (true) { switch (jj_nt.kind) { case SLASH: case SLASHSLASH: ; break; default: jj_la1[6] = jj_gen; break label_1; } LocationStep(steps); } } else { switch (jj_nt.kind) { case SLASH: jj_consume_token(SLASH); break; default: jj_la1[7] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } { if (true) return compiler.locationPath(true, steps.toArray()); } throw new Error("Missing return statement in function"); } /* [3] RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath */ final public Object RelativeLocationPath() throws ParseException { ArrayList steps = new ArrayList(); NodeTest(steps); label_2: while (true) { switch (jj_nt.kind) { case SLASH: case SLASHSLASH: ; break; default: jj_la1[8] = jj_gen; break label_2; } LocationStep(steps); } { if (true) return compiler.locationPath(false, steps.toArray()); } throw new Error("Missing return statement in function"); } /* [3] RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath */ /* [11] AbbreviatedRelativeLocationPath ::= RelativeLocationPath '//' Step */ /*--------------------*/ /* 2.1 Location Steps */ /*--------------------*/ /* [4] Step ::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep */ final public void LocationStep(ArrayList steps) throws ParseException { Object t; Object s; switch (jj_nt.kind) { case SLASH: jj_consume_token(SLASH); break; case SLASHSLASH: jj_consume_token(SLASHSLASH); // Abbreviated step: descendant-or-self::node() t = compiler.nodeTypeTest(Compiler.NODE_TYPE_NODE); steps.add(compiler.step(Compiler.AXIS_DESCENDANT_OR_SELF, t, null)); break; default: jj_la1[9] = jj_gen; jj_consume_token(-1); throw new ParseException(); } NodeTest(steps); } /* [7] NodeTest ::= WildcardName | NodeType '(' ')' | 'processing-instruction' '(' Literal ')' */ final public void NodeTest(ArrayList steps) throws ParseException { int axis; int type = -1; String instruction = null; Object name = null; Object s; Object p; ArrayList ps = new ArrayList(); switch (jj_nt.kind) { case OR: case AND: case MOD: case DIV: case NODE: case TEXT: case COMMENT: case PI: case AXIS_SELF: case AXIS_CHILD: case AXIS_PARENT: case AXIS_ANCESTOR: case AXIS_ATTRIBUTE: case AXIS_NAMESPACE: case AXIS_PRECEDING: case AXIS_FOLLOWING: case AXIS_DESCENDANT: case AXIS_ANCESTOR_OR_SELF: case AXIS_FOLLOWING_SIBLING: case AXIS_PRECEDING_SIBLING: case AXIS_DESCENDANT_OR_SELF: case FUNCTION_LAST: case FUNCTION_POSITION: case FUNCTION_COUNT: case FUNCTION_ID: case FUNCTION_KEY: case FUNCTION_LOCAL_NAME: case FUNCTION_NAMESPACE_URI: case FUNCTION_NAME: case FUNCTION_STRING: case FUNCTION_CONCAT: case FUNCTION_STARTS_WITH: case FUNCTION_CONTAINS: case FUNCTION_SUBSTRING_BEFORE: case FUNCTION_SUBSTRING_AFTER: case FUNCTION_SUBSTRING: case FUNCTION_STRING_LENGTH: case FUNCTION_NORMALIZE_SPACE: case FUNCTION_TRANSLATE: case FUNCTION_BOOLEAN: case FUNCTION_NOT: case FUNCTION_TRUE: case FUNCTION_FALSE: case FUNCTION_NULL: case FUNCTION_LANG: case FUNCTION_NUMBER: case FUNCTION_SUM: case FUNCTION_FLOOR: case FUNCTION_CEILING: case FUNCTION_ROUND: case FUNCTION_FORMAT_NUMBER: case NCName: case 86: case 88: axis = AxisSpecifier(); if (jj_2_3(2147483647)) { type = NodeType(); jj_consume_token(80); jj_consume_token(81); } else if (jj_2_4(2147483647)) { jj_consume_token(PI); jj_consume_token(80); jj_consume_token(Literal); instruction = unescape(token.image.substring(1, token.image.length() - 1)); jj_consume_token(81); } else { switch (jj_nt.kind) { case OR: case AND: case MOD: case DIV: case NODE: case TEXT: case COMMENT: case PI: case FUNCTION_LAST: case FUNCTION_POSITION: case FUNCTION_COUNT: case FUNCTION_ID: case FUNCTION_KEY: case FUNCTION_LOCAL_NAME: case FUNCTION_NAMESPACE_URI: case FUNCTION_NAME: case FUNCTION_STRING: case FUNCTION_CONCAT: case FUNCTION_STARTS_WITH: case FUNCTION_CONTAINS: case FUNCTION_SUBSTRING_BEFORE: case FUNCTION_SUBSTRING_AFTER: case FUNCTION_SUBSTRING: case FUNCTION_STRING_LENGTH: case FUNCTION_NORMALIZE_SPACE: case FUNCTION_TRANSLATE: case FUNCTION_BOOLEAN: case FUNCTION_NOT: case FUNCTION_TRUE: case FUNCTION_FALSE: case FUNCTION_NULL: case FUNCTION_LANG: case FUNCTION_NUMBER: case FUNCTION_SUM: case FUNCTION_FLOOR: case FUNCTION_CEILING: case FUNCTION_ROUND: case FUNCTION_FORMAT_NUMBER: case NCName: case 88: name = WildcardName(); break; default: jj_la1[10] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } break; case 82: jj_consume_token(82); axis = Compiler.AXIS_SELF; type = Compiler.NODE_TYPE_NODE; break; case 83: jj_consume_token(83); axis = Compiler.AXIS_PARENT; type = Compiler.NODE_TYPE_NODE; break; default: jj_la1[11] = jj_gen; jj_consume_token(-1); throw new ParseException(); } label_3: while (true) { switch (jj_nt.kind) { case 84: ; break; default: jj_la1[12] = jj_gen; break label_3; } p = Predicate(); ps.add(p); } if (name != null) { s = compiler.nodeNameTest(name); } else if (instruction != null) { s = compiler.processingInstructionTest(instruction); } else { s = compiler.nodeTypeTest(type); } steps.add(compiler.step(axis, s, ps.toArray())); } /* [5] AxisSpecifier ::= AxisName '::' | AbbreviatedAxisSpecifier */ final public int AxisSpecifier() throws ParseException { int axis; switch (jj_nt.kind) { case AXIS_SELF: case AXIS_CHILD: case AXIS_PARENT: case AXIS_ANCESTOR: case AXIS_ATTRIBUTE: case AXIS_NAMESPACE: case AXIS_PRECEDING: case AXIS_FOLLOWING: case AXIS_DESCENDANT: case AXIS_ANCESTOR_OR_SELF: case AXIS_FOLLOWING_SIBLING: case AXIS_PRECEDING_SIBLING: case AXIS_DESCENDANT_OR_SELF: axis = AxisName(); break; default: jj_la1[13] = jj_gen; axis = AbbreviatedAxisSpecifier(); } { if (true) return axis; } throw new Error("Missing return statement in function"); } /*----------*/ /* 2.2 Axes */ /*----------*/ /* [6] AxisName ::= 'ancestor' | 'ancestor-or-self' | 'attribute' | 'child' | 'descendant' | 'descendant-or-self' | 'following' | 'following-sibling' | 'namespace' | 'parent' | 'preceding' | 'preceding-sibling' | 'self' */ final public int AxisName() throws ParseException { int axis = 0; switch (jj_nt.kind) { case AXIS_SELF: jj_consume_token(AXIS_SELF); axis = Compiler.AXIS_SELF; break; case AXIS_CHILD: jj_consume_token(AXIS_CHILD); axis = Compiler.AXIS_CHILD; break; case AXIS_PARENT: jj_consume_token(AXIS_PARENT); axis = Compiler.AXIS_PARENT; break; case AXIS_ANCESTOR: jj_consume_token(AXIS_ANCESTOR); axis = Compiler.AXIS_ANCESTOR; break; case AXIS_ATTRIBUTE: jj_consume_token(AXIS_ATTRIBUTE); axis = Compiler.AXIS_ATTRIBUTE; break; case AXIS_NAMESPACE: jj_consume_token(AXIS_NAMESPACE); axis = Compiler.AXIS_NAMESPACE; break; case AXIS_PRECEDING: jj_consume_token(AXIS_PRECEDING); axis = Compiler.AXIS_PRECEDING; break; case AXIS_FOLLOWING: jj_consume_token(AXIS_FOLLOWING); axis = Compiler.AXIS_FOLLOWING; break; case AXIS_DESCENDANT: jj_consume_token(AXIS_DESCENDANT); axis = Compiler.AXIS_DESCENDANT; break; case AXIS_ANCESTOR_OR_SELF: jj_consume_token(AXIS_ANCESTOR_OR_SELF); axis = Compiler.AXIS_ANCESTOR_OR_SELF; break; case AXIS_FOLLOWING_SIBLING: jj_consume_token(AXIS_FOLLOWING_SIBLING); axis = Compiler.AXIS_FOLLOWING_SIBLING; break; case AXIS_PRECEDING_SIBLING: jj_consume_token(AXIS_PRECEDING_SIBLING); axis = Compiler.AXIS_PRECEDING_SIBLING; break; case AXIS_DESCENDANT_OR_SELF: jj_consume_token(AXIS_DESCENDANT_OR_SELF); axis = Compiler.AXIS_DESCENDANT_OR_SELF; break; default: jj_la1[14] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { if (true) return axis; } throw new Error("Missing return statement in function"); } /*----------------*/ /* 2.3 Node Tests */ /*----------------*/ /*----------------*/ /* 2.4 Predicates */ /*----------------*/ /* [8] Predicate ::= '[' PredicateExpr ']' */ /* [9] PredicateExpr ::= Expr */ final public Object Predicate() throws ParseException { Object ex; jj_consume_token(84); ex = Expression(); jj_consume_token(85); { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [12] AbbreviatedStep ::= '.' | '..' */ /* [13] AbbreviatedAxisSpecifier ::= '@'? */ final public int AbbreviatedAxisSpecifier() throws ParseException { int axis = Compiler.AXIS_CHILD; switch (jj_nt.kind) { case 86: jj_consume_token(86); axis = Compiler.AXIS_ATTRIBUTE; break; default: jj_la1[15] = jj_gen; ; } { if (true) return axis; } throw new Error("Missing return statement in function"); } /*---------------*/ /* 3 Expressions */ /*---------------*/ /*------------*/ /* 3.1 Basics */ /*------------*/ /* The effect of the grammar is that the order of precedence is (lowest precedence first): or and =, != <=, <, >=, > and all operators are left associative. For example, 3 > 2 > 1 is equivalent to (3 > 2) > 1, which evaluates to false. */ /* [14] Expr ::= OrExpr */ final public Object Expression() throws ParseException { Object ex; ex = OrExpr(); { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [15] PrimaryExpr ::= VariableReference | '(' Expr ')' | Literal | Number | FunctionCall */ final public Object PrimaryExpr() throws ParseException { Object ex = null; switch (jj_nt.kind) { case VARIABLE: ex = VariableReference(); break; case 80: jj_consume_token(80); ex = Expression(); jj_consume_token(81); break; case Literal: jj_consume_token(Literal); ex = compiler.literal(unescape(token.image.substring(1, token.image.length() - 1))); break; case Number: jj_consume_token(Number); ex = compiler.number(token.image); break; default: jj_la1[16] = jj_gen; if (jj_2_5(2147483647)) { ex = CoreFunctionCall(); } else { switch (jj_nt.kind) { case OR: case AND: case MOD: case DIV: case NODE: case TEXT: case COMMENT: case PI: case FUNCTION_LAST: case FUNCTION_POSITION: case FUNCTION_COUNT: case FUNCTION_ID: case FUNCTION_KEY: case FUNCTION_LOCAL_NAME: case FUNCTION_NAMESPACE_URI: case FUNCTION_NAME: case FUNCTION_STRING: case FUNCTION_CONCAT: case FUNCTION_STARTS_WITH: case FUNCTION_CONTAINS: case FUNCTION_SUBSTRING_BEFORE: case FUNCTION_SUBSTRING_AFTER: case FUNCTION_SUBSTRING: case FUNCTION_STRING_LENGTH: case FUNCTION_NORMALIZE_SPACE: case FUNCTION_TRANSLATE: case FUNCTION_BOOLEAN: case FUNCTION_NOT: case FUNCTION_TRUE: case FUNCTION_FALSE: case FUNCTION_NULL: case FUNCTION_LANG: case FUNCTION_NUMBER: case FUNCTION_SUM: case FUNCTION_FLOOR: case FUNCTION_CEILING: case FUNCTION_ROUND: case FUNCTION_FORMAT_NUMBER: case NCName: ex = FunctionCall(); break; default: jj_la1[17] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } } { if (true) return ex; } throw new Error("Missing return statement in function"); } /*--------------------*/ /* 3.2 Function Calls */ /*--------------------*/ /* [16] FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument)*)? ')' */ final public Object FunctionCall() throws ParseException { Object name; ArrayList args; name = FunctionName(); args = ArgumentList(); if (args == null) { { if (true) return compiler.function(name, null); } } else { { if (true) return compiler.function(name, args.toArray()); } } throw new Error("Missing return statement in function"); } final public Object CoreFunctionCall() throws ParseException { int code = 0; ArrayList args; code = CoreFunctionName(); args = ArgumentList(); if (args == null) { { if (true) return compiler.function(code, null); } } else { { if (true) return compiler.function(code, args.toArray()); } } throw new Error("Missing return statement in function"); } final public ArrayList ArgumentList() throws ParseException { ArrayList args = null; Object arg; jj_consume_token(80); switch (jj_nt.kind) { case SLASH: case SLASHSLASH: case MINUS: case VARIABLE: case Literal: case Number: case OR: case AND: case MOD: case DIV: case NODE: case TEXT: case COMMENT: case PI: case AXIS_SELF: case AXIS_CHILD: case AXIS_PARENT: case AXIS_ANCESTOR: case AXIS_ATTRIBUTE: case AXIS_NAMESPACE: case AXIS_PRECEDING: case AXIS_FOLLOWING: case AXIS_DESCENDANT: case AXIS_ANCESTOR_OR_SELF: case AXIS_FOLLOWING_SIBLING: case AXIS_PRECEDING_SIBLING: case AXIS_DESCENDANT_OR_SELF: case FUNCTION_LAST: case FUNCTION_POSITION: case FUNCTION_COUNT: case FUNCTION_ID: case FUNCTION_KEY: case FUNCTION_LOCAL_NAME: case FUNCTION_NAMESPACE_URI: case FUNCTION_NAME: case FUNCTION_STRING: case FUNCTION_CONCAT: case FUNCTION_STARTS_WITH: case FUNCTION_CONTAINS: case FUNCTION_SUBSTRING_BEFORE: case FUNCTION_SUBSTRING_AFTER: case FUNCTION_SUBSTRING: case FUNCTION_STRING_LENGTH: case FUNCTION_NORMALIZE_SPACE: case FUNCTION_TRANSLATE: case FUNCTION_BOOLEAN: case FUNCTION_NOT: case FUNCTION_TRUE: case FUNCTION_FALSE: case FUNCTION_NULL: case FUNCTION_LANG: case FUNCTION_NUMBER: case FUNCTION_SUM: case FUNCTION_FLOOR: case FUNCTION_CEILING: case FUNCTION_ROUND: case FUNCTION_FORMAT_NUMBER: case NCName: case 80: case 82: case 83: case 86: case 88: arg = Argument(); args = new ArrayList(); args.add(arg); label_4: while (true) { switch (jj_nt.kind) { case 87: ; break; default: jj_la1[18] = jj_gen; break label_4; } jj_consume_token(87); arg = Argument(); args.add(arg); } break; default: jj_la1[19] = jj_gen; ; } jj_consume_token(81); { if (true) return args; } throw new Error("Missing return statement in function"); } /* [17] Argument ::= Expr */ final public Object Argument() throws ParseException { Object ex; ex = Expression(); { if (true) return ex; } throw new Error("Missing return statement in function"); } /*---------------*/ /* 3.3 Node-sets */ /*---------------*/ /* [18] UnionExpr ::= PathExpr | UnionExpr '|' PathExpr */ final public Object UnionExpr() throws ParseException { Object ex, r; ArrayList list = null; ex = PathExpr(); label_5: while (true) { switch (jj_nt.kind) { case UNION: ; break; default: jj_la1[20] = jj_gen; break label_5; } jj_consume_token(UNION); r = PathExpr(); if (list == null) { list = new ArrayList(); list.add(ex); } list.add(r); } if (list != null) { ex = compiler.union(list.toArray()); } { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [19] PathExpr ::= LocationPath | FilterExpr | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath */ final public Object PathExpr() throws ParseException { Object ex = null; Object[] steps; if (jj_2_6(2147483647)) { ex = FilterExpr(); } else { switch (jj_nt.kind) { case SLASH: case SLASHSLASH: case OR: case AND: case MOD: case DIV: case NODE: case TEXT: case COMMENT: case PI: case AXIS_SELF: case AXIS_CHILD: case AXIS_PARENT: case AXIS_ANCESTOR: case AXIS_ATTRIBUTE: case AXIS_NAMESPACE: case AXIS_PRECEDING: case AXIS_FOLLOWING: case AXIS_DESCENDANT: case AXIS_ANCESTOR_OR_SELF: case AXIS_FOLLOWING_SIBLING: case AXIS_PRECEDING_SIBLING: case AXIS_DESCENDANT_OR_SELF: case FUNCTION_LAST: case FUNCTION_POSITION: case FUNCTION_COUNT: case FUNCTION_ID: case FUNCTION_KEY: case FUNCTION_LOCAL_NAME: case FUNCTION_NAMESPACE_URI: case FUNCTION_NAME: case FUNCTION_STRING: case FUNCTION_CONCAT: case FUNCTION_STARTS_WITH: case FUNCTION_CONTAINS: case FUNCTION_SUBSTRING_BEFORE: case FUNCTION_SUBSTRING_AFTER: case FUNCTION_SUBSTRING: case FUNCTION_STRING_LENGTH: case FUNCTION_NORMALIZE_SPACE: case FUNCTION_TRANSLATE: case FUNCTION_BOOLEAN: case FUNCTION_NOT: case FUNCTION_TRUE: case FUNCTION_FALSE: case FUNCTION_NULL: case FUNCTION_LANG: case FUNCTION_NUMBER: case FUNCTION_SUM: case FUNCTION_FLOOR: case FUNCTION_CEILING: case FUNCTION_ROUND: case FUNCTION_FORMAT_NUMBER: case NCName: case 82: case 83: case 86: case 88: ex = LocationPath(); break; default: jj_la1[21] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [20] FilterExpr ::= PrimaryExpr | FilterExpr Predicate */ final public Object FilterExpr() throws ParseException { Object ex, p; ArrayList ps = new ArrayList(); boolean path = false; ArrayList steps = new ArrayList(); ex = PrimaryExpr(); label_6: while (true) { switch (jj_nt.kind) { case 84: ; break; default: jj_la1[22] = jj_gen; break label_6; } p = Predicate(); path = true; ps.add(p); } label_7: while (true) { switch (jj_nt.kind) { case SLASH: case SLASHSLASH: ; break; default: jj_la1[23] = jj_gen; break label_7; } LocationStep(steps); path = true; } if (path) { { if (true) return compiler.expressionPath(ex, ps.toArray(), steps.toArray()); } } else { { if (true) return ex; } } throw new Error("Missing return statement in function"); } /*--------------*/ /* 3.4 Booleans */ /*--------------*/ /* [21] OrExpr ::= AndExpr | OrExpr 'or' AndExpr */ final public Object OrExpr() throws ParseException { Object ex, r; ArrayList list = null; ex = AndExpr(); label_8: while (true) { switch (jj_nt.kind) { case OR: ; break; default: jj_la1[24] = jj_gen; break label_8; } jj_consume_token(OR); r = AndExpr(); if (list == null) { list = new ArrayList(); list.add(ex); } list.add(r); } if (list != null) { ex = compiler.or(list.toArray()); } { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [22] AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr */ final public Object AndExpr() throws ParseException { Object ex, r; ArrayList list = null; ex = EqualityExpr(); label_9: while (true) { switch (jj_nt.kind) { case AND: ; break; default: jj_la1[25] = jj_gen; break label_9; } jj_consume_token(AND); r = EqualityExpr(); if (list == null) { list = new ArrayList(); list.add(ex); } list.add(r); } if (list != null) { ex = compiler.and(list.toArray()); } { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [23] EqualityExpr ::= RelationalExpr | EqualityExpr '=' RelationalExpr | EqualityExpr '!=' RelationalExpr */ final public Object EqualityExpr() throws ParseException { Object ex, r; ex = RelationalExpr(); label_10: while (true) { switch (jj_nt.kind) { case EQ: case NEQ: ; break; default: jj_la1[26] = jj_gen; break label_10; } switch (jj_nt.kind) { case EQ: jj_consume_token(EQ); r = RelationalExpr(); ex = compiler.equal(ex, r); break; case NEQ: jj_consume_token(NEQ); r = RelationalExpr(); ex = compiler.notEqual(ex, r); break; default: jj_la1[27] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [24] RelationalExpr ::= AdditiveExpr | RelationalExpr '<' AdditiveExpr | RelationalExpr '>' AdditiveExpr | RelationalExpr '<=' AdditiveExpr | RelationalExpr '>=' AdditiveExpr */ final public Object RelationalExpr() throws ParseException { Object ex, r; ex = AdditiveExpr(); label_11: while (true) { switch (jj_nt.kind) { case LT: case LTE: case GT: case GTE: ; break; default: jj_la1[28] = jj_gen; break label_11; } switch (jj_nt.kind) { case LT: jj_consume_token(LT); r = AdditiveExpr(); ex = compiler.lessThan(ex, r); break; case GT: jj_consume_token(GT); r = AdditiveExpr(); ex = compiler.greaterThan(ex, r); break; case LTE: jj_consume_token(LTE); r = AdditiveExpr(); ex = compiler.lessThanOrEqual(ex, r); break; case GTE: jj_consume_token(GTE); r = AdditiveExpr(); ex = compiler.greaterThanOrEqual(ex, r); break; default: jj_la1[29] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } { if (true) return ex; } throw new Error("Missing return statement in function"); } /*-------------*/ /* 3.5 Numbers */ /*-------------*/ /* [25] AdditiveExpr ::= MultiplicativeExpr | AdditiveExpr '+' MultiplicativeExpr | AdditiveExpr '-' MultiplicativeExpr */ final public Object AdditiveExpr() throws ParseException { Object ex, r; ArrayList list = null; ex = SubtractiveExpr(); label_12: while (true) { switch (jj_nt.kind) { case PLUS: ; break; default: jj_la1[30] = jj_gen; break label_12; } jj_consume_token(PLUS); r = SubtractiveExpr(); if (list == null) { list = new ArrayList(); list.add(ex); } list.add(r); } if (list != null) { ex = compiler.sum(list.toArray()); } { if (true) return ex; } throw new Error("Missing return statement in function"); } final public Object SubtractiveExpr() throws ParseException { Object ex, r = null; ex = MultiplicativeExpr(); label_13: while (true) { switch (jj_nt.kind) { case MINUS: ; break; default: jj_la1[31] = jj_gen; break label_13; } jj_consume_token(MINUS); r = MultiplicativeExpr(); ex = compiler.minus(ex, r); } { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [26] MultiplicativeExpr ::= UnaryExpr | MultiplicativeExpr MultiplyOperator UnaryExpr | MultiplicativeExpr 'div' UnaryExpr | MultiplicativeExpr 'mod' UnaryExpr */ final public Object MultiplicativeExpr() throws ParseException { Object ex, r; ex = UnaryExpr(); label_14: while (true) { switch (jj_nt.kind) { case MOD: case DIV: case 88: ; break; default: jj_la1[32] = jj_gen; break label_14; } switch (jj_nt.kind) { case 88: jj_consume_token(88); r = UnaryExpr(); ex = compiler.multiply(ex, r); break; case DIV: jj_consume_token(DIV); r = UnaryExpr(); ex = compiler.divide(ex, r); break; case MOD: jj_consume_token(MOD); r = UnaryExpr(); ex = compiler.mod(ex, r); break; default: jj_la1[33] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } { if (true) return ex; } throw new Error("Missing return statement in function"); } /* [27] UnaryExpr ::= UnionExpr | '-' UnaryExpr */ final public Object UnaryExpr() throws ParseException { Object ex; switch (jj_nt.kind) { case SLASH: case SLASHSLASH: case VARIABLE: case Literal: case Number: case OR: case AND: case MOD: case DIV: case NODE: case TEXT: case COMMENT: case PI: case AXIS_SELF: case AXIS_CHILD: case AXIS_PARENT: case AXIS_ANCESTOR: case AXIS_ATTRIBUTE: case AXIS_NAMESPACE: case AXIS_PRECEDING: case AXIS_FOLLOWING: case AXIS_DESCENDANT: case AXIS_ANCESTOR_OR_SELF: case AXIS_FOLLOWING_SIBLING: case AXIS_PRECEDING_SIBLING: case AXIS_DESCENDANT_OR_SELF: case FUNCTION_LAST: case FUNCTION_POSITION: case FUNCTION_COUNT: case FUNCTION_ID: case FUNCTION_KEY: case FUNCTION_LOCAL_NAME: case FUNCTION_NAMESPACE_URI: case FUNCTION_NAME: case FUNCTION_STRING: case FUNCTION_CONCAT: case FUNCTION_STARTS_WITH: case FUNCTION_CONTAINS: case FUNCTION_SUBSTRING_BEFORE: case FUNCTION_SUBSTRING_AFTER: case FUNCTION_SUBSTRING: case FUNCTION_STRING_LENGTH: case FUNCTION_NORMALIZE_SPACE: case FUNCTION_TRANSLATE: case FUNCTION_BOOLEAN: case FUNCTION_NOT: case FUNCTION_TRUE: case FUNCTION_FALSE: case FUNCTION_NULL: case FUNCTION_LANG: case FUNCTION_NUMBER: case FUNCTION_SUM: case FUNCTION_FLOOR: case FUNCTION_CEILING: case FUNCTION_ROUND: case FUNCTION_FORMAT_NUMBER: case NCName: case 80: case 82: case 83: case 86: case 88: ex = UnionExpr(); break; case MINUS: jj_consume_token(MINUS); ex = UnaryExpr(); ex = compiler.minus(ex); break; default: jj_la1[34] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { if (true) return ex; } throw new Error("Missing return statement in function"); } /*-------------*/ /* 3.6 Strings */ /*-------------*/ /*----------------------------------*/ /* 3.7 Expression Lexical Structure */ /*----------------------------------*/ /* The following special tokenization rules must be applied in the order specified to disambiguate the grammar: 1. If there is a preceding token and the preceding token is not one of @, ::, (, [, , or an Operator, then a * must be recognized as a MultiplyOperator and an NCName must be recognized as an OperatorName. 2. If the character following an NCName (possibly after intervening ExprWhitespace) is (, then the token must be recognized as a NodeType or a FunctionName. 3. If the two characters following an NCName (possibly after intervening ExprWhitespace) are ::, then the token must be recognized as an AxisName. 4. Otherwise, the token must not be recognized as a MultiplyOperator, an OperatorName, a NodeType, a FunctionName, or an AxisName. */ /* [28] ExprToken ::= '(' | ')' | '[' | ']' | '.' | '..' | '@' | ',' | '::' | WildcardName | NodeType | Operator | FunctionName | AxisName | Literal | Number | VariableReference */ /* [34] MultiplyOperator ::= '*' */ /* [35] FunctionName ::= QName - NodeType */ final public Object FunctionName() throws ParseException { Object qname; qname = QName_Without_CoreFunctions(); { if (true) return qname; } throw new Error("Missing return statement in function"); } /* [36] VariableReference ::= '$' QName */ final public Object VariableReference() throws ParseException { Object ex; jj_consume_token(VARIABLE); ex = QName(); { if (true) return compiler.variableReference(ex); } throw new Error("Missing return statement in function"); } /* [37] WildcardName ::= '*' | NCName ':' '*' | QName */ final public Object WildcardName() throws ParseException { Object qn; String nc1, nc2 = null; switch (jj_nt.kind) { case 88: jj_consume_token(88); break; case OR: case AND: case MOD: case DIV: case NODE: case TEXT: case COMMENT: case PI: case FUNCTION_LAST: case FUNCTION_POSITION: case FUNCTION_COUNT: case FUNCTION_ID: case FUNCTION_KEY: case FUNCTION_LOCAL_NAME: case FUNCTION_NAMESPACE_URI: case FUNCTION_NAME: case FUNCTION_STRING: case FUNCTION_CONCAT: case FUNCTION_STARTS_WITH: case FUNCTION_CONTAINS: case FUNCTION_SUBSTRING_BEFORE: case FUNCTION_SUBSTRING_AFTER: case FUNCTION_SUBSTRING: case FUNCTION_STRING_LENGTH: case FUNCTION_NORMALIZE_SPACE: case FUNCTION_TRANSLATE: case FUNCTION_BOOLEAN: case FUNCTION_NOT: case FUNCTION_TRUE: case FUNCTION_FALSE: case FUNCTION_NULL: case FUNCTION_LANG: case FUNCTION_NUMBER: case FUNCTION_SUM: case FUNCTION_FLOOR: case FUNCTION_CEILING: case FUNCTION_ROUND: case FUNCTION_FORMAT_NUMBER: case NCName: NCName(); break; default: jj_la1[35] = jj_gen; jj_consume_token(-1); throw new ParseException(); } nc1 = token.image; switch (jj_nt.kind) { case 79: jj_consume_token(79); switch (jj_nt.kind) { case 88: jj_consume_token(88); break; case OR: case AND: case MOD: case DIV: case NODE: case TEXT: case COMMENT: case PI: case FUNCTION_LAST: case FUNCTION_POSITION: case FUNCTION_COUNT: case FUNCTION_ID: case FUNCTION_KEY: case FUNCTION_LOCAL_NAME: case FUNCTION_NAMESPACE_URI: case FUNCTION_NAME: case FUNCTION_STRING: case FUNCTION_CONCAT: case FUNCTION_STARTS_WITH: case FUNCTION_CONTAINS: case FUNCTION_SUBSTRING_BEFORE: case FUNCTION_SUBSTRING_AFTER: case FUNCTION_SUBSTRING: case FUNCTION_STRING_LENGTH: case FUNCTION_NORMALIZE_SPACE: case FUNCTION_TRANSLATE: case FUNCTION_BOOLEAN: case FUNCTION_NOT: case FUNCTION_TRUE: case FUNCTION_FALSE: case FUNCTION_NULL: case FUNCTION_LANG: case FUNCTION_NUMBER: case FUNCTION_SUM: case FUNCTION_FLOOR: case FUNCTION_CEILING: case FUNCTION_ROUND: case FUNCTION_FORMAT_NUMBER: case NCName: NCName(); break; default: jj_la1[36] = jj_gen; jj_consume_token(-1); throw new ParseException(); } nc2 = token.image; break; default: jj_la1[37] = jj_gen; ; } if (nc2 != null) { qn = compiler.qname(nc1, nc2); } else { qn = compiler.qname(null, nc1); } { if (true) return qn; } throw new Error("Missing return statement in function"); } /* [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node' */ final public int NodeType() throws ParseException { int type; switch (jj_nt.kind) { case TEXT: jj_consume_token(TEXT); type = Compiler.NODE_TYPE_TEXT; break; case NODE: jj_consume_token(NODE); type = Compiler.NODE_TYPE_NODE; break; case COMMENT: jj_consume_token(COMMENT); type = Compiler.NODE_TYPE_COMMENT; break; case PI: jj_consume_token(PI); type = Compiler.NODE_TYPE_PI; break; default: jj_la1[38] = jj_gen; jj_consume_token(-1); throw new ParseException(); } { if (true) return type; } throw new Error("Missing return statement in function"); } final private boolean jj_2_1(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_1(); jj_save(0, xla); return retval; } final private boolean jj_2_2(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_2(); jj_save(1, xla); return retval; } final private boolean jj_2_3(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_3(); jj_save(2, xla); return retval; } final private boolean jj_2_4(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_4(); jj_save(3, xla); return retval; } final private boolean jj_2_5(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_5(); jj_save(4, xla); return retval; } final private boolean jj_2_6(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_6(); jj_save(5, xla); return retval; } final private boolean jj_3R_65() { if (jj_scan_token(FUNCTION_ID)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_104() { if (jj_3R_118()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_64() { if (jj_scan_token(FUNCTION_COUNT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_63() { if (jj_scan_token(FUNCTION_POSITION)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_62() { if (jj_scan_token(FUNCTION_LAST)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_18() { Token xsp; xsp = jj_scanpos; if (jj_3R_62()) { jj_scanpos = xsp; if (jj_3R_63()) { jj_scanpos = xsp; if (jj_3R_64()) { jj_scanpos = xsp; if (jj_3R_65()) { jj_scanpos = xsp; if (jj_3R_66()) { jj_scanpos = xsp; if (jj_3R_67()) { jj_scanpos = xsp; if (jj_3R_68()) { jj_scanpos = xsp; if (jj_3R_69()) { jj_scanpos = xsp; if (jj_3R_70()) { jj_scanpos = xsp; if (jj_3R_71()) { jj_scanpos = xsp; if (jj_3R_72()) { jj_scanpos = xsp; if (jj_3R_73()) { jj_scanpos = xsp; if (jj_3R_74()) { jj_scanpos = xsp; if (jj_3R_75()) { jj_scanpos = xsp; if (jj_3R_76()) { jj_scanpos = xsp; if (jj_3R_77()) { jj_scanpos = xsp; if (jj_3R_78()) { jj_scanpos = xsp; if (jj_3R_79()) { jj_scanpos = xsp; if (jj_3R_80()) { jj_scanpos = xsp; if (jj_3R_81()) { jj_scanpos = xsp; if (jj_3R_82()) { jj_scanpos = xsp; if (jj_3R_83()) { jj_scanpos = xsp; if (jj_3R_84()) { jj_scanpos = xsp; if (jj_3R_85()) { jj_scanpos = xsp; if (jj_3R_86()) { jj_scanpos = xsp; if (jj_3R_87()) { jj_scanpos = xsp; if (jj_3R_88()) { jj_scanpos = xsp; if (jj_3R_89()) { jj_scanpos = xsp; if (jj_3R_90()) { jj_scanpos = xsp; if (jj_3R_91()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_111() { if (jj_scan_token(DIV)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_110() { if (jj_scan_token(MOD)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_109() { if (jj_scan_token(AND)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_108() { if (jj_scan_token(OR)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_107() { if (jj_scan_token(NCName)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_173() { if (jj_scan_token(MINUS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_170()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_98() { Token xsp; xsp = jj_scanpos; if (jj_3R_107()) { jj_scanpos = xsp; if (jj_3R_108()) { jj_scanpos = xsp; if (jj_3R_109()) { jj_scanpos = xsp; if (jj_3R_110()) { jj_scanpos = xsp; if (jj_3R_111()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_171() { Token xsp; xsp = jj_scanpos; if (jj_3R_174()) { jj_scanpos = xsp; if (jj_3R_175()) { jj_scanpos = xsp; if (jj_3R_176()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_172() { if (jj_3R_177()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_153() { if (jj_scan_token(86)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_130() { Token xsp; xsp = jj_scanpos; if (jj_3R_153()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_54() { if (jj_scan_token(FUNCTION_FORMAT_NUMBER)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_170() { Token xsp; xsp = jj_scanpos; if (jj_3R_172()) { jj_scanpos = xsp; if (jj_3R_173()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_53() { if (jj_scan_token(FUNCTION_KEY)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_52() { if (jj_scan_token(FUNCTION_ROUND)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_51() { if (jj_scan_token(FUNCTION_CEILING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_50() { if (jj_scan_token(FUNCTION_FLOOR)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_49() { if (jj_scan_token(FUNCTION_SUM)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_48() { if (jj_scan_token(FUNCTION_NUMBER)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_176() { if (jj_scan_token(MOD)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_170()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_47() { if (jj_scan_token(FUNCTION_LANG)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_175() { if (jj_scan_token(DIV)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_170()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_46() { if (jj_scan_token(FUNCTION_NULL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_174() { if (jj_scan_token(88)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_170()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_45() { if (jj_scan_token(FUNCTION_FALSE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_44() { if (jj_scan_token(FUNCTION_TRUE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_43() { if (jj_scan_token(FUNCTION_NOT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_42() { if (jj_scan_token(FUNCTION_BOOLEAN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_41() { if (jj_scan_token(FUNCTION_TRANSLATE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_116() { if (jj_scan_token(84)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_104()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(85)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_40() { if (jj_scan_token(FUNCTION_NORMALIZE_SPACE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_39() { if (jj_scan_token(FUNCTION_STRING_LENGTH)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_38() { if (jj_scan_token(FUNCTION_SUBSTRING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_37() { if (jj_scan_token(FUNCTION_SUBSTRING_AFTER)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_36() { if (jj_scan_token(FUNCTION_SUBSTRING_BEFORE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_168() { if (jj_3R_170()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_171()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_35() { if (jj_scan_token(FUNCTION_CONTAINS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_34() { if (jj_scan_token(FUNCTION_STARTS_WITH)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_33() { if (jj_scan_token(FUNCTION_CONCAT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_32() { if (jj_scan_token(FUNCTION_STRING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_31() { if (jj_scan_token(FUNCTION_NAME)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_30() { if (jj_scan_token(FUNCTION_NAMESPACE_URI)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_29() { if (jj_scan_token(FUNCTION_LOCAL_NAME)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_169() { if (jj_scan_token(MINUS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_168()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_28() { if (jj_scan_token(FUNCTION_ID)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_27() { if (jj_scan_token(FUNCTION_COUNT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_152() { if (jj_scan_token(AXIS_DESCENDANT_OR_SELF)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_26() { if (jj_scan_token(FUNCTION_POSITION)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_25() { if (jj_scan_token(FUNCTION_LAST)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_151() { if (jj_scan_token(AXIS_PRECEDING_SIBLING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_24() { if (jj_scan_token(PI)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_150() { if (jj_scan_token(AXIS_FOLLOWING_SIBLING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_23() { if (jj_scan_token(COMMENT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_149() { if (jj_scan_token(AXIS_ANCESTOR_OR_SELF)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_163() { if (jj_scan_token(PLUS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_162()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_22() { if (jj_scan_token(TEXT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_148() { if (jj_scan_token(AXIS_DESCENDANT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_21() { if (jj_scan_token(NODE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_147() { if (jj_scan_token(AXIS_FOLLOWING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_20() { if (jj_3R_98()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_146() { if (jj_scan_token(AXIS_PRECEDING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_145() { if (jj_scan_token(AXIS_NAMESPACE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_162() { if (jj_3R_168()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_169()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_144() { if (jj_scan_token(AXIS_ATTRIBUTE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_143() { if (jj_scan_token(AXIS_ANCESTOR)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_142() { if (jj_scan_token(AXIS_PARENT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_15() { Token xsp; xsp = jj_scanpos; if (jj_3R_20()) { jj_scanpos = xsp; if (jj_3R_21()) { jj_scanpos = xsp; if (jj_3R_22()) { jj_scanpos = xsp; if (jj_3R_23()) { jj_scanpos = xsp; if (jj_3R_24()) { jj_scanpos = xsp; if (jj_3R_25()) { jj_scanpos = xsp; if (jj_3R_26()) { jj_scanpos = xsp; if (jj_3R_27()) { jj_scanpos = xsp; if (jj_3R_28()) { jj_scanpos = xsp; if (jj_3R_29()) { jj_scanpos = xsp; if (jj_3R_30()) { jj_scanpos = xsp; if (jj_3R_31()) { jj_scanpos = xsp; if (jj_3R_32()) { jj_scanpos = xsp; if (jj_3R_33()) { jj_scanpos = xsp; if (jj_3R_34()) { jj_scanpos = xsp; if (jj_3R_35()) { jj_scanpos = xsp; if (jj_3R_36()) { jj_scanpos = xsp; if (jj_3R_37()) { jj_scanpos = xsp; if (jj_3R_38()) { jj_scanpos = xsp; if (jj_3R_39()) { jj_scanpos = xsp; if (jj_3R_40()) { jj_scanpos = xsp; if (jj_3R_41()) { jj_scanpos = xsp; if (jj_3R_42()) { jj_scanpos = xsp; if (jj_3R_43()) { jj_scanpos = xsp; if (jj_3R_44()) { jj_scanpos = xsp; if (jj_3R_45()) { jj_scanpos = xsp; if (jj_3R_46()) { jj_scanpos = xsp; if (jj_3R_47()) { jj_scanpos = xsp; if (jj_3R_48()) { jj_scanpos = xsp; if (jj_3R_49()) { jj_scanpos = xsp; if (jj_3R_50()) { jj_scanpos = xsp; if (jj_3R_51()) { jj_scanpos = xsp; if (jj_3R_52()) { jj_scanpos = xsp; if (jj_3R_53()) { jj_scanpos = xsp; if (jj_3R_54()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_141() { if (jj_scan_token(AXIS_CHILD)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_140() { if (jj_scan_token(AXIS_SELF)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_129() { Token xsp; xsp = jj_scanpos; if (jj_3R_140()) { jj_scanpos = xsp; if (jj_3R_141()) { jj_scanpos = xsp; if (jj_3R_142()) { jj_scanpos = xsp; if (jj_3R_143()) { jj_scanpos = xsp; if (jj_3R_144()) { jj_scanpos = xsp; if (jj_3R_145()) { jj_scanpos = xsp; if (jj_3R_146()) { jj_scanpos = xsp; if (jj_3R_147()) { jj_scanpos = xsp; if (jj_3R_148()) { jj_scanpos = xsp; if (jj_3R_149()) { jj_scanpos = xsp; if (jj_3R_150()) { jj_scanpos = xsp; if (jj_3R_151()) { jj_scanpos = xsp; if (jj_3R_152()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_159() { Token xsp; xsp = jj_scanpos; if (jj_3R_164()) { jj_scanpos = xsp; if (jj_3R_165()) { jj_scanpos = xsp; if (jj_3R_166()) { jj_scanpos = xsp; if (jj_3R_167()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_158() { if (jj_3R_162()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_163()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_122() { if (jj_3R_130()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_121() { if (jj_3R_129()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_167() { if (jj_scan_token(GTE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_158()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_112() { Token xsp; xsp = jj_scanpos; if (jj_3R_121()) { jj_scanpos = xsp; if (jj_3R_122()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_166() { if (jj_scan_token(LTE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_158()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_165() { if (jj_scan_token(GT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_158()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_157() { Token xsp; xsp = jj_scanpos; if (jj_3R_160()) { jj_scanpos = xsp; if (jj_3R_161()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_164() { if (jj_scan_token(LT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_158()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_156() { if (jj_3R_158()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_159()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_161() { if (jj_scan_token(NEQ)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_156()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_160() { if (jj_scan_token(EQ)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_156()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_102() { if (jj_3R_116()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3_4() { if (jj_scan_token(PI)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3_3() { if (jj_3R_17()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(80)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(81)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_101() { if (jj_scan_token(83)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_100() { if (jj_scan_token(82)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_115() { if (jj_3R_123()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_134() { if (jj_3R_156()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_157()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_114() { if (jj_scan_token(PI)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(80)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(Literal)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(81)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_113() { if (jj_3R_17()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(80)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(81)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_99() { if (jj_3R_112()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; if (jj_3R_113()) { jj_scanpos = xsp; if (jj_3R_114()) { jj_scanpos = xsp; if (jj_3R_115()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_135() { if (jj_scan_token(AND)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_134()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_57() { Token xsp; xsp = jj_scanpos; if (jj_3R_99()) { jj_scanpos = xsp; if (jj_3R_100()) { jj_scanpos = xsp; if (jj_3R_101()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; while (true) { xsp = jj_scanpos; if (jj_3R_102()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_125() { if (jj_3R_134()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_135()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_193() { if (jj_3R_16()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_56() { if (jj_scan_token(SLASHSLASH)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_55() { if (jj_scan_token(SLASH)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_126() { if (jj_scan_token(OR)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_125()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_16() { Token xsp; xsp = jj_scanpos; if (jj_3R_55()) { jj_scanpos = xsp; if (jj_3R_56()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_57()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_190() { if (jj_3R_16()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_118() { if (jj_3R_125()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_126()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_188() { if (jj_3R_57()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_190()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3_2() { if (jj_3R_16()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_185() { if (jj_3R_16()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_192() { if (jj_scan_token(SLASH)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_191() { if (jj_3R_16()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_193()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_184() { if (jj_3R_116()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_189() { Token xsp; xsp = jj_scanpos; if (jj_3R_191()) { jj_scanpos = xsp; if (jj_3R_192()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_182() { if (jj_3R_19()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_184()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } while (true) { xsp = jj_scanpos; if (jj_3R_185()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3_6() { if (jj_3R_19()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_187() { if (jj_3R_189()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_186() { if (jj_3R_188()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_183() { Token xsp; xsp = jj_scanpos; if (jj_3R_186()) { jj_scanpos = xsp; if (jj_3R_187()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_181() { if (jj_3R_183()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_180() { if (jj_3R_182()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_178() { Token xsp; xsp = jj_scanpos; if (jj_3R_180()) { jj_scanpos = xsp; if (jj_3R_181()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_179() { if (jj_scan_token(UNION)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_178()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_177() { if (jj_3R_178()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_179()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_136() { if (jj_3R_104()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_137() { if (jj_scan_token(87)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_136()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_127() { if (jj_3R_136()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_137()) { jj_scanpos = xsp; break; } if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } return false; } final private boolean jj_3R_119() { if (jj_scan_token(80)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; if (jj_3R_127()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(81)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_61() { if (jj_scan_token(PI)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_60() { if (jj_scan_token(COMMENT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_59() { if (jj_scan_token(NODE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_58() { if (jj_scan_token(TEXT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3_1() { if (jj_3R_15()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(79)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_17() { Token xsp; xsp = jj_scanpos; if (jj_3R_58()) { jj_scanpos = xsp; if (jj_3R_59()) { jj_scanpos = xsp; if (jj_3R_60()) { jj_scanpos = xsp; if (jj_3R_61()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_155() { if (jj_3R_15()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_139() { if (jj_3R_98()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_138() { if (jj_3R_15()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(79)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_15()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_154() { if (jj_scan_token(88)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_132() { if (jj_3R_15()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_105() { if (jj_3R_18()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_119()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_124() { if (jj_scan_token(79)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_15()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_133() { if (jj_scan_token(79)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; if (jj_3R_154()) { jj_scanpos = xsp; if (jj_3R_155()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_128() { Token xsp; xsp = jj_scanpos; if (jj_3R_138()) { jj_scanpos = xsp; if (jj_3R_139()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_131() { if (jj_scan_token(88)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_123() { Token xsp; xsp = jj_scanpos; if (jj_3R_131()) { jj_scanpos = xsp; if (jj_3R_132()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; xsp = jj_scanpos; if (jj_3R_133()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_106() { if (jj_3R_120()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_119()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_117() { if (jj_3R_15()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; Token xsp; xsp = jj_scanpos; if (jj_3R_124()) jj_scanpos = xsp; else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3_5() { if (jj_3R_18()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(80)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_103() { if (jj_scan_token(VARIABLE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_117()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_91() { if (jj_scan_token(FUNCTION_FORMAT_NUMBER)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_90() { if (jj_scan_token(FUNCTION_KEY)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_89() { if (jj_scan_token(FUNCTION_ROUND)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_88() { if (jj_scan_token(FUNCTION_CEILING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_97() { if (jj_3R_106()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_87() { if (jj_scan_token(FUNCTION_FLOOR)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_96() { if (jj_3R_105()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_86() { if (jj_scan_token(FUNCTION_SUM)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_95() { if (jj_scan_token(Number)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_85() { if (jj_scan_token(FUNCTION_NUMBER)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_94() { if (jj_scan_token(Literal)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_84() { if (jj_scan_token(FUNCTION_LANG)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_93() { if (jj_scan_token(80)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_3R_104()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; if (jj_scan_token(81)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_83() { if (jj_scan_token(FUNCTION_NULL)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_92() { if (jj_3R_103()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_82() { if (jj_scan_token(FUNCTION_FALSE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_81() { if (jj_scan_token(FUNCTION_TRUE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_120() { if (jj_3R_128()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_80() { if (jj_scan_token(FUNCTION_NOT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_79() { if (jj_scan_token(FUNCTION_BOOLEAN)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_78() { if (jj_scan_token(FUNCTION_TRANSLATE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_77() { if (jj_scan_token(FUNCTION_NORMALIZE_SPACE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_19() { Token xsp; xsp = jj_scanpos; if (jj_3R_92()) { jj_scanpos = xsp; if (jj_3R_93()) { jj_scanpos = xsp; if (jj_3R_94()) { jj_scanpos = xsp; if (jj_3R_95()) { jj_scanpos = xsp; if (jj_3R_96()) { jj_scanpos = xsp; if (jj_3R_97()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_76() { if (jj_scan_token(FUNCTION_STRING_LENGTH)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_75() { if (jj_scan_token(FUNCTION_SUBSTRING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_74() { if (jj_scan_token(FUNCTION_SUBSTRING_AFTER)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_73() { if (jj_scan_token(FUNCTION_SUBSTRING_BEFORE)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_72() { if (jj_scan_token(FUNCTION_CONTAINS)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_71() { if (jj_scan_token(FUNCTION_STARTS_WITH)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_70() { if (jj_scan_token(FUNCTION_CONCAT)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_69() { if (jj_scan_token(FUNCTION_STRING)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_68() { if (jj_scan_token(FUNCTION_NAME)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_67() { if (jj_scan_token(FUNCTION_NAMESPACE_URI)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } final private boolean jj_3R_66() { if (jj_scan_token(FUNCTION_LOCAL_NAME)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } public XPathParserTokenManager token_source; SimpleCharStream jj_input_stream; public Token token, jj_nt; private Token jj_scanpos, jj_lastpos; private int jj_la; public boolean lookingAhead = false; private boolean jj_semLA; private int jj_gen; final private int[] jj_la1 = new int[39]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; static { jj_la1_0(); jj_la1_1(); jj_la1_2(); } private static void jj_la1_0() { jj_la1_0 = new int[] { 0xf8000000, 0x78000000, 0x0, 0x0, 0x78000000, 0xf80000c0, 0xc0, 0x40, 0xc0, 0xc0, 0xf8000000, 0xf8000000, 0x0, 0x0, 0x0, 0x0, 0x160000, 0xf8000000, 0x0, 0xf81604c0, 0x100, 0xf80000c0, 0x0, 0xc0, 0x8000000, 0x10000000, 0x1800, 0x1800, 0x1e000, 0x1e000, 0x200, 0x400, 0x60000000, 0x60000000, 0xf81604c0, 0xf8000000, 0xf8000000, 0x0, 0x80000000, }; } private static void jj_la1_1() { jj_la1_1 = new int[] { 0xffff0007, 0x0, 0xffff0000, 0x0, 0x0, 0xffffffff, 0x0, 0x0, 0x0, 0x0, 0xffff0007, 0xffffffff, 0x0, 0xfff8, 0xfff8, 0x0, 0x0, 0xffff0007, 0x0, 0xffffffff, 0x0, 0xffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0xffff0007, 0xffff0007, 0x0, 0x7, }; } private static void jj_la1_2() { jj_la1_2 = new int[] { 0x7fff, 0x4000, 0x3fff, 0x8000, 0x4000, 0x14c7fff, 0x0, 0x0, 0x0, 0x0, 0x1007fff, 0x14c7fff, 0x100000, 0x0, 0x0, 0x400000, 0x10000, 0x7fff, 0x800000, 0x14d7fff, 0x0, 0x14c7fff, 0x100000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000000, 0x1000000, 0x14d7fff, 0x1007fff, 0x1007fff, 0x8000, 0x0, }; } final private JJCalls[] jj_2_rtns = new JJCalls[6]; private boolean jj_rescan = false; private int jj_gc = 0; public XPathParser(java.io.InputStream stream) { jj_input_stream = new SimpleCharStream(stream, 1, 1); token_source = new XPathParserTokenManager(jj_input_stream); token = new Token(); token.next = jj_nt = token_source.getNextToken(); jj_gen = 0; for (int i = 0; i < 39; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public void ReInit(java.io.InputStream stream) { jj_input_stream.ReInit(stream, 1, 1); token_source.ReInit(jj_input_stream); token = new Token(); token.next = jj_nt = token_source.getNextToken(); jj_gen = 0; for (int i = 0; i < 39; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public XPathParser(java.io.Reader stream) { jj_input_stream = new SimpleCharStream(stream, 1, 1); token_source = new XPathParserTokenManager(jj_input_stream); token = new Token(); token.next = jj_nt = token_source.getNextToken(); jj_gen = 0; for (int i = 0; i < 39; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public void ReInit(java.io.Reader stream) { jj_input_stream.ReInit(stream, 1, 1); token_source.ReInit(jj_input_stream); token = new Token(); token.next = jj_nt = token_source.getNextToken(); jj_gen = 0; for (int i = 0; i < 39; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public XPathParser(XPathParserTokenManager tm) { token_source = tm; token = new Token(); token.next = jj_nt = token_source.getNextToken(); jj_gen = 0; for (int i = 0; i < 39; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public void ReInit(XPathParserTokenManager tm) { token_source = tm; token = new Token(); token.next = jj_nt = token_source.getNextToken(); jj_gen = 0; for (int i = 0; i < 39; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } final private Token jj_consume_token(int kind) throws ParseException { Token oldToken = token; if ((token = jj_nt).next != null) jj_nt = jj_nt.next; else jj_nt = jj_nt.next = token_source.getNextToken(); if (token.kind == kind) { jj_gen++; if (++jj_gc > 100) { jj_gc = 0; for (int i = 0; i < jj_2_rtns.length; i++) { JJCalls c = jj_2_rtns[i]; while (c != null) { if (c.gen < jj_gen) c.first = null; c = c.next; } } } return token; } jj_nt = token; token = oldToken; jj_kind = kind; throw generateParseException(); } final private boolean jj_scan_token(int kind) { if (jj_scanpos == jj_lastpos) { jj_la--; if (jj_scanpos.next == null) { jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); } else { jj_lastpos = jj_scanpos = jj_scanpos.next; } } else { jj_scanpos = jj_scanpos.next; } if (jj_rescan) { int i = 0; Token tok = token; while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } if (tok != null) jj_add_error_token(kind, i); } return (jj_scanpos.kind != kind); } final public Token getNextToken() { if ((token = jj_nt).next != null) jj_nt = jj_nt.next; else jj_nt = jj_nt.next = token_source.getNextToken(); jj_gen++; return token; } final public Token getToken(int index) { Token t = lookingAhead ? jj_scanpos : token; for (int i = 0; i < index; i++) { if (t.next != null) t = t.next; else t = t.next = token_source.getNextToken(); } return t; } private java.util.Vector jj_expentries = new java.util.Vector(); private int[] jj_expentry; private int jj_kind = -1; private int[] jj_lasttokens = new int[100]; private int jj_endpos; private void jj_add_error_token(int kind, int pos) { if (pos >= 100) return; if (pos == jj_endpos + 1) { jj_lasttokens[jj_endpos++] = kind; } else if (jj_endpos != 0) { jj_expentry = new int[jj_endpos]; for (int i = 0; i < jj_endpos; i++) { jj_expentry[i] = jj_lasttokens[i]; } boolean exists = false; for (java.util.Enumeration en = jj_expentries.elements(); en.hasMoreElements();) { int[] oldentry = (int[]) (en.nextElement()); if (oldentry.length == jj_expentry.length) { exists = true; for (int i = 0; i < jj_expentry.length; i++) { if (oldentry[i] != jj_expentry[i]) { exists = false; break; } } if (exists) break; } } if (!exists) jj_expentries.addElement(jj_expentry); if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; } } public ParseException generateParseException() { jj_expentries.removeAllElements(); boolean[] la1tokens = new boolean[89]; for (int i = 0; i < 89; i++) { la1tokens[i] = false; } if (jj_kind >= 0) { la1tokens[jj_kind] = true; jj_kind = -1; } for (int i = 0; i < 39; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1 << j)) != 0) { la1tokens[j] = true; } if ((jj_la1_1[i] & (1 << j)) != 0) { la1tokens[32 + j] = true; } if ((jj_la1_2[i] & (1 << j)) != 0) { la1tokens[64 + j] = true; } } } } for (int i = 0; i < 89; i++) { if (la1tokens[i]) { jj_expentry = new int[1]; jj_expentry[0] = i; jj_expentries.addElement(jj_expentry); } } jj_endpos = 0; jj_rescan_token(); jj_add_error_token(0, 0); int[][] exptokseq = new int[jj_expentries.size()][]; for (int i = 0; i < jj_expentries.size(); i++) { exptokseq[i] = (int[]) jj_expentries.elementAt(i); } return new ParseException(token, exptokseq, tokenImage); } final public void enable_tracing() { } final public void disable_tracing() { } final private void jj_rescan_token() { jj_rescan = true; for (int i = 0; i < 6; i++) { JJCalls p = jj_2_rtns[i]; do { if (p.gen > jj_gen) { jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; switch (i) { case 0: jj_3_1(); break; case 1: jj_3_2(); break; case 2: jj_3_3(); break; case 3: jj_3_4(); break; case 4: jj_3_5(); break; case 5: jj_3_6(); break; } } p = p.next; } while (p != null); } jj_rescan = false; } final private void jj_save(int index, int xla) { JJCalls p = jj_2_rtns[index]; while (p.gen > jj_gen) { if (p.next == null) { p = p.next = new JJCalls(); break; } p = p.next; } p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; } static final class JJCalls { int gen; Token first; int arg; JJCalls next; } }