xpath.jjt

来自「jsr170接口的java实现。是个apache的开源项目。」· JJT 代码 · 共 2,736 行 · 第 1/5 页

JJT
2,736
字号
<DEFAULT>TOKEN :{ < XmlCommentStart : "<!--" > { pushState(OPERATOR); } : XML_COMMENT}<ELEMENT_CONTENT>TOKEN :{ < XmlCommentStartForElementContent : "<!--" > { pushState(); } : XML_COMMENT}<XML_COMMENT>TOKEN :{ < XmlCommentEnd : "-->" > { popState(); }}<DEFAULT>TOKEN :{ < QName : (<Prefix> ":")? <LocalPart> > : OPERATOR}TOKEN :{ < #NCName : <Nmstart> (<Nmchar>)* >}<START_TAG, END_TAG>TOKEN :{ < S : (<WhitespaceChar>)+  >}<PROCESSING_INSTRUCTION>TOKEN :{ < SForPI : (<WhitespaceChar>)+  > : PROCESSING_INSTRUCTION_CONTENT}<EXT_CONTENT, EXT_KEY, EXT_NAME>SPECIAL_TOKEN :{ < SForExt : (<WhitespaceChar>)+  >}TOKEN :{ < #Char : ["\t", "\r", "\n", "\u0020" - "\uFFFD"] >}<DEFAULT, OPERATOR>TOKEN :{ < Rbrace : "}" > { popState(); }}TOKEN :{ < #WhitespaceChar : ["\t", "\r", "\n", " "] >}TOKEN :{ < #Letter : (<BaseChar> | <Ideographic>) >}TOKEN :{ < #BaseChar : ["\u0041" - "\u005a", "\u0061" - "\u007a", "\u00c0" - "\u00d6", "\u00d8" - "\u00f6", "\u00f8" - "\u00ff", "\u0100" - "\u0131", "\u0134" - "\u013e", "\u0141" - "\u0148", "\u014a" - "\u017e", "\u0180" - "\u01c3", "\u01cd" - "\u01f0", "\u01f4" - "\u01f5", "\u01fa" - "\u0217", "\u0250" - "\u02a8", "\u02bb" - "\u02c1", "\u0386", "\u0388" - "\u038a", "\u038c", "\u038e" - "\u03a1", "\u03a3" - "\u03ce", "\u03d0" - "\u03d6", "\u03da", "\u03dc", "\u03de", "\u03e0", "\u03e2" - "\u03f3", "\u0401" - "\u040c", "\u040e" - "\u044f", "\u0451" - "\u045c", "\u045e" - "\u0481", "\u0490" - "\u04c4", "\u04c7" - "\u04c8", "\u04cb" - "\u04cc", "\u04d0" - "\u04eb", "\u04ee" - "\u04f5", "\u04f8" - "\u04f9", "\u0531" - "\u0556", "\u0559", "\u0561" - "\u0586", "\u05d0" - "\u05ea", "\u05f0" - "\u05f2", "\u0621" - "\u063a", "\u0641" - "\u064a", "\u0671" - "\u06b7", "\u06ba" - "\u06be", "\u06c0" - "\u06ce", "\u06d0" - "\u06d3", "\u06d5", "\u06e5" - "\u06e6", "\u0905" - "\u0939", "\u093d", "\u0958" - "\u0961", "\u0985" - "\u098c", "\u098f" - "\u0990", "\u0993" - "\u09a8", "\u09aa" - "\u09b0", "\u09b2", "\u09b6" - "\u09b9", "\u09dc" - "\u09dd", "\u09df" - "\u09e1", "\u09f0" - "\u09f1", "\u0a05" - "\u0a0a", "\u0a0f" - "\u0a10", "\u0a13" - "\u0a28", "\u0a2a" - "\u0a30", "\u0a32" - "\u0a33", "\u0a35" - "\u0a36", "\u0a38" - "\u0a39", "\u0a59" - "\u0a5c", "\u0a5e", "\u0a72" - "\u0a74", "\u0a85" - "\u0a8b", "\u0a8d", "\u0a8f" - "\u0a91", "\u0a93" - "\u0aa8", "\u0aaa" - "\u0ab0", "\u0ab2" - "\u0ab3", "\u0ab5" - "\u0ab9", "\u0abd", "\u0ae0", "\u0b05" - "\u0b0c", "\u0b0f" - "\u0b10", "\u0b13" - "\u0b28", "\u0b2a" - "\u0b30", "\u0b32" - "\u0b33", "\u0b36" - "\u0b39", "\u0b3d", "\u0b5c" - "\u0b5d", "\u0b5f" - "\u0b61", "\u0b85" - "\u0b8a", "\u0b8e" - "\u0b90", "\u0b92" - "\u0b95", "\u0b99" - "\u0b9a", "\u0b9c", "\u0b9e" - "\u0b9f", "\u0ba3" - "\u0ba4", "\u0ba8" - "\u0baa", "\u0bae" - "\u0bb5", "\u0bb7" - "\u0bb9", "\u0c05" - "\u0c0c", "\u0c0e" - "\u0c10", "\u0c12" - "\u0c28", "\u0c2a" - "\u0c33", "\u0c35" - "\u0c39", "\u0c60" - "\u0c61", "\u0c85" - "\u0c8c", "\u0c8e" - "\u0c90", "\u0c92" - "\u0ca8", "\u0caa" - "\u0cb3", "\u0cb5" - "\u0cb9", "\u0cde", "\u0ce0" - "\u0ce1", "\u0d05" - "\u0d0c", "\u0d0e" - "\u0d10", "\u0d12" - "\u0d28", "\u0d2a" - "\u0d39", "\u0d60" - "\u0d61", "\u0e01" - "\u0e2e", "\u0e30", "\u0e32" - "\u0e33", "\u0e40" - "\u0e45", "\u0e81" - "\u0e82", "\u0e84", "\u0e87" - "\u0e88", "\u0e8a", "\u0e8d", "\u0e94" - "\u0e97", "\u0e99" - "\u0e9f", "\u0ea1" - "\u0ea3", "\u0ea5", "\u0ea7", "\u0eaa" - "\u0eab", "\u0ead" - "\u0eae", "\u0eb0", "\u0eb2" - "\u0eb3", "\u0ebd", "\u0ec0" - "\u0ec4", "\u0f40" - "\u0f47", "\u0f49" - "\u0f69", "\u10a0" - "\u10c5", "\u10d0" - "\u10f6", "\u1100", "\u1102" - "\u1103", "\u1105" - "\u1107", "\u1109", "\u110b" - "\u110c", "\u110e" - "\u1112", "\u113c", "\u113e", "\u1140", "\u114c", "\u114e", "\u1150", "\u1154" - "\u1155", "\u1159", "\u115f" - "\u1161", "\u1163", "\u1165", "\u1167", "\u1169", "\u116d" - "\u116e", "\u1172" - "\u1173", "\u1175", "\u119e", "\u11a8", "\u11ab", "\u11ae" - "\u11af", "\u11b7" - "\u11b8", "\u11ba", "\u11bc" - "\u11c2", "\u11eb", "\u11f0", "\u11f9", "\u1e00" - "\u1e9b", "\u1ea0" - "\u1ef9", "\u1f00" - "\u1f15", "\u1f18" - "\u1f1d", "\u1f20" - "\u1f45", "\u1f48" - "\u1f4d", "\u1f50" - "\u1f57", "\u1f59", "\u1f5b", "\u1f5d", "\u1f5f" - "\u1f7d", "\u1f80" - "\u1fb4", "\u1fb6" - "\u1fbc", "\u1fbe", "\u1fc2" - "\u1fc4", "\u1fc6" - "\u1fcc", "\u1fd0" - "\u1fd3", "\u1fd6" - "\u1fdb", "\u1fe0" - "\u1fec", "\u1ff2" - "\u1ff4", "\u1ff6" - "\u1ffc", "\u2126", "\u212a" - "\u212b", "\u212e", "\u2180" - "\u2182", "\u3041" - "\u3094", "\u30a1" - "\u30fa", "\u3105" - "\u312c", "\uac00" - "\ud7a3"] >}TOKEN :{ < #Ideographic : ["\u4e00" - "\u9fa5", "\u3007", "\u3021" - "\u3029"] >}TOKEN :{ < #CombiningChar : ["\u0300" - "\u0345", "\u0360" - "\u0361", "\u0483" - "\u0486", "\u0591" - "\u05a1", "\u05a3" - "\u05b9", "\u05bb" - "\u05bd", "\u05bf", "\u05c1" - "\u05c2", "\u05c4", "\u064b" - "\u0652", "\u0670", "\u06d6" - "\u06dc", "\u06dd" - "\u06df", "\u06e0" - "\u06e4", "\u06e7" - "\u06e8", "\u06ea" - "\u06ed", "\u0901" - "\u0903", "\u093c", "\u093e" - "\u094c", "\u094d", "\u0951" - "\u0954", "\u0962" - "\u0963", "\u0981" - "\u0983", "\u09bc", "\u09be", "\u09bf", "\u09c0" - "\u09c4", "\u09c7" - "\u09c8", "\u09cb" - "\u09cd", "\u09d7", "\u09e2" - "\u09e3", "\u0a02", "\u0a3c", "\u0a3e", "\u0a3f", "\u0a40" - "\u0a42", "\u0a47" - "\u0a48", "\u0a4b" - "\u0a4d", "\u0a70" - "\u0a71", "\u0a81" - "\u0a83", "\u0abc", "\u0abe" - "\u0ac5", "\u0ac7" - "\u0ac9", "\u0acb" - "\u0acd", "\u0b01" - "\u0b03", "\u0b3c", "\u0b3e" - "\u0b43", "\u0b47" - "\u0b48", "\u0b4b" - "\u0b4d", "\u0b56" - "\u0b57", "\u0b82" - "\u0b83", "\u0bbe" - "\u0bc2", "\u0bc6" - "\u0bc8", "\u0bca" - "\u0bcd", "\u0bd7", "\u0c01" - "\u0c03", "\u0c3e" - "\u0c44", "\u0c46" - "\u0c48", "\u0c4a" - "\u0c4d", "\u0c55" - "\u0c56", "\u0c82" - "\u0c83", "\u0cbe" - "\u0cc4", "\u0cc6" - "\u0cc8", "\u0cca" - "\u0ccd", "\u0cd5" - "\u0cd6", "\u0d02" - "\u0d03", "\u0d3e" - "\u0d43", "\u0d46" - "\u0d48", "\u0d4a" - "\u0d4d", "\u0d57", "\u0e31", "\u0e34" - "\u0e3a", "\u0e47" - "\u0e4e", "\u0eb1", "\u0eb4" - "\u0eb9", "\u0ebb" - "\u0ebc", "\u0ec8" - "\u0ecd", "\u0f18" - "\u0f19", "\u0f35", "\u0f37", "\u0f39", "\u0f3e", "\u0f3f", "\u0f71" - "\u0f84", "\u0f86" - "\u0f8b", "\u0f90" - "\u0f95", "\u0f97", "\u0f99" - "\u0fad", "\u0fb1" - "\u0fb7", "\u0fb9", "\u20d0" - "\u20dc", "\u20e1", "\u302a" - "\u302f", "\u3099", "\u309a"] >}TOKEN :{ < #Digit : ["\u0030" - "\u0039", "\u0660" - "\u0669", "\u06f0" - "\u06f9", "\u0966" - "\u096f", "\u09e6" - "\u09ef", "\u0a66" - "\u0a6f", "\u0ae6" - "\u0aef", "\u0b66" - "\u0b6f", "\u0be7" - "\u0bef", "\u0c66" - "\u0c6f", "\u0ce6" - "\u0cef", "\u0d66" - "\u0d6f", "\u0e50" - "\u0e59", "\u0ed0" - "\u0ed9", "\u0f20" - "\u0f29"] >}TOKEN :{ < #Extender : ["\u00b7", "\u02d0", "\u02d1", "\u0387", "\u0640", "\u0e46", "\u0ec6", "\u3005", "\u3031" - "\u3035", "\u309d" - "\u309e", "\u30fc" - "\u30fe"] >}<OPERATOR>SKIP :{ < NotOperatorKeyword : (["0" - "9", "a" - "z", "A" - "Z"])+  >}<DEFAULT>SKIP :{ < NotNumber : (("." <Digits>) | (<Digits> ("." (["0" - "9"])*)?)) (["e", "E"] (["+", "-"])? <Digits>)? ["a" - "z", "A" - "Z"] (["0" - "9", "a" - "z", "A" - "Z"])* > : OPERATOR}void QueryList()  :{}{  Module() (<QuerySeparator> [Module()])*}void Module()  :{}{  [VersionDecl()] (MainModule() | LibraryModule())}void VersionDecl()  :{}{  <XQueryVersion>{jjtThis.processToken(token);} #XQueryVersion(true) <StringLiteralForVersion>{jjtThis.processToken(token);} #StringLiteralForVersion(true) [<XQueryEncoding>{jjtThis.processToken(token);} #XQueryEncoding(true) <StringLiteralForVersion>{jjtThis.processToken(token);} #StringLiteralForVersion(true)] Separator()}void MainModule()  :{}{  Prolog() QueryBody()}void LibraryModule()  :{}{  ModuleDecl() Prolog()}void ModuleDecl()  :{}{  <ModuleNamespace>{jjtThis.processToken(token);} #ModuleNamespace(true) <NCNameForPrefix>{jjtThis.processToken(token);} #NCNameForPrefix(true) <AssignEquals>{jjtThis.processToken(token);} #AssignEquals(true) <URLLiteral>{jjtThis.processToken(token);} #URLLiteral(true) Separator()}void Prolog()  :{}{  (Setter() Separator())* ((Import() | NamespaceDecl() | DefaultNamespaceDecl()) Separator())* ((VarDecl() | FunctionDecl()) Separator())*}void Setter()  :{}{  (XMLSpaceDecl() | DefaultCollationDecl() | BaseURIDecl() | ConstructionDecl() | OrderingModeDecl() | EmptyOrderingDecl() | InheritNamespacesDecl())}void Import()  :{}{  (SchemaImport() | ModuleImport())}void Separator()  :{}{  <SemiColon>}void NamespaceDecl()  :{}{  <DeclareNamespace>{jjtThis.processToken(token);} #DeclareNamespace(true) <NCNameForPrefix>{jjtThis.processToken(token);} #NCNameForPrefix(true) <AssignEquals>{jjtThis.processToken(token);} #AssignEquals(true) <URLLiteral>{jjtThis.processToken(token);} #URLLiteral(true)}void XMLSpaceDecl()  :{}{  <DeclareXMLSpace>{jjtThis.processToken(token);} #DeclareXMLSpace(true) (<XMLSpacePreserve>{jjtThis.processToken(token);} #XMLSpacePreserve(true) | <XMLSpaceStrip>{jjtThis.processToken(token);} #XMLSpaceStrip(true))}void DefaultNamespaceDecl()  :{}{  (<DeclareDefaultElement>{jjtThis.processToken(token);} #DeclareDefaultElement(true) | <DeclareDefaultFunction>{jjtThis.processToken(token);} #DeclareDefaultFunction(true)) <Namespace>{jjtThis.processToken(token);} #Namespace(true) <URLLiteral>{jjtThis.processToken(token);} #URLLiteral(true)}void OrderingModeDecl()  :{}{  <DeclareOrdering>{jjtThis.processToken(token);} #DeclareOrdering(true) (<Ordered>{jjtThis.processToken(token);} #Ordered(true) | <Unordered>{jjtThis.processToken(token);} #Unordered(true))}void EmptyOrderingDecl()  :{}{  <DeclareDefaultOrderingEmpty>{jjtThis.processToken(token);} #DeclareDefaultOrderingEmpty(true) (<EmptyGreatest>{jjtThis.processToken(token);} #EmptyGreatest(true) | <EmptyLeast>{jjtThis.processToken(token);} #EmptyLeast(true))}void InheritNamespacesDecl()  :{}{  <DeclareInheritNamespaces>{jjtThis.processToken(token);} #DeclareInheritNamespaces(true) (<Yes>{jjtThis.processToken(token);} #Yes(true) | <No>{jjtThis.processToken(token);} #No(true))}void DefaultCollationDecl()  :{}{  <DeclareCollation>{jjtThis.processToken(token);} #DeclareCollation(true) <URLLiteral>{jjtThis.processToken(token);} #URLLiteral(true)}void BaseURIDecl()  :{}{  <DeclareBaseURI>{jjtThis.processToken(token);} #DeclareBaseURI(true) <URLLiteral>{jjtThis.processToken(token);} #URLLiteral(true)}void SchemaImport()  :{}{  <ImportSchemaToken>{jjtThis.processToken(token);} #ImportSchemaToken(true) [SchemaPrefix()] <URLLiteral>{jjtThis.processToken(token);} #URLLiteral(true) [<AtStringLiteral>{jjtThis.processToken(token);} #AtStringLiteral(true) (<Comma> <StringLiteral>{jjtThis.processToken(token);} #StringLiteral(true))*]}void SchemaPrefix()  :{}{  ((<Namespace>{jjtThis.processToken(token);} #Namespace(true) <NCNameForPrefix>{jjtThis.processToken(token);} #NCNameForPrefix(true) <AssignEquals>{jjtThis.processToken(token);} #AssignEquals(true)) | (<DefaultElement>{jjtThis.processToken(token);} #DefaultElement(true) <Namespace>{jjtThis.processToken(token);} #Namespace(true)))}void ModuleImport()  :{}{  <ImportModuleToken>{jjtThis.processToken(token);} #ImportModuleToken(true) [<Namespace>{jjtThis.processToken(token);} #Namespace(true) <NCNameForPrefix>{jjtThis.processToken(token);} #NCNameForPrefix(true) <AssignEquals>{jjtThis.processToken(token);} #AssignEquals(true)] <URLLiteral>{jjtThis.processToken(token);} #URLLiteral(true) [<AtStringLiteral>{jjtThis.processToken(token);} #AtStringLiteral(true) (<Comma> <StringLiteral>{jjtThis.processToken(token);} #StringLiteral(true))*]}void VarDecl()  :{}{  <DefineVariable>{jjtThis.processToken(token);} #DefineVariable(true) <VarName>{jjtThis.processToken(token);} #VarName(true) [TypeDeclaration()] ((<ColonEquals>{jjtThis.processToken(token);} #ColonEquals(true) ExprSingle()) | <External>{jjtThis.processToken(token);} #External(true))}void ConstructionDecl()  :{}{  <DeclareConstruction>{jjtThis.processToken(token);} #DeclareConstruction(true) <SchemaModeForDeclareConstruction>{jjtThis.processToken(token);} #SchemaModeForDeclareConstruction(true)}void FunctionDecl()  :{}{  <DefineFunction>{jjtThis.processToken(token);} #DefineFunction(true) <QNameLpar>{jjtThis.processToken(token);} #QNameLpar(true) [ParamList()] (<Rpar> | (<RparAs>{jjtThis.processToken(token);} #RparAs(true) SequenceType())) (EnclosedExpr() | <External>{jjtThis.processToken(token);} #External(true))}void ParamList()  :{}{  Param() (<Comma> Param())*}void Param()  :{}{  <VariableIndicator> <VarName>{jjtThis.processToken(token);} #VarName(true) [TypeDeclaration()]}void EnclosedExpr()  :{}{  (<Lbrace>{jjtThis.processToken(token);} #Lbrace(true) | <LbraceExprEnclosure>{jjtThis.processToken(token);} #LbraceExprEnclosure(true)) Expr() <Rbrace>{jjtThis.processToken(token);} #Rbrace(true)}void QueryBody()  :{}{  (Expr())}void Expr()  :{}{  ExprSingle() (<Comma> ExprSingle())*}void ExprSingle()  #void :{}{  (FLWORExpr() | QuantifiedExpr() | TypeswitchExpr() | IfExpr() | OrExpr())}void FLWORExpr()  :{}{  ((ForClause() | LetClause()))+  [WhereClause()] [OrderByClause()] <Return> ExprSingle()}void ForClause()  #void :{}{  <ForVariable> <VarName>{jjtThis.processToken(token);} #VarName(true) [TypeDeclaration()] [PositionalVar()] <In>{jjtThis.processToken(token);} #In(true) ExprSingle() (<Comma> <VariableIndicator> <VarName>{jjtThis.processToken(token);} #VarName(true) [TypeDeclaration()] [PositionalVar()] <In>{jjtThis.processToken(token);} #In(true) ExprSingle())*}void PositionalVar()  :{}{  <AtWord>{jjtThis.processToken(token);} #AtWord(true) <VariableIndicator> <VarName>{jjtThis.processToken(token);} #VarName(true)}void LetClause()  :{}{  <LetVariable>{jjtThis.processToken(token);} #LetVariable(true) <VarName>{jjtThis.processToken(token);} #VarName(true) [TypeDeclaration()] <ColonEquals>{jjtThis.processToken(token);} #ColonEquals(true) ExprSingle() (<Comma> <VariableIndicator> <VarName>{jjtThis.processToken(token);} #VarName(true) [TypeDeclaration()] <ColonEquals>{jjtThis.processToken(token);} #ColonEquals(true) ExprSingle())*}void WhereClause()  :{}{  <Where>{jjtThis.processToken(token);} #Where(true) ExprSingle()}void OrderByClause()  :{}{  (<OrderBy>{jjtThis.processToken(token);} #OrderBy(true) | <OrderByStable>{jjtThis.processToken(token);} #OrderByStable(true)) OrderSpecList()}void OrderSpecList()  :{}{  OrderSpec() (<Comma> OrderSpec())*}void OrderSpec()  :{}{  ExprSingle() OrderModifier()}void OrderModifier()  :{}{  [(<Ascending>{jjtThis.processToken(token);} #Ascending(true) | <Descending>{jjtThis.processToken(token);} #Descending(true))] [(<EmptyGreatest>{jjtThis.processToken(token);} #EmptyGreatest(true) | <EmptyLeast>{jjtThis.processToken(token);} #EmptyLeast(true))] [<Collation>{jjtThis.processToken(token);} #Collation(true) <StringLiteral>{jjtThis.processToken(token);} #StringLiteral(true)]}void QuantifiedExpr()  :{}{  (<Some>{jjtThis.processToken(token);} #Some(true) | <Every>{jjtThis.processToken(token);} #Every(true)) <VarName>{jjtThis.processToken(token);} #VarName(true) [TypeDeclaration()] <In>{jjtThis.processToken(token);} #In(true) ExprSingle() (<Comma> <VariableIndicator> <VarName>{jjtThis.processToken(token);} #VarName(true) [TypeDeclaration()] <In>{jjtThis.processToken(token);} #In(true) ExprSingle())* <Satisfies>{jjtThis.processToken(token);} #Satisfies(true) ExprSingle()}void TypeswitchExpr()  :{}{  <TypeswitchLpar> Expr() <Rpar> (CaseClause())+  <Default>{jjtThis.processToken(token);} #Default(true) [<VariableIndicator> <VarName>{jjtThis.processToken(token);} #VarName(true)] <Return> ExprSingle()}void CaseClause()  :{}{  <Case>{jjtThis.processToken(token);} #Case(true) [<VariableIndicator> <VarName>{jjtThis.processToken(token);} #VarName(true) <As>{jjtThis.processToken(token);} #As(true)] SequenceType() <Return> ExprSingle()}void IfExpr()  :{}{  <IfLpar> Expr() <Rpar> <Then> ExprSingle() <Else> ExprSingle()}void OperatorExpr()  #void  :{}{	OrExpr()}void OrExpr() #OrExpr(> 1) :{}{  AndExpr() (<Or>                 {binaryTokenStack.push(token);}			 AndExpr()		{         try         {		       jjtThis.processToken((Token)binaryTokenStack.pop());         }         catch(java.util.EmptyStackException e)         {           token_source.printLinePos();           e.printStackTrace();           throw e;         }		}		 #OrExpr(2))*}void AndExpr() #AndExpr(> 1) :{}{  ComparisonExpr() (<And>                 {binaryTokenStack.push(token);}			 ComparisonExpr()		{         try         {		       jjtThis.processToken((Token)binaryTokenStack.pop());         }         catch(java.util.EmptyStackException e)         {           token_source.printLinePos();           e.printStackTrace();           throw e;         }		}		 #AndExpr(2))*}void ComparisonExpr() #ComparisonExpr(> 1) :{}{  RangeExpr() ((ValueComp() | GeneralComp() | NodeComp()) RangeExpr()		{         try         {		       jjtThis.processToken((Token)binaryTokenStack.pop());         }         catch(java.util.EmptyStackException e)         {           token_source.printLinePos();           e.printStackTrace();           throw e;         }		}		 #ComparisonExpr(2))?}void RangeExpr() #RangeExpr(> 1) :{}{  AdditiveExpr() (<To>                 {binaryTokenStack.push(token);}			 AdditiveExpr()		{         try         {		       jjtThis.processToken((Token)binaryTokenStack.pop());         }         catch(java.util.EmptyStackException e)         {           token_source.printLinePos();           e.printStackTrace();           throw e;         }		}		 #RangeExpr(2))?}void AdditiveExpr() #AdditiveExpr(> 1) :{}{  MultiplicativeExpr() ((<Plus>                 {binaryTokenStack.push(token);}			 | <Minus>                 {binaryTokenStack.push(token);}			) MultiplicativeExpr()		{         try         {		       jjtThis.processToken((Token)binaryTokenStack.pop());         }         catch(java.util.EmptyStackException e)         {           token_source.printLinePos();           e.printStackTrace();           throw e;         }		}		 #AdditiveExpr(2))*}void MultiplicativeExpr() #MultiplicativeExpr(> 1) :{}{  UnionExpr() ((<Multiply>                 {binaryTokenStack.push(token);}			 | <Div>                 {binaryTokenStack.push(token);}			 | <Idiv>                 {binaryTokenStack.push(token);}			 | <Mod>                 {binaryTokenStack.push(token);}			) UnionExpr()		{         try         {		       jjtThis.processToken((Token)binaryTokenStack.pop());         }         catch(java.util.EmptyStackException e)         {           token_source.printLinePos();           e.printStackTrace();           throw e;         }		}		 #MultiplicativeExpr(2))*}void UnionExpr() #UnionExpr(> 1) :{}{  IntersectExceptExpr() ((<Union>                 {binaryTokenStack.push(token);}			 | <Vbar>                 {binaryTokenStack.push(token);}			) IntersectExceptExpr()		{         try         {		       jjtThis.processToken((Token)binaryTokenStack.pop());         }         catch(java.util.EmptyStackException e)         {           token_source.printLinePos();           e.printStackTrace();           throw e;         }		}		 #UnionExpr(2))*}void IntersectExceptExpr() #IntersectExceptExpr(> 1) :{}{  InstanceofExpr() ((<Intersect>                 {binaryTokenStack.push(token);}			 | <Except>                 {binaryTokenStack.push(token);}			) InstanceofExpr()		{         try         {

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?