IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1 %OPTIONS ACTION, AN=JavaAction.java, GP=java, %OPTIONS FILE-PREFIX=java, ESCAPE=$, PREFIX=TokenName, OUTPUT-SIZE=125 , %OPTIONS NOGOTO-DEFAULT, SINGLE-PRODUCTIONS, LALR=1 , TABLE, %OPTIONS ERROR_MAPS %OPTIONS first follow %OPTIONS TRACE=FULL , %OPTIONS VERBOSE %OPTIONS DEFERRED %OPTIONS NAMES=MAX %OPTIONS SCOPES Options in effect: ACTION ACTFILE-NAME=JavaAction.java BLOCKB=/. BLOCKE=./ BYTE CONFLICTS DEFAULT=5 NODEBUG DEFERRED NOEDIT ERROR-MAPS ESCAPE=$ FILE-PREFIX=java FIRST FOLLOW GENERATE-PARSER=JAVA NOGOTO-DEFAULT HACTFILE-NAME=javahdr.java HBLOCKB=/: HBLOCKE=:/ LALR=1 LIST MAX-DISTANCE=30 MIN-DISTANCE=3 NAMES=MAXIMUM NONT-CHECK ORMARK=| OUTPUT-SIZE=125 PREFIX=TokenName READ-REDUCE SCOPES NOSHIFT-DEFAULT SINGLE-PRODUCTIONS STACK-SIZE=128 STATES SUFFIX= TABLE=SPACE TRACE=FULL VERBOSE WARNINGS XREF IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2 Defined Symbols: $putcase /.------------------------------------------------------------------------------ case $rule_number : if (DEBUG) { System.out.println("$rule_text"); } //$NON-NLS-1$ ./------------------------------------------------------------------------------ $break /.------------------------------------------------------------------------------ break; ./------------------------------------------------------------------------------ $readablename /.------------------------------------------------------------------------------ 1#$rule_number# ./------------------------------------------------------------------------------ $compliance /.------------------------------------------------------------------------------ 2#$rule_number# ./------------------------------------------------------------------------------ $recovery /.------------------------------------------------------------------------------ 2#$rule_number# recovery ./------------------------------------------------------------------------------ $recovery_template /.------------------------------------------------------------------------------ 3#$rule_number# ./------------------------------------------------------------------------------ $no_statements_recovery /.------------------------------------------------------------------------------ 4#$rule_number# 1 ./------------------------------------------------------------------------------ IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 3 Aliases: && ::= AND_AND ] ::= RBRACKET < ::= LESS += ::= PLUS_EQUAL & ::= AND ++ ::= PLUS_PLUS ... ::= ELLIPSIS + ::= PLUS %= ::= REMAINDER_EQUAL } ::= RBRACE || ::= OR_OR >>>= ::= UNSIGNED_RIGHT_SHIFT_EQUAL ; ::= SEMICOLON *= ::= MULTIPLY_EQUAL % ::= REMAINDER >>> ::= UNSIGNED_RIGHT_SHIFT |= ::= OR_EQUAL @ ::= AT :: ::= COLON_COLON /= ::= DIVIDE_EQUAL * ::= MULTIPLY '|' ::= OR [ ::= LBRACKET @308 ::= AT308 : ::= COLON / ::= DIVIDE >>= ::= RIGHT_SHIFT_EQUAL ? ::= QUESTION ) ::= RPAREN @308... ::= AT308DOTDOTDOT { ::= LBRACE >> ::= RIGHT_SHIFT >= ::= GREATER_EQUAL . ::= DOT _ ::= UNDERSCORE > ::= GREATER -> ::= ARROW -= ::= MINUS_EQUAL ( ::= LPAREN -- ::= MINUS_MINUS ^= ::= XOR_EQUAL == ::= EQUAL_EQUAL - ::= MINUS <<= ::= LEFT_SHIFT_EQUAL ^ ::= XOR = ::= EQUAL != ::= NOT_EQUAL <= ::= LESS_EQUAL IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 4 << ::= LEFT_SHIFT , ::= COMMA &= ::= AND_EQUAL ! ::= NOT ~ ::= TWIDDLE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 5 Terminals: Identifier abstract assert boolean break byte case catch char class continue const default do double else enum extends false final finally float for goto if implements import instanceof int interface long native new non-sealed null package private protected public return short static strictfp super switch synchronized this throw throws transient true try void volatile while module open requires transitive exports opens to uses provides with IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS NOT REMAINDER XOR AND MULTIPLY OR TWIDDLE DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS ARROW COLON_COLON BeginLambda BeginIntersectionCast BeginTypeArguments ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed RestrictedIdentifierpermits BeginCaseElement RestrictedIdentifierWhen UNDERSCORE $eof $error IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 6 Rules: 0 $acc ::= Goal 1 Goal ::= PLUS_PLUS CompilationUnit 2 Goal ::= MINUS_MINUS MethodBody 3 Goal ::= RIGHT_SHIFT StaticInitializer 4 Goal ::= RIGHT_SHIFT Initializer 5 Goal ::= UNSIGNED_RIGHT_SHIFT Header1 Modifiersopt 6 Goal ::= NOT Header2 Modifiersopt 7 Goal ::= MULTIPLY BlockStatements 8 Goal ::= MULTIPLY CatchHeader 9 Goal ::= AND_AND FieldDeclaration 10 Goal ::= OR_OR ImportDeclaration 11 Goal ::= QUESTION PackageDeclaration 12 Goal ::= PLUS TypeDeclaration 13 Goal ::= DIVIDE GenericMethodDeclaration 14 Goal ::= AND ClassBodyDeclarations 15 Goal ::= MINUS RecordBodyDeclarations 16 Goal ::= REMAINDER Expression 17 Goal ::= REMAINDER ArrayInitializer 18 Goal ::= TWIDDLE BlockStatementsopt 19 Goal ::= LBRACE BlockStatementopt 20 Goal ::= OR_OR MemberValue 21 Goal ::= QUESTION AnnotationTypeMemberDeclaration 22 Goal ::= ARROW ParenthesizedLambdaParameterList 23 Goal ::= LPAREN ParenthesizedCastNameAndBounds 24 Goal ::= LESS ReferenceExpressionTypeArgumentsAndTrunk 25 Goal ::= AT TypeAnnotations 26 Goal ::= ARROW YieldStatement 27 Goal ::= ARROW SwitchLabelCaseLhs 28 Goal ::= RestrictedIdentifiersealed Modifiersopt 29 Goal ::= RestrictedIdentifierpermits PermittedSubclasses 30 Goal ::= BeginCaseElement Pattern 31 Goal ::= RestrictedIdentifierWhen Expression 32 Literal -> IntegerLiteral 33 Literal -> LongLiteral 34 Literal -> FloatingPointLiteral 35 Literal -> DoubleLiteral 36 Literal -> CharacterLiteral 37 Literal -> StringLiteral 38 Literal -> TextBlock 39 Literal -> null 40 Literal -> BooleanLiteral 41 BooleanLiteral -> true 42 BooleanLiteral -> false 43 Type ::= PrimitiveType 44 Type -> ReferenceType 45 PrimitiveType ::= TypeAnnotationsopt NumericType 46 NumericType -> IntegralType 47 NumericType -> FloatingPointType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 7 48 PrimitiveType ::= TypeAnnotationsopt boolean 49 PrimitiveType ::= TypeAnnotationsopt void 50 IntegralType -> byte 51 IntegralType -> short 52 IntegralType -> int 53 IntegralType -> long 54 IntegralType -> char 55 FloatingPointType -> float 56 FloatingPointType -> double 57 ReferenceType ::= ClassOrInterfaceType 58 ReferenceType -> ArrayType 59 ClassOrInterfaceType -> ClassOrInterface 60 ClassOrInterfaceType -> GenericType 61 ClassOrInterface ::= Name 62 ClassOrInterface ::= GenericType DOT Name 63 GenericType ::= ClassOrInterface TypeArguments 64 GenericType ::= ClassOrInterface LESS GREATER 65 ArrayTypeWithTypeArgumentsName ::= GenericType DOT Name 66 ArrayType ::= PrimitiveType Dims 67 ArrayType ::= Name Dims 68 ArrayType ::= ArrayTypeWithTypeArgumentsName Dims 69 ArrayType ::= GenericType Dims 70 ClassType -> ClassOrInterfaceType 71 Name ::= SimpleName 72 Name ::= TypeAnnotations SimpleName 73 Name -> QualifiedName 74 SimpleName -> Identifier 75 UnannotatableName -> SimpleName 76 UnannotatableName ::= UnannotatableName DOT SimpleName 77 QualifiedName ::= Name DOT SimpleName 78 QualifiedName ::= Name DOT TypeAnnotations SimpleName 79 TypeAnnotationsopt ::= 80 TypeAnnotationsopt -> TypeAnnotations 81 TypeAnnotations ::= TypeAnnotations0 82 TypeAnnotations0 -> TypeAnnotation 83 TypeAnnotations0 ::= TypeAnnotations0 TypeAnnotation 84 TypeAnnotation ::= NormalTypeAnnotation 85 TypeAnnotation ::= MarkerTypeAnnotation 86 TypeAnnotation ::= SingleMemberTypeAnnotation 87 TypeAnnotationName ::= AT308 UnannotatableName 88 NormalTypeAnnotation ::= TypeAnnotationName LPAREN MemberValuePairsopt RPAREN 89 MarkerTypeAnnotation ::= TypeAnnotationName 90 SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN 91 RejectTypeAnnotations ::= 92 PushZeroTypeAnnotations ::= 93 VariableDeclaratorIdOrThis ::= this 94 VariableDeclaratorIdOrThis ::= UnannotatableName DOT this 95 VariableDeclaratorIdOrThis ::= VariableDeclaratorId 96 CompilationUnit ::= EnterCompilationUnit InternalCompilationUnit IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 8 97 InternalCompilationUnit ::= PackageDeclaration 98 InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports 99 InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports TypeDeclarations 100 InternalCompilationUnit ::= PackageDeclaration TypeDeclarations 101 InternalCompilationUnit ::= ImportDeclarations ReduceImports 102 InternalCompilationUnit ::= 103 InternalCompilationUnit ::= ImportDeclarations ReduceImports ModuleDeclaration 104 InternalCompilationUnit ::= ModuleDeclaration 105 ModuleDeclaration ::= ModuleHeader ModuleBody 106 InternalCompilationUnit ::= ImplicitlyDeclaredClassBodyDeclarations 107 InternalCompilationUnit ::= ImportDeclarations ReduceImports ImplicitlyDeclaredClassBodyDeclarations 108 ModuleHeader ::= Modifiersopt ModuleModifieropt module UnannotatableName 109 ModuleModifieropt ::= 110 ModuleModifieropt ::= ModuleModifier 111 ModuleModifier -> open 112 ModuleBody ::= LBRACE ModuleStatementsOpt RBRACE 113 ModuleStatementsOpt ::= 114 ModuleStatementsOpt -> ModuleStatements 115 ModuleStatements ::= ModuleStatement 116 ModuleStatements ::= ModuleStatements ModuleStatement 117 ModuleStatement ::= RequiresStatement 118 ModuleStatement ::= ExportsStatement 119 ModuleStatement ::= OpensStatement 120 ModuleStatement ::= UsesStatement 121 ModuleStatement ::= ProvidesStatement 122 RequiresStatement ::= SingleRequiresModuleName SEMICOLON 123 SingleRequiresModuleName ::= requires RequiresModifiersopt UnannotatableName 124 RequiresModifiersopt ::= RequiresModifiers 125 RequiresModifiersopt ::= 126 RequiresModifiers -> RequiresModifier 127 RequiresModifiers ::= RequiresModifiers RequiresModifier 128 RequiresModifier -> transitive 129 RequiresModifier -> static 130 ExportsStatement ::= ExportsHeader TargetModuleListopt SEMICOLON 131 ExportsHeader ::= exports SinglePkgName 132 TargetModuleListopt ::= 133 TargetModuleListopt ::= to TargetModuleNameList 134 TargetModuleName ::= UnannotatableName 135 TargetModuleNameList -> TargetModuleName 136 TargetModuleNameList ::= TargetModuleNameList COMMA TargetModuleName 137 SinglePkgName ::= UnannotatableName 138 OpensStatement ::= OpensHeader TargetModuleListopt SEMICOLON 139 OpensHeader ::= opens SinglePkgName 140 UsesStatement ::= UsesHeader SEMICOLON 141 UsesHeader ::= uses Name 142 ProvidesStatement ::= ProvidesInterface WithClause SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 9 143 ProvidesInterface ::= provides Name 144 ServiceImplName ::= Name 145 ServiceImplNameList -> ServiceImplName 146 ServiceImplNameList ::= ServiceImplNameList COMMA ServiceImplName 147 WithClause ::= with ServiceImplNameList 148 ReduceImports ::= 149 EnterCompilationUnit ::= 150 Header -> ImportDeclaration 151 Header -> PackageDeclaration 152 Header -> ClassHeader 153 Header -> InterfaceHeader 154 Header -> EnumHeader 155 Header -> RecordHeaderPart 156 Header -> AnnotationTypeDeclarationHeader 157 Header -> StaticInitializer 158 Header -> RecoveryMethodHeader 159 Header -> FieldDeclaration 160 Header -> AllocationHeader 161 Header -> ArrayCreationHeader 162 Header -> ModuleHeader 163 Header -> RequiresStatement 164 Header -> ExportsStatement 165 Header -> UsesStatement 166 Header -> ProvidesStatement 167 Header -> OpensStatement 168 Header1 -> Header 169 Header1 -> ConstructorHeader 170 Header2 -> Header 171 Header2 -> EnumConstantHeader 172 CatchHeader ::= catch LPAREN CatchFormalParameter RPAREN LBRACE 173 ImportDeclarations -> ImportDeclaration 174 ImportDeclarations ::= ImportDeclarations ImportDeclaration 175 TypeDeclarations -> TypeDeclaration 176 TypeDeclarations ::= TypeDeclarations TypeDeclaration 177 PackageDeclaration ::= PackageDeclarationName SEMICOLON 178 PackageDeclarationName ::= Modifiers package PushRealModifiers Name RejectTypeAnnotations 179 PackageDeclarationName ::= PackageComment package Name RejectTypeAnnotations 180 PackageComment ::= 181 ImportDeclaration -> SingleTypeImportDeclaration 182 ImportDeclaration -> TypeImportOnDemandDeclaration 183 ImportDeclaration -> SingleStaticImportDeclaration 184 ImportDeclaration -> StaticImportOnDemandDeclaration 185 SingleTypeImportDeclaration ::= SingleTypeImportDeclarationName SEMICOLON 186 SingleTypeImportDeclarationName ::= import Name RejectTypeAnnotations 187 TypeImportOnDemandDeclaration ::= TypeImportOnDemandDeclarationName SEMICOLON 188 TypeImportOnDemandDeclarationName ::= import Name DOT RejectTypeAnnotations MULTIPLY 189 TypeDeclaration -> ClassDeclaration IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 10 190 TypeDeclaration -> InterfaceDeclaration 191 TypeDeclaration ::= SEMICOLON 192 TypeDeclaration -> EnumDeclaration 193 TypeDeclaration -> AnnotationTypeDeclaration 194 TypeDeclaration -> RecordDeclaration 195 Modifiers -> Modifier 196 Modifiers ::= Modifiers Modifier 197 Modifier -> public 198 Modifier -> protected 199 Modifier -> private 200 Modifier -> static 201 Modifier -> abstract 202 Modifier -> final 203 Modifier -> native 204 Modifier -> non-sealed 205 Modifier -> RestrictedIdentifiersealed 206 Modifier -> synchronized 207 Modifier -> transient 208 Modifier -> volatile 209 Modifier -> strictfp 210 Modifier ::= Annotation 211 ClassDeclaration ::= ClassHeader ClassBody 212 ClassHeader ::= ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt 213 ClassHeaderName ::= ClassHeaderName1 TypeParameters 214 ClassHeaderName -> ClassHeaderName1 215 ClassHeaderName1 ::= Modifiersopt class Identifier 216 ClassHeaderExtends ::= extends ClassType 217 ClassHeaderImplements ::= implements InterfaceTypeList 218 InterfaceTypeList -> InterfaceType 219 InterfaceTypeList ::= InterfaceTypeList COMMA InterfaceType 220 InterfaceType ::= ClassOrInterfaceType 221 ClassBody ::= LBRACE ClassBodyDeclarationsopt RBRACE 222 ClassBodyDeclarations ::= ClassBodyDeclaration 223 ClassBodyDeclarations ::= ClassBodyDeclarations ClassBodyDeclaration 224 ClassBodyDeclaration -> ClassMemberDeclaration 225 ClassBodyDeclaration -> StaticInitializer 226 ClassBodyDeclaration -> ConstructorDeclaration 227 ImplicitlyDeclaredClassBodyDeclarations -> ClassMemberDeclaration 228 ImplicitlyDeclaredClassBodyDeclarations ::= ClassMemberDeclaration ImplicitlyDeclaredClassBodyDeclarations 229 ClassBodyDeclaration ::= Diet NestedMethod CreateInitializer Block 230 Diet ::= 231 Initializer ::= Diet NestedMethod CreateInitializer Block 232 CreateInitializer ::= 233 ClassMemberDeclaration -> FieldDeclaration 234 ClassMemberDeclaration -> MethodDeclaration 235 ClassMemberDeclaration -> ClassDeclaration 236 ClassMemberDeclaration -> InterfaceDeclaration IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 11 237 ClassMemberDeclaration -> EnumDeclaration 238 ClassMemberDeclaration -> AnnotationTypeDeclaration 239 ClassMemberDeclaration -> RecordDeclaration 240 ClassMemberDeclaration ::= SEMICOLON 241 GenericMethodDeclaration -> MethodDeclaration 242 GenericMethodDeclaration -> ConstructorDeclaration 243 FieldDeclaration ::= Modifiersopt Type VariableDeclarators SEMICOLON 244 VariableDeclarators -> VariableDeclarator 245 VariableDeclarators ::= VariableDeclarators COMMA VariableDeclarator 246 VariableDeclarator ::= VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization 247 VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization 248 EnterVariable ::= 249 ExitVariableWithInitialization ::= 250 ExitVariableWithoutInitialization ::= 251 ForceNoDiet ::= 252 RestoreDiet ::= 253 VariableDeclaratorId ::= Identifier Dimsopt 254 VariableDeclaratorId ::= UNDERSCORE 255 VariableInitializer -> Expression 256 VariableInitializer -> ArrayInitializer 257 MethodDeclaration -> AbstractMethodDeclaration 258 MethodDeclaration ::= MethodHeader MethodBody 259 MethodDeclaration ::= DefaultMethodHeader MethodBody 260 AbstractMethodDeclaration ::= MethodHeader SEMICOLON 261 MethodHeader ::= MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt 262 DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt 263 MethodHeaderName ::= Modifiersopt TypeParameters Type Identifier LPAREN 264 MethodHeaderName ::= Modifiersopt Type Identifier LPAREN 265 DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier LPAREN 266 DefaultMethodHeaderName ::= ModifiersWithDefault Type Identifier LPAREN 267 ModifiersWithDefault ::= Modifiersopt default Modifiersopt 268 MethodHeaderRightParen ::= RPAREN 269 MethodHeaderExtendedDims ::= Dimsopt 270 MethodHeaderThrowsClause ::= throws ClassTypeList 271 ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt 272 ConstructorHeaderName ::= Modifiersopt TypeParameters Identifier LPAREN 273 ConstructorHeaderName ::= Modifiersopt Identifier LPAREN 274 FormalParameterList -> FormalParameter 275 FormalParameterList ::= FormalParameterList COMMA FormalParameter 276 FormalParameter ::= Modifiersopt Type VariableDeclaratorIdOrThis 277 FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 12 278 FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis 279 CatchFormalParameter ::= Modifiersopt CatchType VariableDeclaratorId 280 CatchType ::= UnionType 281 UnionType ::= Type 282 UnionType ::= UnionType OR Type 283 ClassTypeList -> ClassTypeElt 284 ClassTypeList ::= ClassTypeList COMMA ClassTypeElt 285 ClassTypeElt ::= ClassType 286 MethodBody ::= NestedMethod LBRACE BlockStatementsopt RBRACE 287 NestedMethod ::= 288 StaticInitializer ::= StaticOnly Block 289 StaticOnly ::= static 290 ConstructorDeclaration ::= ConstructorHeader MethodBody 291 ConstructorDeclaration ::= ConstructorHeader SEMICOLON 292 ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt RPAREN SEMICOLON 293 ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON 294 ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt RPAREN SEMICOLON 295 ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON 296 ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON 297 ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON 298 ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON 299 ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON 300 ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON 301 ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON 302 ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON 303 ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON 304 InterfaceDeclaration ::= InterfaceHeader InterfaceBody 305 InterfaceHeader ::= InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt 306 InterfaceHeaderName ::= InterfaceHeaderName1 TypeParameters 307 InterfaceHeaderName -> InterfaceHeaderName1 308 InterfaceHeaderName1 ::= Modifiersopt interface Identifier 309 InterfaceHeaderExtends ::= extends InterfaceTypeList 310 InterfaceBody ::= LBRACE InterfaceMemberDeclarationsopt RBRACE 311 InterfaceMemberDeclarations -> InterfaceMemberDeclaration 312 InterfaceMemberDeclarations ::= InterfaceMemberDeclarations InterfaceMemberDeclaration 313 InterfaceMemberDeclaration ::= SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 13 314 InterfaceMemberDeclaration -> ConstantDeclaration 315 InterfaceMemberDeclaration ::= DefaultMethodHeader MethodBody 316 InterfaceMemberDeclaration ::= MethodHeader MethodBody 317 InterfaceMemberDeclaration ::= DefaultMethodHeader SEMICOLON 318 InvalidConstructorDeclaration ::= ConstructorHeader MethodBody 319 InvalidConstructorDeclaration ::= ConstructorHeader SEMICOLON 320 InvalidInitializer -> StaticInitializer 321 InvalidInitializer -> Initializer 322 InterfaceMemberDeclaration -> AbstractMethodDeclaration 323 InterfaceMemberDeclaration -> InvalidConstructorDeclaration 324 InterfaceMemberDeclaration -> InvalidInitializer 325 InterfaceMemberDeclaration -> ClassDeclaration 326 InterfaceMemberDeclaration -> InterfaceDeclaration 327 InterfaceMemberDeclaration -> EnumDeclaration 328 InterfaceMemberDeclaration -> AnnotationTypeDeclaration 329 InterfaceMemberDeclaration -> RecordDeclaration 330 RecordDeclaration ::= RecordHeaderPart RecordBody 331 RecordHeaderPart ::= RecordHeaderName RecordHeader ClassHeaderImplementsopt 332 RecordHeaderName ::= RecordHeaderName1 TypeParameters 333 RecordHeaderName -> RecordHeaderName1 334 RecordHeaderName1 ::= Modifiersopt RestrictedIdentifierrecord Identifier 335 RecordComponentHeaderRightParen ::= RPAREN 336 RecordHeader ::= LPAREN RecordComponentsopt RecordComponentHeaderRightParen 337 RecordComponentsopt ::= 338 RecordComponentsopt -> RecordComponents 339 RecordComponents -> RecordComponent 340 RecordComponents ::= RecordComponents COMMA RecordComponent 341 RecordComponent -> VariableArityRecordComponent 342 RecordComponent ::= Modifiersopt Type VariableDeclaratorId 343 VariableArityRecordComponent ::= Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId 344 VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId 345 RecordBody ::= LBRACE RecordBodyDeclarationopt RBRACE 346 RecordBodyDeclarationopt ::= 347 RecordBodyDeclarationopt -> RecordBodyDeclarations 348 RecordBodyDeclarations ::= RecordBodyDeclaration 349 RecordBodyDeclarations ::= RecordBodyDeclarations RecordBodyDeclaration 350 RecordBodyDeclaration ::= ClassBodyDeclaration 351 RecordBodyDeclaration ::= CompactConstructorDeclaration 352 CompactConstructorDeclaration ::= CompactConstructorHeader MethodBody 353 CompactConstructorHeader ::= CompactConstructorHeaderName MethodHeaderThrowsClauseopt 354 CompactConstructorHeaderName ::= Modifiersopt Identifier 355 CompactConstructorHeaderName ::= Modifiersopt TypeParameters Identifier 356 InstanceofExpression -> RelationalExpression 357 InstanceofExpression ::= InstanceofExpression InstanceofRHS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 14 358 InstanceofRHS -> InstanceofClassic 359 InstanceofRHS -> InstanceofPattern 360 InstanceofClassic ::= instanceof Modifiersopt Type 361 InstanceofPattern ::= instanceof Pattern 362 Pattern -> TypePattern 363 Pattern -> RecordPattern 364 TypePattern ::= Modifiersopt Type Identifier 365 TypePattern ::= Modifiersopt Type UNDERSCORE 366 RecordPattern ::= Modifiersopt ReferenceType PushLPAREN ComponentPatternListopt PushRPAREN 367 ComponentPatternListopt ::= 368 ComponentPatternListopt -> ComponentPatternList 369 ComponentPatternList -> ComponentPattern 370 ComponentPatternList ::= ComponentPatternList COMMA ComponentPattern 371 ComponentPattern -> Pattern 372 ComponentPattern -> UnnamedPattern 373 UnnamedPattern ::= UNDERSCORE 374 ConstantDeclaration -> FieldDeclaration 375 PushLeftBrace ::= 376 ArrayInitializer ::= LBRACE PushLeftBrace ,opt RBRACE 377 ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers RBRACE 378 ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers COMMA RBRACE 379 VariableInitializers ::= VariableInitializer 380 VariableInitializers ::= VariableInitializers COMMA VariableInitializer 381 Block ::= OpenBlock LBRACE BlockStatementsopt RBRACE 382 OpenBlock ::= 383 BlockStatements ::= BlockStatement 384 BlockStatements ::= BlockStatements BlockStatement 385 BlockStatementopt ::= BlockStatementopt0 386 BlockStatementopt0 ::= 387 BlockStatementopt0 -> BlockStatement 388 BlockStatement -> LocalVariableDeclarationStatement 389 BlockStatement -> Statement 390 BlockStatement -> ClassDeclaration 391 BlockStatement -> RecordDeclaration 392 BlockStatement ::= InterfaceDeclaration 393 BlockStatement ::= AnnotationTypeDeclaration 394 BlockStatement ::= EnumDeclaration 395 LocalVariableDeclarationStatement ::= LocalVariableDeclaration SEMICOLON 396 LocalVariableDeclaration ::= Type PushModifiers VariableDeclarators 397 LocalVariableDeclaration ::= Modifiers Type PushRealModifiers VariableDeclarators 398 PushModifiers ::= 399 PushModifiersForHeader ::= 400 PushRealModifiers ::= 401 Statement -> StatementWithoutTrailingSubstatement 402 Statement -> LabeledStatement 403 Statement -> IfThenStatement 404 Statement -> IfThenElseStatement 405 Statement -> WhileStatement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 15 406 Statement -> ForStatement 407 Statement -> EnhancedForStatement 408 StatementNoShortIf -> StatementWithoutTrailingSubstatement 409 StatementNoShortIf -> LabeledStatementNoShortIf 410 StatementNoShortIf -> IfThenElseStatementNoShortIf 411 StatementNoShortIf -> WhileStatementNoShortIf 412 StatementNoShortIf -> ForStatementNoShortIf 413 StatementNoShortIf -> EnhancedForStatementNoShortIf 414 StatementWithoutTrailingSubstatement -> AssertStatement 415 StatementWithoutTrailingSubstatement -> Block 416 StatementWithoutTrailingSubstatement -> EmptyStatement 417 StatementWithoutTrailingSubstatement -> ExpressionStatement 418 StatementWithoutTrailingSubstatement -> SwitchStatement 419 StatementWithoutTrailingSubstatement -> DoStatement 420 StatementWithoutTrailingSubstatement -> BreakStatement 421 StatementWithoutTrailingSubstatement -> ContinueStatement 422 StatementWithoutTrailingSubstatement -> ReturnStatement 423 StatementWithoutTrailingSubstatement -> SynchronizedStatement 424 StatementWithoutTrailingSubstatement -> ThrowStatement 425 StatementWithoutTrailingSubstatement -> TryStatement 426 StatementWithoutTrailingSubstatement -> TryStatementWithResources 427 StatementWithoutTrailingSubstatement -> YieldStatement 428 EmptyStatement ::= SEMICOLON 429 LabeledStatement ::= Label COLON Statement 430 LabeledStatementNoShortIf ::= Label COLON StatementNoShortIf 431 Label ::= Identifier 432 ExpressionStatement ::= StatementExpression SEMICOLON 433 ExpressionStatement ::= ExplicitConstructorInvocation 434 StatementExpression ::= Assignment 435 StatementExpression ::= PreIncrementExpression 436 StatementExpression ::= PreDecrementExpression 437 StatementExpression ::= PostIncrementExpression 438 StatementExpression ::= PostDecrementExpression 439 StatementExpression ::= MethodInvocation 440 StatementExpression ::= ClassInstanceCreationExpression 441 PostExpressionInSwitchStatement ::= 442 PostExpressionInSwitchExpression ::= 443 PostExpressionInIf ::= 444 PostExpressionInWhile ::= 445 IfThenStatement ::= if LPAREN Expression RPAREN PostExpressionInIf Statement 446 IfThenElseStatement ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement 447 IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf 448 SwitchStatement ::= switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock 449 SwitchBlock ::= LBRACE RBRACE 450 SwitchBlock ::= LBRACE SwitchBlockStatements RBRACE 451 SwitchBlock ::= LBRACE SwitchLabels RBRACE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 16 452 SwitchBlock ::= LBRACE SwitchBlockStatements SwitchLabels RBRACE 453 SwitchBlockStatements -> SwitchBlockStatement 454 SwitchBlockStatements ::= SwitchBlockStatements SwitchBlockStatement 455 SwitchBlockStatement -> SwitchLabeledRule 456 SwitchBlockStatement ::= SwitchLabels BlockStatements 457 SwitchLabels -> SwitchLabel 458 SwitchLabels ::= SwitchLabels SwitchLabel 459 SwitchLabel ::= SwitchLabelCaseLhs COLON 460 SwitchLabel ::= default COLON 461 UnaryExpressionNotPlusMinus -> SwitchExpression 462 UnaryExpressionNotPlusMinus_NotName -> SwitchExpression 463 SwitchExpression ::= switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock 464 SwitchLabeledRule ::= SwitchLabeledExpression 465 SwitchLabeledRule ::= SwitchLabeledBlock 466 SwitchLabeledRule ::= SwitchLabeledThrowStatement 467 SwitchLabeledExpression ::= SwitchLabelExpr Expression SEMICOLON 468 SwitchLabeledBlock ::= SwitchLabelExpr Block 469 SwitchLabeledThrowStatement ::= SwitchLabelExpr ThrowExpression SEMICOLON 470 SwitchLabelExpr ::= default ARROW 471 SwitchLabelExpr ::= SwitchLabelCaseLhs BeginCaseExpr ARROW 472 SwitchLabelCaseLhs ::= case CaseLabelElements 473 CaseLabelElements -> CaseLabelElement 474 CaseLabelElements ::= CaseLabelElements COMMA CaseLabelElement 475 CaseLabelElement ::= ConstantExpression 476 CaseLabelElement ::= default 477 CaseLabelElement ::= CaseLabelElementPattern 478 CaseLabelElement ::= CaseLabelElementPattern Guard 479 CaseLabelElementPattern ::= BeginCaseElement Pattern 480 Guard ::= RestrictedIdentifierWhen Expression 481 YieldStatement ::= RestrictedIdentifierYield Expression SEMICOLON 482 WhileStatement ::= while LPAREN Expression RPAREN PostExpressionInWhile Statement 483 WhileStatementNoShortIf ::= while LPAREN Expression RPAREN PostExpressionInWhile StatementNoShortIf 484 DoStatement ::= do Statement while LPAREN Expression RPAREN SEMICOLON 485 ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement 486 ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf 487 ForInit ::= StatementExpressionList 488 ForInit -> LocalVariableDeclaration 489 ForUpdate -> StatementExpressionList 490 StatementExpressionList -> StatementExpression 491 StatementExpressionList ::= StatementExpressionList COMMA StatementExpression 492 AssertStatement ::= assert Expression SEMICOLON 493 AssertStatement ::= assert Expression COLON Expression SEMICOLON 494 BreakStatement ::= break SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 17 495 BreakStatement ::= break Identifier SEMICOLON 496 ContinueStatement ::= continue SEMICOLON 497 ContinueStatement ::= continue Identifier SEMICOLON 498 ReturnStatement ::= return Expressionopt SEMICOLON 499 ThrowStatement ::= throw Expression SEMICOLON 500 ThrowExpression ::= throw Expression 501 SynchronizedStatement ::= OnlySynchronized LPAREN Expression RPAREN Block 502 OnlySynchronized ::= synchronized 503 TryStatement ::= try TryBlock Catches 504 TryStatement ::= try TryBlock Catchesopt Finally 505 TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt 506 TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt Finally 507 ResourceSpecification ::= LPAREN Resources ;opt RPAREN 508 ;opt ::= 509 ;opt ::= SEMICOLON 510 Resources ::= Resource 511 Resources ::= Resources TrailingSemiColon Resource 512 TrailingSemiColon ::= SEMICOLON 513 Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization 514 Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization 515 Resource ::= Name 516 Resource ::= this 517 Resource ::= FieldAccess 518 TryBlock ::= Block ExitTryBlock 519 ExitTryBlock ::= 520 Catches -> CatchClause 521 Catches ::= Catches CatchClause 522 CatchClause ::= catch LPAREN CatchFormalParameter RPAREN Block 523 Finally ::= finally Block 524 PushLPAREN ::= LPAREN 525 PushRPAREN ::= RPAREN 526 Primary -> PrimaryNoNewArray 527 Primary -> ArrayCreationWithArrayInitializer 528 Primary -> ArrayCreationWithoutArrayInitializer 529 PrimaryNoNewArray -> Literal 530 PrimaryNoNewArray ::= this 531 PrimaryNoNewArray ::= PushLPAREN Expression_NotName PushRPAREN 532 PrimaryNoNewArray ::= PushLPAREN Name PushRPAREN 533 PrimaryNoNewArray -> ClassInstanceCreationExpression 534 PrimaryNoNewArray -> FieldAccess 535 PrimaryNoNewArray ::= Name DOT this 536 QualifiedSuperReceiver ::= Name DOT super 537 PrimaryNoNewArray ::= Name DOT class 538 PrimaryNoNewArray ::= Name Dims DOT class 539 PrimaryNoNewArray ::= PrimitiveType Dims DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 18 540 PrimaryNoNewArray ::= PrimitiveType DOT class 541 PrimaryNoNewArray -> MethodInvocation 542 PrimaryNoNewArray -> ArrayAccess 543 PrimaryNoNewArray -> LambdaExpression 544 PrimaryNoNewArray -> ReferenceExpression 545 ReferenceExpressionTypeArgumentsAndTrunk ::= ReferenceExpressionTypeArgumentsAndTrunk0 546 ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments Dimsopt 547 ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments DOT ClassOrInterfaceType Dimsopt 548 ReferenceExpression ::= PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew 549 ReferenceExpression ::= Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew 550 ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew 551 ReferenceExpression ::= Primary COLON_COLON NonWildTypeArgumentsopt Identifier 552 ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier 553 ReferenceExpression ::= super COLON_COLON NonWildTypeArgumentsopt Identifier 554 NonWildTypeArgumentsopt ::= 555 NonWildTypeArgumentsopt -> OnlyTypeArguments 556 IdentifierOrNew ::= Identifier 557 IdentifierOrNew ::= new 558 LambdaExpression ::= LambdaParameters ARROW LambdaBody 559 NestedLambda ::= 560 LambdaParameters ::= UNDERSCORE NestedLambda 561 LambdaParameters ::= Identifier NestedLambda 562 LambdaParameters ::= BeginLambda NestedLambda LambdaParameterList 563 ParenthesizedLambdaParameterList ::= LambdaParameterList 564 LambdaParameterList ::= PushLPAREN FormalParameterListopt PushRPAREN 565 LambdaParameterList ::= PushLPAREN TypeElidedFormalParameterList PushRPAREN 566 TypeElidedFormalParameterList -> TypeElidedFormalParameter 567 TypeElidedFormalParameterList ::= TypeElidedFormalParameterList COMMA TypeElidedFormalParameter 568 TypeElidedFormalParameter ::= Modifiersopt Identifier 569 TypeElidedFormalParameter ::= UNDERSCORE 570 LambdaBody ::= ElidedLeftBraceAndReturn Expression ElidedSemicolonAndRightBrace 571 LambdaBody -> Block 572 ElidedLeftBraceAndReturn ::= 573 AllocationHeader ::= new ClassType LPAREN ArgumentListopt RPAREN 574 ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 19 UnqualifiedClassBodyopt 575 ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt 576 ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 577 ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 578 ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 579 ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 580 EnterInstanceCreationArgumentList ::= 581 ClassInstanceCreationExpressionName ::= Name DOT new 582 UnqualifiedClassBodyopt ::= 583 UnqualifiedClassBodyopt ::= UnqualifiedEnterAnonymousClassBody ClassBody 584 UnqualifiedEnterAnonymousClassBody ::= 585 QualifiedClassBodyopt ::= 586 QualifiedClassBodyopt ::= QualifiedEnterAnonymousClassBody ClassBody 587 QualifiedEnterAnonymousClassBody ::= 588 ArgumentList ::= Expression 589 ArgumentList ::= ArgumentList COMMA Expression 590 ArrayCreationHeader ::= new PrimitiveType DimWithOrWithOutExprs 591 ArrayCreationHeader ::= new ClassOrInterfaceType DimWithOrWithOutExprs 592 ArrayCreationWithoutArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs 593 ArrayCreationWithArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs ArrayInitializer 594 ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs 595 ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer 596 DimWithOrWithOutExprs ::= DimWithOrWithOutExpr 597 DimWithOrWithOutExprs ::= DimWithOrWithOutExprs DimWithOrWithOutExpr 598 DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET Expression RBRACKET 599 DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET RBRACKET 600 Dims ::= DimsLoop IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 20 601 DimsLoop -> OneDimLoop 602 DimsLoop ::= DimsLoop OneDimLoop 603 OneDimLoop ::= LBRACKET RBRACKET 604 OneDimLoop ::= TypeAnnotations LBRACKET RBRACKET 605 FieldAccess ::= Primary DOT Identifier 606 FieldAccess ::= super DOT Identifier 607 FieldAccess ::= QualifiedSuperReceiver DOT Identifier 608 MethodInvocation ::= Name LPAREN ArgumentListopt RPAREN 609 MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 610 MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 611 MethodInvocation ::= Primary DOT Identifier LPAREN ArgumentListopt RPAREN 612 MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN 613 MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 614 MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 615 MethodInvocation ::= super DOT Identifier LPAREN ArgumentListopt RPAREN 616 ArrayAccess ::= Name LBRACKET Expression RBRACKET 617 ArrayAccess ::= PrimaryNoNewArray LBRACKET Expression RBRACKET 618 ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET 619 PostfixExpression -> Primary 620 PostfixExpression ::= Name 621 PostfixExpression -> PostIncrementExpression 622 PostfixExpression -> PostDecrementExpression 623 PostIncrementExpression ::= PostfixExpression PLUS_PLUS 624 PostDecrementExpression ::= PostfixExpression MINUS_MINUS 625 PushPosition ::= 626 UnaryExpression -> PreIncrementExpression 627 UnaryExpression -> PreDecrementExpression 628 UnaryExpression ::= PLUS PushPosition UnaryExpression 629 UnaryExpression ::= MINUS PushPosition UnaryExpression 630 UnaryExpression -> UnaryExpressionNotPlusMinus 631 PreIncrementExpression ::= PLUS_PLUS PushPosition UnaryExpression 632 PreDecrementExpression ::= MINUS_MINUS PushPosition UnaryExpression 633 UnaryExpressionNotPlusMinus -> PostfixExpression 634 UnaryExpressionNotPlusMinus ::= TWIDDLE PushPosition UnaryExpression 635 UnaryExpressionNotPlusMinus ::= NOT PushPosition UnaryExpression 636 UnaryExpressionNotPlusMinus -> CastExpression 637 CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression 638 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus 639 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 21 UnaryExpressionNotPlusMinus 640 CastExpression ::= PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus 641 CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus 642 CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus 643 AdditionalBoundsListOpt ::= 644 AdditionalBoundsListOpt -> AdditionalBoundList 645 ParenthesizedCastNameAndBounds ::= LPAREN CastNameAndBounds RPAREN 646 CastNameAndBounds ::= Name AdditionalBoundList 647 OnlyTypeArgumentsForCastExpression ::= OnlyTypeArguments 648 InsideCastExpression ::= 649 InsideCastExpressionLL1 ::= 650 InsideCastExpressionLL1WithBounds ::= 651 InsideCastExpressionWithQualifiedGenerics ::= 652 MultiplicativeExpression -> UnaryExpression 653 MultiplicativeExpression ::= MultiplicativeExpression MULTIPLY UnaryExpression 654 MultiplicativeExpression ::= MultiplicativeExpression DIVIDE UnaryExpression 655 MultiplicativeExpression ::= MultiplicativeExpression REMAINDER UnaryExpression 656 AdditiveExpression -> MultiplicativeExpression 657 AdditiveExpression ::= AdditiveExpression PLUS MultiplicativeExpression 658 AdditiveExpression ::= AdditiveExpression MINUS MultiplicativeExpression 659 ShiftExpression -> AdditiveExpression 660 ShiftExpression ::= ShiftExpression LEFT_SHIFT AdditiveExpression 661 ShiftExpression ::= ShiftExpression RIGHT_SHIFT AdditiveExpression 662 ShiftExpression ::= ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression 663 RelationalExpression -> ShiftExpression 664 RelationalExpression ::= RelationalExpression LESS ShiftExpression 665 RelationalExpression ::= RelationalExpression GREATER ShiftExpression 666 RelationalExpression ::= RelationalExpression LESS_EQUAL ShiftExpression 667 RelationalExpression ::= RelationalExpression GREATER_EQUAL ShiftExpression 668 EqualityExpression -> InstanceofExpression 669 EqualityExpression ::= EqualityExpression EQUAL_EQUAL InstanceofExpression 670 EqualityExpression ::= EqualityExpression NOT_EQUAL InstanceofExpression 671 AndExpression -> EqualityExpression 672 AndExpression ::= AndExpression AND EqualityExpression 673 ExclusiveOrExpression -> AndExpression 674 ExclusiveOrExpression ::= ExclusiveOrExpression XOR AndExpression 675 InclusiveOrExpression -> ExclusiveOrExpression 676 InclusiveOrExpression ::= InclusiveOrExpression OR ExclusiveOrExpression 677 ConditionalAndExpression -> InclusiveOrExpression 678 ConditionalAndExpression ::= ConditionalAndExpression AND_AND IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 22 InclusiveOrExpression 679 ConditionalOrExpression -> ConditionalAndExpression 680 ConditionalOrExpression ::= ConditionalOrExpression OR_OR ConditionalAndExpression 681 ConditionalExpression -> ConditionalOrExpression 682 ConditionalExpression ::= ConditionalOrExpression QUESTION Expression COLON ConditionalExpression 683 AssignmentExpression -> ConditionalExpression 684 AssignmentExpression -> Assignment 685 Assignment ::= PostfixExpression AssignmentOperator AssignmentExpression 686 InvalidArrayInitializerAssignement ::= PostfixExpression AssignmentOperator ArrayInitializer 687 Assignment ::= InvalidArrayInitializerAssignement 688 AssignmentOperator ::= EQUAL 689 AssignmentOperator ::= MULTIPLY_EQUAL 690 AssignmentOperator ::= DIVIDE_EQUAL 691 AssignmentOperator ::= REMAINDER_EQUAL 692 AssignmentOperator ::= PLUS_EQUAL 693 AssignmentOperator ::= MINUS_EQUAL 694 AssignmentOperator ::= LEFT_SHIFT_EQUAL 695 AssignmentOperator ::= RIGHT_SHIFT_EQUAL 696 AssignmentOperator ::= UNSIGNED_RIGHT_SHIFT_EQUAL 697 AssignmentOperator ::= AND_EQUAL 698 AssignmentOperator ::= XOR_EQUAL 699 AssignmentOperator ::= OR_EQUAL 700 Expression ::= AssignmentExpression 701 ClassHeaderExtendsopt ::= 702 ClassHeaderExtendsopt -> ClassHeaderExtends 703 Expressionopt ::= 704 Expressionopt -> Expression 705 ConstantExpression -> Expression 706 ,opt ::= 707 ,opt -> COMMA 708 ClassBodyDeclarationsopt ::= 709 ClassBodyDeclarationsopt ::= NestedType ClassBodyDeclarations 710 Modifiersopt ::= 711 Modifiersopt ::= Modifiers 712 BlockStatementsopt ::= 713 BlockStatementsopt -> BlockStatements 714 Dimsopt ::= 715 Dimsopt -> Dims 716 ArgumentListopt ::= 717 ArgumentListopt -> ArgumentList 718 MethodHeaderThrowsClauseopt ::= 719 MethodHeaderThrowsClauseopt -> MethodHeaderThrowsClause 720 FormalParameterListopt ::= 721 FormalParameterListopt -> FormalParameterList 722 ClassHeaderImplementsopt ::= 723 ClassHeaderImplementsopt -> ClassHeaderImplements 724 ClassHeaderPermittedSubclassesopt ::= 725 ClassHeaderPermittedSubclassesopt -> ClassHeaderPermittedSubclasses IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 23 726 PermittedSubclasses ::= ClassTypeList 727 ClassHeaderPermittedSubclasses ::= RestrictedIdentifierpermits ClassTypeList 728 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ::= 729 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt -> InterfaceHeaderPermittedSubClassesAndSubInterfaces 730 InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= RestrictedIdentifierpermits ClassTypeList 731 InterfaceMemberDeclarationsopt ::= 732 InterfaceMemberDeclarationsopt ::= NestedType InterfaceMemberDeclarations 733 NestedType ::= 734 ForInitopt ::= 735 ForInitopt -> ForInit 736 ForUpdateopt ::= 737 ForUpdateopt -> ForUpdate 738 InterfaceHeaderExtendsopt ::= 739 InterfaceHeaderExtendsopt -> InterfaceHeaderExtends 740 Catchesopt ::= 741 Catchesopt -> Catches 742 EnumDeclaration ::= EnumHeader EnumBody 743 EnumHeader ::= EnumHeaderName ClassHeaderImplementsopt 744 EnumHeaderName ::= Modifiersopt enum Identifier 745 EnumHeaderName ::= Modifiersopt enum Identifier TypeParameters 746 EnumBody ::= LBRACE EnumBodyDeclarationsopt RBRACE 747 EnumBody ::= LBRACE COMMA EnumBodyDeclarationsopt RBRACE 748 EnumBody ::= LBRACE EnumConstants COMMA EnumBodyDeclarationsopt RBRACE 749 EnumBody ::= LBRACE EnumConstants EnumBodyDeclarationsopt RBRACE 750 EnumConstants -> EnumConstant 751 EnumConstants ::= EnumConstants COMMA EnumConstant 752 EnumConstantHeaderName ::= Modifiersopt Identifier 753 EnumConstantHeader ::= EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet 754 EnumConstant ::= EnumConstantHeader ForceNoDiet ClassBody RestoreDiet 755 EnumConstant ::= EnumConstantHeader 756 Arguments ::= LPAREN ArgumentListopt RPAREN 757 Argumentsopt ::= 758 Argumentsopt -> Arguments 759 EnumDeclarations ::= SEMICOLON ClassBodyDeclarationsopt 760 EnumBodyDeclarationsopt ::= 761 EnumBodyDeclarationsopt -> EnumDeclarations 762 EnhancedForStatement ::= EnhancedForStatementHeader Statement 763 EnhancedForStatementNoShortIf ::= EnhancedForStatementHeader StatementNoShortIf 764 EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers VariableDeclaratorId 765 EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId 766 EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON Expression RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 24 767 SingleStaticImportDeclaration ::= SingleStaticImportDeclarationName SEMICOLON 768 SingleStaticImportDeclarationName ::= import static Name RejectTypeAnnotations 769 StaticImportOnDemandDeclaration ::= StaticImportOnDemandDeclarationName SEMICOLON 770 StaticImportOnDemandDeclarationName ::= import static Name DOT RejectTypeAnnotations MULTIPLY 771 TypeArguments ::= LESS TypeArgumentList1 772 OnlyTypeArguments ::= LESS TypeArgumentList1 773 TypeArgumentList1 -> TypeArgument1 774 TypeArgumentList1 ::= TypeArgumentList COMMA TypeArgument1 775 TypeArgumentList -> TypeArgument 776 TypeArgumentList ::= TypeArgumentList COMMA TypeArgument 777 TypeArgument ::= ReferenceType 778 TypeArgument -> Wildcard 779 TypeArgument1 -> ReferenceType1 780 TypeArgument1 -> Wildcard1 781 ReferenceType1 ::= ReferenceType GREATER 782 ReferenceType1 ::= ClassOrInterface LESS TypeArgumentList2 783 TypeArgumentList2 -> TypeArgument2 784 TypeArgumentList2 ::= TypeArgumentList COMMA TypeArgument2 785 TypeArgument2 -> ReferenceType2 786 TypeArgument2 -> Wildcard2 787 ReferenceType2 ::= ReferenceType RIGHT_SHIFT 788 ReferenceType2 ::= ClassOrInterface LESS TypeArgumentList3 789 TypeArgumentList3 -> TypeArgument3 790 TypeArgumentList3 ::= TypeArgumentList COMMA TypeArgument3 791 TypeArgument3 -> ReferenceType3 792 TypeArgument3 -> Wildcard3 793 ReferenceType3 ::= ReferenceType UNSIGNED_RIGHT_SHIFT 794 Wildcard ::= TypeAnnotationsopt QUESTION 795 Wildcard ::= TypeAnnotationsopt QUESTION WildcardBounds 796 WildcardBounds ::= extends ReferenceType 797 WildcardBounds ::= super ReferenceType 798 Wildcard1 ::= TypeAnnotationsopt QUESTION GREATER 799 Wildcard1 ::= TypeAnnotationsopt QUESTION WildcardBounds1 800 WildcardBounds1 ::= extends ReferenceType1 801 WildcardBounds1 ::= super ReferenceType1 802 Wildcard2 ::= TypeAnnotationsopt QUESTION RIGHT_SHIFT 803 Wildcard2 ::= TypeAnnotationsopt QUESTION WildcardBounds2 804 WildcardBounds2 ::= extends ReferenceType2 805 WildcardBounds2 ::= super ReferenceType2 806 Wildcard3 ::= TypeAnnotationsopt QUESTION UNSIGNED_RIGHT_SHIFT 807 Wildcard3 ::= TypeAnnotationsopt QUESTION WildcardBounds3 808 WildcardBounds3 ::= extends ReferenceType3 809 WildcardBounds3 ::= super ReferenceType3 810 TypeParameterHeader ::= TypeAnnotationsopt Identifier 811 TypeParameters ::= LESS TypeParameterList1 812 TypeParameterList -> TypeParameter 813 TypeParameterList ::= TypeParameterList COMMA TypeParameter IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 25 814 TypeParameter -> TypeParameterHeader 815 TypeParameter ::= TypeParameterHeader extends ReferenceType 816 TypeParameter ::= TypeParameterHeader extends ReferenceType AdditionalBoundList 817 AdditionalBoundList -> AdditionalBound 818 AdditionalBoundList ::= AdditionalBoundList AdditionalBound 819 AdditionalBound ::= AND ReferenceType 820 TypeParameterList1 -> TypeParameter1 821 TypeParameterList1 ::= TypeParameterList COMMA TypeParameter1 822 TypeParameter1 ::= TypeParameterHeader GREATER 823 TypeParameter1 ::= TypeParameterHeader extends ReferenceType1 824 TypeParameter1 ::= TypeParameterHeader extends ReferenceType AdditionalBoundList1 825 AdditionalBoundList1 -> AdditionalBound1 826 AdditionalBoundList1 ::= AdditionalBoundList AdditionalBound1 827 AdditionalBound1 ::= AND ReferenceType1 828 PostfixExpression_NotName -> Primary 829 PostfixExpression_NotName -> PostIncrementExpression 830 PostfixExpression_NotName -> PostDecrementExpression 831 UnaryExpression_NotName -> PreIncrementExpression 832 UnaryExpression_NotName -> PreDecrementExpression 833 UnaryExpression_NotName ::= PLUS PushPosition UnaryExpression 834 UnaryExpression_NotName ::= MINUS PushPosition UnaryExpression 835 UnaryExpression_NotName -> UnaryExpressionNotPlusMinus_NotName 836 UnaryExpressionNotPlusMinus_NotName -> PostfixExpression_NotName 837 UnaryExpressionNotPlusMinus_NotName ::= TWIDDLE PushPosition UnaryExpression 838 UnaryExpressionNotPlusMinus_NotName ::= NOT PushPosition UnaryExpression 839 UnaryExpressionNotPlusMinus_NotName -> CastExpression 840 MultiplicativeExpression_NotName -> UnaryExpression_NotName 841 MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName MULTIPLY UnaryExpression 842 MultiplicativeExpression_NotName ::= Name MULTIPLY UnaryExpression 843 MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName DIVIDE UnaryExpression 844 MultiplicativeExpression_NotName ::= Name DIVIDE UnaryExpression 845 MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName REMAINDER UnaryExpression 846 MultiplicativeExpression_NotName ::= Name REMAINDER UnaryExpression 847 AdditiveExpression_NotName -> MultiplicativeExpression_NotName 848 AdditiveExpression_NotName ::= AdditiveExpression_NotName PLUS MultiplicativeExpression 849 AdditiveExpression_NotName ::= Name PLUS MultiplicativeExpression 850 AdditiveExpression_NotName ::= AdditiveExpression_NotName MINUS MultiplicativeExpression 851 AdditiveExpression_NotName ::= Name MINUS MultiplicativeExpression 852 ShiftExpression_NotName -> AdditiveExpression_NotName 853 ShiftExpression_NotName ::= ShiftExpression_NotName LEFT_SHIFT AdditiveExpression 854 ShiftExpression_NotName ::= Name LEFT_SHIFT AdditiveExpression 855 ShiftExpression_NotName ::= ShiftExpression_NotName RIGHT_SHIFT IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 26 AdditiveExpression 856 ShiftExpression_NotName ::= Name RIGHT_SHIFT AdditiveExpression 857 ShiftExpression_NotName ::= ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression 858 ShiftExpression_NotName ::= Name UNSIGNED_RIGHT_SHIFT AdditiveExpression 859 RelationalExpression_NotName -> ShiftExpression_NotName 860 RelationalExpression_NotName ::= ShiftExpression_NotName LESS ShiftExpression 861 RelationalExpression_NotName ::= Name LESS ShiftExpression 862 RelationalExpression_NotName ::= ShiftExpression_NotName GREATER ShiftExpression 863 RelationalExpression_NotName ::= Name GREATER ShiftExpression 864 RelationalExpression_NotName ::= RelationalExpression_NotName LESS_EQUAL ShiftExpression 865 RelationalExpression_NotName ::= Name LESS_EQUAL ShiftExpression 866 RelationalExpression_NotName ::= RelationalExpression_NotName GREATER_EQUAL ShiftExpression 867 RelationalExpression_NotName ::= Name GREATER_EQUAL ShiftExpression 868 InstanceofExpression_NotName -> RelationalExpression_NotName 869 InstanceofExpression_NotName ::= Name InstanceofRHS 870 InstanceofExpression_NotName ::= InstanceofExpression_NotName InstanceofRHS 871 EqualityExpression_NotName -> InstanceofExpression_NotName 872 EqualityExpression_NotName ::= EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression 873 EqualityExpression_NotName ::= Name EQUAL_EQUAL InstanceofExpression 874 EqualityExpression_NotName ::= EqualityExpression_NotName NOT_EQUAL InstanceofExpression 875 EqualityExpression_NotName ::= Name NOT_EQUAL InstanceofExpression 876 AndExpression_NotName -> EqualityExpression_NotName 877 AndExpression_NotName ::= AndExpression_NotName AND EqualityExpression 878 AndExpression_NotName ::= Name AND EqualityExpression 879 ExclusiveOrExpression_NotName -> AndExpression_NotName 880 ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName XOR AndExpression 881 ExclusiveOrExpression_NotName ::= Name XOR AndExpression 882 InclusiveOrExpression_NotName -> ExclusiveOrExpression_NotName 883 InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName OR ExclusiveOrExpression 884 InclusiveOrExpression_NotName ::= Name OR ExclusiveOrExpression 885 ConditionalAndExpression_NotName -> InclusiveOrExpression_NotName 886 ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName AND_AND InclusiveOrExpression 887 ConditionalAndExpression_NotName ::= Name AND_AND InclusiveOrExpression 888 ConditionalOrExpression_NotName -> ConditionalAndExpression_NotName 889 ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName OR_OR ConditionalAndExpression 890 ConditionalOrExpression_NotName ::= Name OR_OR ConditionalAndExpression 891 ConditionalExpression_NotName -> ConditionalOrExpression_NotName 892 ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 27 ConditionalExpression 893 ConditionalExpression_NotName ::= Name QUESTION Expression COLON ConditionalExpression 894 AssignmentExpression_NotName -> ConditionalExpression_NotName 895 AssignmentExpression_NotName -> Assignment 896 Expression_NotName -> AssignmentExpression_NotName 897 AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier 898 AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier TypeParameters 899 AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier TypeParameters 900 AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier 901 AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 902 AnnotationTypeDeclaration ::= AnnotationTypeDeclarationHeader AnnotationTypeBody 903 AnnotationTypeBody ::= LBRACE AnnotationTypeMemberDeclarationsopt RBRACE 904 AnnotationTypeMemberDeclarationsopt ::= 905 AnnotationTypeMemberDeclarationsopt ::= NestedType AnnotationTypeMemberDeclarations 906 AnnotationTypeMemberDeclarations -> AnnotationTypeMemberDeclaration 907 AnnotationTypeMemberDeclarations ::= AnnotationTypeMemberDeclarations AnnotationTypeMemberDeclaration 908 AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier LPAREN 909 AnnotationMethodHeaderName ::= Modifiersopt Type Identifier LPAREN 910 AnnotationMethodHeaderDefaultValueopt ::= 911 AnnotationMethodHeaderDefaultValueopt ::= DefaultValue 912 AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt 913 AnnotationTypeMemberDeclaration ::= AnnotationMethodHeader SEMICOLON 914 AnnotationTypeMemberDeclaration -> ConstantDeclaration 915 AnnotationTypeMemberDeclaration -> ConstructorDeclaration 916 AnnotationTypeMemberDeclaration -> TypeDeclaration 917 DefaultValue ::= default MemberValue 918 Annotation -> NormalAnnotation 919 Annotation -> MarkerAnnotation 920 Annotation -> SingleMemberAnnotation 921 AnnotationName ::= AT UnannotatableName 922 NormalAnnotation ::= AnnotationName LPAREN MemberValuePairsopt RPAREN 923 MemberValuePairsopt ::= 924 MemberValuePairsopt -> MemberValuePairs 925 MemberValuePairs -> MemberValuePair 926 MemberValuePairs ::= MemberValuePairs COMMA MemberValuePair 927 MemberValuePair ::= SimpleName EQUAL EnterMemberValue MemberValue ExitMemberValue IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 28 928 EnterMemberValue ::= 929 ExitMemberValue ::= 930 MemberValue -> ConditionalExpression_NotName 931 MemberValue ::= Name 932 MemberValue -> Annotation 933 MemberValue -> MemberValueArrayInitializer 934 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE 935 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE 936 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE 937 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE 938 EnterMemberValueArrayInitializer ::= 939 MemberValues -> MemberValue 940 MemberValues ::= MemberValues COMMA MemberValue 941 MarkerAnnotation ::= AnnotationName 942 SingleMemberAnnotationMemberValue ::= MemberValue 943 SingleMemberAnnotation ::= AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN 944 RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier LPAREN 945 RecoveryMethodHeaderName ::= Modifiersopt Type Identifier LPAREN 946 RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier LPAREN 947 RecoveryMethodHeaderName ::= ModifiersWithDefault Type Identifier LPAREN 948 RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt 949 RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 29 *** The following Terminals are useless: const goto IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 30 Cross-reference table: $error ==>> ,opt ==>> 706 707 ;opt ==>> 508 509 AND ==>> 14 672 819 827 877 878 AND_AND ==>> 9 678 886 887 AND_EQUAL ==>> 697 ARROW ==>> 22 26 27 470 471 558 AT ==>> 25 897 898 899 900 921 AT308 ==>> 87 AT308DOTDOTDOT ==>> 278 344 AbstractMethodDeclaration ==>> 260 AdditionalBound ==>> 819 AdditionalBound1 ==>> 827 AdditionalBoundList ==>> 817 818 AdditionalBoundList1 ==>> 825 826 AdditionalBoundsListOpt ==>> 643 644 AdditiveExpression ==>> 656 657 658 AdditiveExpression_NotName ==>> 847 848 849 850 851 AllocationHeader ==>> 573 AndExpression ==>> 671 672 AndExpression_NotName ==>> 876 877 878 Annotation ==>> 918 919 920 AnnotationMethodHeader ==>> 912 AnnotationMethodHeaderDefaultValueopt ==>> 910 911 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 31 AnnotationMethodHeaderName ==>> 908 909 AnnotationName ==>> 921 AnnotationTypeBody ==>> 903 AnnotationTypeDeclaration ==>> 902 AnnotationTypeDeclarationHeader ==>> 901 AnnotationTypeDeclarationHeaderName ==>> 897 898 899 900 AnnotationTypeMemberDeclaration ==>> 913 914 915 916 AnnotationTypeMemberDeclarations ==>> 906 907 AnnotationTypeMemberDeclarationsopt ==>> 904 905 ArgumentList ==>> 588 589 ArgumentListopt ==>> 716 717 Arguments ==>> 756 Argumentsopt ==>> 757 758 ArrayAccess ==>> 616 617 618 ArrayCreationHeader ==>> 590 591 ArrayCreationWithArrayInitializer ==>> 593 595 ArrayCreationWithoutArrayInitializer ==>> 592 594 ArrayInitializer ==>> 376 377 378 ArrayType ==>> 66 67 68 69 ArrayTypeWithTypeArgumentsName ==>> 65 AssertStatement ==>> 492 493 Assignment ==>> 685 687 AssignmentExpression ==>> 683 684 AssignmentExpression_NotName ==>> 894 895 AssignmentOperator ==>> 688 689 690 691 692 693 694 695 696 697 698 699 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 32 BeginCaseElement ==>> 30 479 BeginCaseExpr ==>> 471 BeginIntersectionCast ==>> 641 BeginLambda ==>> 562 BeginTypeArguments ==>> 550 Block ==>> 381 BlockStatement ==>> 388 389 390 391 392 393 394 BlockStatementopt ==>> 385 BlockStatementopt0 ==>> 386 387 BlockStatements ==>> 383 384 BlockStatementsopt ==>> 712 713 BooleanLiteral ==>> 41 42 BreakStatement ==>> 494 495 COLON ==>> 429 430 459 460 493 682 766 892 893 COLON_COLON ==>> 548 549 550 551 552 553 COMMA ==>> 136 146 219 245 275 284 340 370 378 380 474 491 567 589 707 747 748 751 774 776 784 790 813 821 926 934 936 940 CaseLabelElement ==>> 475 476 477 478 CaseLabelElementPattern ==>> 479 CaseLabelElements ==>> 473 474 CastExpression ==>> 637 638 639 640 641 642 CastNameAndBounds ==>> 646 CatchClause ==>> 522 CatchFormalParameter ==>> 279 CatchHeader ==>> 172 CatchType ==>> 280 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 33 Catches ==>> 520 521 Catchesopt ==>> 740 741 CharacterLiteral ==>> 36 ClassBody ==>> 221 ClassBodyDeclaration ==>> 224 225 226 229 ClassBodyDeclarations ==>> 222 223 ClassBodyDeclarationsopt ==>> 708 709 ClassDeclaration ==>> 211 ClassHeader ==>> 212 ClassHeaderExtends ==>> 216 ClassHeaderExtendsopt ==>> 701 702 ClassHeaderImplements ==>> 217 ClassHeaderImplementsopt ==>> 722 723 ClassHeaderName ==>> 213 214 ClassHeaderName1 ==>> 215 ClassHeaderPermittedSubclasses ==>> 727 ClassHeaderPermittedSubclassesopt ==>> 724 725 ClassInstanceCreationExpression ==>> 574 575 576 577 578 579 ClassInstanceCreationExpressionName ==>> 581 ClassMemberDeclaration ==>> 233 234 235 236 237 238 239 240 ClassOrInterface ==>> 61 62 ClassOrInterfaceType ==>> 59 60 ClassType ==>> 70 ClassTypeElt ==>> 285 ClassTypeList ==>> 283 284 CompactConstructorDeclaration ==>> 352 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 34 CompactConstructorHeader ==>> 353 CompactConstructorHeaderName ==>> 354 355 CompilationUnit ==>> 96 ComponentPattern ==>> 371 372 ComponentPatternList ==>> 369 370 ComponentPatternListopt ==>> 367 368 ConditionalAndExpression ==>> 677 678 ConditionalAndExpression_NotName ==>> 885 886 887 ConditionalExpression ==>> 681 682 ConditionalExpression_NotName ==>> 891 892 893 ConditionalOrExpression ==>> 679 680 ConditionalOrExpression_NotName ==>> 888 889 890 ConstantDeclaration ==>> 374 ConstantExpression ==>> 705 ConstructorDeclaration ==>> 290 291 ConstructorHeader ==>> 271 ConstructorHeaderName ==>> 272 273 ContinueStatement ==>> 496 497 CreateInitializer ==>> 232 DIVIDE ==>> 13 654 843 844 DIVIDE_EQUAL ==>> 690 DOT ==>> 62 65 76 77 78 94 188 296 297 298 299 300 301 302 303 535 536 537 538 539 540 547 576 577 581 605 606 607 609 610 611 612 613 614 615 639 770 DefaultMethodHeader ==>> 262 DefaultMethodHeaderName ==>> 265 266 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 35 DefaultValue ==>> 917 Diet ==>> 230 DimWithOrWithOutExpr ==>> 598 599 DimWithOrWithOutExprs ==>> 596 597 Dims ==>> 600 DimsLoop ==>> 601 602 Dimsopt ==>> 714 715 DoStatement ==>> 484 DoubleLiteral ==>> 35 ELLIPSIS ==>> 277 278 343 344 EQUAL ==>> 247 513 514 688 927 EQUAL_EQUAL ==>> 669 872 873 ElidedLeftBraceAndReturn ==>> 572 ElidedSemicolonAndRightBrace ==>> 570 EmptyStatement ==>> 428 EnhancedForStatement ==>> 762 EnhancedForStatementHeader ==>> 766 EnhancedForStatementHeaderInit ==>> 764 765 EnhancedForStatementNoShortIf ==>> 763 EnterCompilationUnit ==>> 149 EnterInstanceCreationArgumentList ==>> 580 EnterMemberValue ==>> 928 EnterMemberValueArrayInitializer ==>> 938 EnterVariable ==>> 248 EnumBody ==>> 746 747 748 749 EnumBodyDeclarationsopt ==>> 760 761 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 36 EnumConstant ==>> 754 755 EnumConstantHeader ==>> 753 EnumConstantHeaderName ==>> 752 EnumConstants ==>> 750 751 EnumDeclaration ==>> 742 EnumDeclarations ==>> 759 EnumHeader ==>> 743 EnumHeaderName ==>> 744 745 EqualityExpression ==>> 668 669 670 EqualityExpression_NotName ==>> 871 872 873 874 875 ExclusiveOrExpression ==>> 673 674 ExclusiveOrExpression_NotName ==>> 879 880 881 ExitMemberValue ==>> 929 ExitTryBlock ==>> 519 ExitVariableWithInitialization ==>> 249 ExitVariableWithoutInitialization ==>> 250 ExplicitConstructorInvocation ==>> 292 293 294 295 296 297 298 299 300 301 302 303 ExportsHeader ==>> 131 ExportsStatement ==>> 130 Expression ==>> 700 ExpressionStatement ==>> 432 433 Expression_NotName ==>> 896 Expressionopt ==>> 703 704 FieldAccess ==>> 605 606 607 FieldDeclaration ==>> 243 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 37 Finally ==>> 523 FloatingPointLiteral ==>> 34 FloatingPointType ==>> 55 56 ForInit ==>> 487 488 ForInitopt ==>> 734 735 ForStatement ==>> 485 ForStatementNoShortIf ==>> 486 ForUpdate ==>> 489 ForUpdateopt ==>> 736 737 ForceNoDiet ==>> 251 FormalParameter ==>> 276 277 278 FormalParameterList ==>> 274 275 FormalParameterListopt ==>> 720 721 GREATER ==>> 64 665 781 798 822 862 863 GREATER_EQUAL ==>> 667 866 867 GenericMethodDeclaration ==>> 241 242 GenericType ==>> 63 64 Goal ==>> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Guard ==>> 480 Header ==>> 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 Header1 ==>> 168 169 Header2 ==>> 170 171 Identifier ==>> 74 215 253 263 264 265 266 272 273 308 334 354 355 364 431 495 497 551 552 553 556 561 568 605 606 607 609 610 611 612 613 614 615 744 745 752 810 897 898 899 900 908 909 944 945 946 947 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 38 IdentifierOrNew ==>> 556 557 IfThenElseStatement ==>> 446 IfThenElseStatementNoShortIf ==>> 447 IfThenStatement ==>> 445 ImplicitlyDeclaredClassBodyDeclarations ==>> 227 228 ImportDeclaration ==>> 181 182 183 184 ImportDeclarations ==>> 173 174 InclusiveOrExpression ==>> 675 676 InclusiveOrExpression_NotName ==>> 882 883 884 Initializer ==>> 231 InsideCastExpression ==>> 648 InsideCastExpressionLL1 ==>> 649 InsideCastExpressionLL1WithBounds ==>> 650 InsideCastExpressionWithQualifiedGenerics ==>> 651 InstanceofClassic ==>> 360 InstanceofExpression ==>> 356 357 InstanceofExpression_NotName ==>> 868 869 870 InstanceofPattern ==>> 361 InstanceofRHS ==>> 358 359 IntegerLiteral ==>> 32 IntegralType ==>> 50 51 52 53 54 InterfaceBody ==>> 310 InterfaceDeclaration ==>> 304 InterfaceHeader ==>> 305 InterfaceHeaderExtends ==>> 309 InterfaceHeaderExtendsopt ==>> 738 739 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 39 InterfaceHeaderName ==>> 306 307 InterfaceHeaderName1 ==>> 308 InterfaceHeaderPermittedSubClassesAndSubInterfaces ==>> 730 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ==>> 728 729 InterfaceMemberDeclaration ==>> 313 314 315 316 317 322 323 324 325 326 327 328 329 InterfaceMemberDeclarations ==>> 311 312 InterfaceMemberDeclarationsopt ==>> 731 732 InterfaceType ==>> 220 InterfaceTypeList ==>> 218 219 InternalCompilationUnit ==>> 97 98 99 100 101 102 103 104 106 107 InvalidArrayInitializerAssignement ==>> 686 InvalidConstructorDeclaration ==>> 318 319 InvalidInitializer ==>> 320 321 LBRACE ==>> 19 112 172 221 286 310 345 376 377 378 381 449 450 451 452 746 747 748 749 903 934 935 936 937 LBRACKET ==>> 598 599 603 604 616 617 618 LEFT_SHIFT ==>> 660 853 854 LEFT_SHIFT_EQUAL ==>> 694 LESS ==>> 24 64 664 771 772 782 788 811 860 861 LESS_EQUAL ==>> 666 864 865 LPAREN ==>> 23 88 90 172 263 264 265 266 272 273 292 293 294 295 296 297 298 299 300 301 302 303 336 445 446 447 448 463 482 483 484 485 486 501 507 522 524 573 574 575 576 577 578 579 608 609 610 611 612 613 614 615 645 756 764 765 908 909 922 943 944 945 946 947 Label ==>> 431 LabeledStatement ==>> 429 LabeledStatementNoShortIf ==>> 430 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 40 LambdaBody ==>> 570 571 LambdaExpression ==>> 558 LambdaParameterList ==>> 564 565 LambdaParameters ==>> 560 561 562 Literal ==>> 32 33 34 35 36 37 38 39 40 LocalVariableDeclaration ==>> 396 397 LocalVariableDeclarationStatement ==>> 395 LongLiteral ==>> 33 MINUS ==>> 15 629 658 834 850 851 MINUS_EQUAL ==>> 693 MINUS_MINUS ==>> 2 624 632 MULTIPLY ==>> 7 8 188 653 770 841 842 MULTIPLY_EQUAL ==>> 689 MarkerAnnotation ==>> 941 MarkerTypeAnnotation ==>> 89 MemberValue ==>> 930 931 932 933 MemberValueArrayInitializer ==>> 934 935 936 937 MemberValuePair ==>> 927 MemberValuePairs ==>> 925 926 MemberValuePairsopt ==>> 923 924 MemberValues ==>> 939 940 MethodBody ==>> 286 MethodDeclaration ==>> 257 258 259 MethodHeader ==>> 261 MethodHeaderExtendedDims ==>> 269 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 41 MethodHeaderName ==>> 263 264 MethodHeaderRightParen ==>> 268 MethodHeaderThrowsClause ==>> 270 MethodHeaderThrowsClauseopt ==>> 718 719 MethodInvocation ==>> 608 609 610 611 612 613 614 615 Modifier ==>> 197 198 199 200 201 202 203 204 205 206 207 208 209 210 Modifiers ==>> 195 196 ModifiersWithDefault ==>> 267 Modifiersopt ==>> 710 711 ModuleBody ==>> 112 ModuleDeclaration ==>> 105 ModuleHeader ==>> 108 ModuleModifier ==>> 111 ModuleModifieropt ==>> 109 110 ModuleStatement ==>> 117 118 119 120 121 ModuleStatements ==>> 115 116 ModuleStatementsOpt ==>> 113 114 MultiplicativeExpression ==>> 652 653 654 655 MultiplicativeExpression_NotName ==>> 840 841 842 843 844 845 846 NOT ==>> 6 635 838 NOT_EQUAL ==>> 670 874 875 Name ==>> 71 72 73 NestedLambda ==>> 559 NestedMethod ==>> 287 NestedType ==>> 733 NonWildTypeArgumentsopt ==>> 554 555 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 42 NormalAnnotation ==>> 922 NormalTypeAnnotation ==>> 88 NumericType ==>> 46 47 OR ==>> 282 676 883 884 OR_EQUAL ==>> 699 OR_OR ==>> 10 20 680 889 890 OneDimLoop ==>> 603 604 OnlySynchronized ==>> 502 OnlyTypeArguments ==>> 772 OnlyTypeArgumentsForCastExpression ==>> 647 OpenBlock ==>> 382 OpensHeader ==>> 139 OpensStatement ==>> 138 PLUS ==>> 12 628 657 833 848 849 PLUS_EQUAL ==>> 692 PLUS_PLUS ==>> 1 623 631 PackageComment ==>> 180 PackageDeclaration ==>> 177 PackageDeclarationName ==>> 178 179 ParenthesizedCastNameAndBounds ==>> 645 ParenthesizedLambdaParameterList ==>> 563 Pattern ==>> 362 363 PermittedSubclasses ==>> 726 PostDecrementExpression ==>> 624 PostExpressionInIf ==>> 443 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 43 PostExpressionInSwitchExpression ==>> 442 PostExpressionInSwitchStatement ==>> 441 PostExpressionInWhile ==>> 444 PostIncrementExpression ==>> 623 PostfixExpression ==>> 619 620 621 622 PostfixExpression_NotName ==>> 828 829 830 PreDecrementExpression ==>> 632 PreIncrementExpression ==>> 631 Primary ==>> 526 527 528 PrimaryNoNewArray ==>> 529 530 531 532 533 534 535 537 538 539 540 541 542 543 544 PrimitiveType ==>> 45 48 49 ProvidesInterface ==>> 143 ProvidesStatement ==>> 142 PushLPAREN ==>> 524 PushLeftBrace ==>> 375 PushModifiers ==>> 398 PushModifiersForHeader ==>> 399 PushPosition ==>> 625 PushRPAREN ==>> 525 PushRealModifiers ==>> 400 PushZeroTypeAnnotations ==>> 92 QUESTION ==>> 11 21 682 794 795 798 799 802 803 806 807 892 893 QualifiedClassBodyopt ==>> 585 586 QualifiedEnterAnonymousClassBody ==>> 587 QualifiedName ==>> 77 78 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 44 QualifiedSuperReceiver ==>> 536 RBRACE ==>> 112 221 286 310 345 376 377 378 381 449 450 451 452 746 747 748 749 903 934 935 936 937 RBRACKET ==>> 598 599 603 604 616 617 618 REMAINDER ==>> 16 17 655 845 846 REMAINDER_EQUAL ==>> 691 RIGHT_SHIFT ==>> 3 4 661 787 802 855 856 RIGHT_SHIFT_EQUAL ==>> 695 RPAREN ==>> 88 90 172 268 292 293 294 295 296 297 298 299 300 301 302 303 335 445 446 447 448 463 482 483 484 485 486 501 507 522 525 573 574 575 576 577 578 579 608 609 610 611 612 613 614 615 645 756 766 922 943 RecordBody ==>> 345 RecordBodyDeclaration ==>> 350 351 RecordBodyDeclarationopt ==>> 346 347 RecordBodyDeclarations ==>> 348 349 RecordComponent ==>> 341 342 RecordComponentHeaderRightParen ==>> 335 RecordComponents ==>> 339 340 RecordComponentsopt ==>> 337 338 RecordDeclaration ==>> 330 RecordHeader ==>> 336 RecordHeaderName ==>> 332 333 RecordHeaderName1 ==>> 334 RecordHeaderPart ==>> 331 RecordPattern ==>> 366 RecoveryMethodHeader ==>> 948 949 RecoveryMethodHeaderName ==>> 944 945 946 947 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 45 ReduceImports ==>> 148 ReferenceExpression ==>> 548 549 550 551 552 553 ReferenceExpressionTypeArgumentsAndTrunk ==>> 545 ReferenceExpressionTypeArgumentsAndTrunk0 ==>> 546 547 ReferenceType ==>> 57 58 ReferenceType1 ==>> 781 782 ReferenceType2 ==>> 787 788 ReferenceType3 ==>> 793 RejectTypeAnnotations ==>> 91 RelationalExpression ==>> 663 664 665 666 667 RelationalExpression_NotName ==>> 859 860 861 862 863 864 865 866 867 RequiresModifier ==>> 128 129 RequiresModifiers ==>> 126 127 RequiresModifiersopt ==>> 124 125 RequiresStatement ==>> 122 Resource ==>> 513 514 515 516 517 ResourceSpecification ==>> 507 Resources ==>> 510 511 RestoreDiet ==>> 252 RestrictedIdentifierWhen ==>> 31 480 RestrictedIdentifierYield ==>> 481 RestrictedIdentifierpermits ==>> 29 727 730 RestrictedIdentifierrecord ==>> 334 RestrictedIdentifiersealed ==>> 28 205 ReturnStatement ==>> 498 SEMICOLON ==>> 122 130 138 140 142 177 185 187 191 240 243 260 291 292 293 294 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 46 295 296 297 298 299 300 301 302 303 313 317 319 395 428 432 467 469 481 484 485 485 486 486 492 493 494 495 496 497 498 499 509 512 759 767 769 913 ServiceImplName ==>> 144 ServiceImplNameList ==>> 145 146 ShiftExpression ==>> 659 660 661 662 ShiftExpression_NotName ==>> 852 853 854 855 856 857 858 SimpleName ==>> 74 SingleMemberAnnotation ==>> 943 SingleMemberAnnotationMemberValue ==>> 942 SingleMemberTypeAnnotation ==>> 90 SinglePkgName ==>> 137 SingleRequiresModuleName ==>> 123 SingleStaticImportDeclaration ==>> 767 SingleStaticImportDeclarationName ==>> 768 SingleTypeImportDeclaration ==>> 185 SingleTypeImportDeclarationName ==>> 186 Statement ==>> 401 402 403 404 405 406 407 StatementExpression ==>> 434 435 436 437 438 439 440 StatementExpressionList ==>> 490 491 StatementNoShortIf ==>> 408 409 410 411 412 413 StatementWithoutTrailingSubstatement ==>> 414 415 416 417 418 419 420 421 422 423 424 425 426 427 StaticImportOnDemandDeclaration ==>> 769 StaticImportOnDemandDeclarationName ==>> 770 StaticInitializer ==>> 288 StaticOnly ==>> 289 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 47 StringLiteral ==>> 37 SwitchBlock ==>> 449 450 451 452 SwitchBlockStatement ==>> 455 456 SwitchBlockStatements ==>> 453 454 SwitchExpression ==>> 463 SwitchLabel ==>> 459 460 SwitchLabelCaseLhs ==>> 472 SwitchLabelExpr ==>> 470 471 SwitchLabeledBlock ==>> 468 SwitchLabeledExpression ==>> 467 SwitchLabeledRule ==>> 464 465 466 SwitchLabeledThrowStatement ==>> 469 SwitchLabels ==>> 457 458 SwitchStatement ==>> 448 SynchronizedStatement ==>> 501 TWIDDLE ==>> 18 634 837 TargetModuleListopt ==>> 132 133 TargetModuleName ==>> 134 TargetModuleNameList ==>> 135 136 TextBlock ==>> 38 ThrowExpression ==>> 500 ThrowStatement ==>> 499 TrailingSemiColon ==>> 512 TryBlock ==>> 518 TryStatement ==>> 503 504 TryStatementWithResources ==>> 505 506 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 48 Type ==>> 43 44 TypeAnnotation ==>> 84 85 86 TypeAnnotationName ==>> 87 TypeAnnotations ==>> 81 TypeAnnotations0 ==>> 82 83 TypeAnnotationsopt ==>> 79 80 TypeArgument ==>> 777 778 TypeArgument1 ==>> 779 780 TypeArgument2 ==>> 785 786 TypeArgument3 ==>> 791 792 TypeArgumentList ==>> 775 776 TypeArgumentList1 ==>> 773 774 TypeArgumentList2 ==>> 783 784 TypeArgumentList3 ==>> 789 790 TypeArguments ==>> 771 TypeDeclaration ==>> 189 190 191 192 193 194 TypeDeclarations ==>> 175 176 TypeElidedFormalParameter ==>> 568 569 TypeElidedFormalParameterList ==>> 566 567 TypeImportOnDemandDeclaration ==>> 187 TypeImportOnDemandDeclarationName ==>> 188 TypeParameter ==>> 814 815 816 TypeParameter1 ==>> 822 823 824 TypeParameterHeader ==>> 810 TypeParameterList ==>> 812 813 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 49 TypeParameterList1 ==>> 820 821 TypeParameters ==>> 811 TypePattern ==>> 364 365 UNDERSCORE ==>> 254 365 373 560 569 UNSIGNED_RIGHT_SHIFT ==>> 5 662 793 806 857 858 UNSIGNED_RIGHT_SHIFT_EQUAL ==>> 696 UnannotatableName ==>> 75 76 UnaryExpression ==>> 626 627 628 629 630 UnaryExpressionNotPlusMinus ==>> 461 633 634 635 636 UnaryExpressionNotPlusMinus_NotName ==>> 462 836 837 838 839 UnaryExpression_NotName ==>> 831 832 833 834 835 UnionType ==>> 281 282 UnnamedPattern ==>> 373 UnqualifiedClassBodyopt ==>> 582 583 UnqualifiedEnterAnonymousClassBody ==>> 584 UsesHeader ==>> 141 UsesStatement ==>> 140 VariableArityRecordComponent ==>> 343 344 VariableDeclarator ==>> 246 247 VariableDeclaratorId ==>> 253 254 VariableDeclaratorIdOrThis ==>> 93 94 95 VariableDeclarators ==>> 244 245 VariableInitializer ==>> 255 256 VariableInitializers ==>> 379 380 WhileStatement ==>> 482 WhileStatementNoShortIf ==>> 483 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 50 Wildcard ==>> 794 795 Wildcard1 ==>> 798 799 Wildcard2 ==>> 802 803 Wildcard3 ==>> 806 807 WildcardBounds ==>> 796 797 WildcardBounds1 ==>> 800 801 WildcardBounds2 ==>> 804 805 WildcardBounds3 ==>> 808 809 WithClause ==>> 147 XOR ==>> 674 880 881 XOR_EQUAL ==>> 698 YieldStatement ==>> 481 abstract ==>> 201 assert ==>> 492 493 boolean ==>> 48 break ==>> 494 495 byte ==>> 50 case ==>> 472 catch ==>> 172 522 char ==>> 54 class ==>> 215 537 538 539 540 const ==>> continue ==>> 496 497 default ==>> 267 460 470 476 917 do ==>> 484 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 51 double ==>> 56 else ==>> 446 447 enum ==>> 744 745 exports ==>> 131 extends ==>> 216 309 796 800 804 808 815 816 823 824 false ==>> 42 final ==>> 202 finally ==>> 523 float ==>> 55 for ==>> 485 486 764 765 goto ==>> if ==>> 445 446 447 implements ==>> 217 import ==>> 186 188 768 770 instanceof ==>> 360 361 int ==>> 52 interface ==>> 308 897 898 899 900 long ==>> 53 module ==>> 108 native ==>> 203 new ==>> 557 573 574 575 576 577 581 590 591 592 593 594 595 non-sealed ==>> 204 null ==>> 39 open ==>> 111 opens ==>> 139 package ==>> 178 179 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 52 private ==>> 199 protected ==>> 198 provides ==>> 143 public ==>> 197 requires ==>> 123 return ==>> 498 short ==>> 51 static ==>> 129 200 289 768 770 strictfp ==>> 209 super ==>> 294 295 296 297 298 299 536 553 606 614 615 797 801 805 809 switch ==>> 448 463 synchronized ==>> 206 502 this ==>> 93 94 292 293 300 301 302 303 516 530 535 throw ==>> 499 500 throws ==>> 270 to ==>> 133 transient ==>> 207 transitive ==>> 128 true ==>> 41 try ==>> 503 504 505 506 uses ==>> 141 void ==>> 49 volatile ==>> 208 while ==>> 482 483 484 with ==>> 147 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 53 First map for non-terminals: $acc ==>> PLUS_PLUS MINUS_MINUS RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS NOT REMAINDER AND MULTIPLY TWIDDLE DIVIDE LESS LPAREN LBRACE QUESTION AT ARROW RestrictedIdentifiersealed RestrictedIdentifierpermits BeginCaseElement RestrictedIdentifierWhen Goal ==>> PLUS_PLUS MINUS_MINUS RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS NOT REMAINDER AND MULTIPLY TWIDDLE DIVIDE LESS LPAREN LBRACE QUESTION AT ARROW RestrictedIdentifiersealed RestrictedIdentifierpermits BeginCaseElement RestrictedIdentifierWhen CompilationUnit ==>> $empty Identifier abstract boolean byte char class default double enum final float import int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed MethodBody ==>> LBRACE StaticInitializer ==>> static Initializer ==>> LBRACE Header1 ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native new non-sealed package private protected public short static strictfp synchronized transient void volatile module open requires exports opens uses provides LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed Modifiersopt ==>> $empty abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed Header2 ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native new non-sealed package private protected public short static strictfp synchronized transient void volatile module open requires exports opens uses provides LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed BlockStatements ==>> Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE CatchHeader ==>> catch IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 54 FieldDeclaration ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed ImportDeclaration ==>> import PackageDeclaration ==>> abstract final native non-sealed package private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed TypeDeclaration ==>> abstract class enum final interface native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed GenericMethodDeclaration ==>> Identifier abstract boolean byte char default double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed ClassBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed RecordBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed Expression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ArrayInitializer ==>> LBRACE BlockStatementsopt ==>> $empty Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE BlockStatementopt ==>> $empty Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 55 long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE MemberValue ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 UNDERSCORE AnnotationTypeMemberDeclaration ==>> Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ParenthesizedLambdaParameterList ==>> LPAREN ParenthesizedCastNameAndBounds ==>> LPAREN ReferenceExpressionTypeArgumentsAndTrunk ==>> LESS TypeAnnotations ==>> AT308 YieldStatement ==>> RestrictedIdentifierYield SwitchLabelCaseLhs ==>> case PermittedSubclasses ==>> Identifier AT308 Pattern ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed Literal ==>> false null true IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock BooleanLiteral ==>> false true Type ==>> Identifier boolean byte char double float int long short void AT308 PrimitiveType ==>> boolean byte char double float int long short void AT308 ReferenceType ==>> Identifier boolean byte char double float int long short void AT308 TypeAnnotationsopt ==>> $empty AT308 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 56 NumericType ==>> byte char double float int long short IntegralType ==>> byte char int long short FloatingPointType ==>> double float ClassOrInterfaceType ==>> Identifier AT308 ArrayType ==>> Identifier boolean byte char double float int long short void AT308 ClassOrInterface ==>> Identifier AT308 GenericType ==>> Identifier AT308 Name ==>> Identifier AT308 TypeArguments ==>> LESS ArrayTypeWithTypeArgumentsName ==>> Identifier AT308 Dims ==>> LBRACKET AT308 ClassType ==>> Identifier AT308 SimpleName ==>> Identifier QualifiedName ==>> Identifier AT308 UnannotatableName ==>> Identifier TypeAnnotations0 ==>> AT308 TypeAnnotation ==>> AT308 NormalTypeAnnotation ==>> AT308 MarkerTypeAnnotation ==>> AT308 SingleMemberTypeAnnotation ==>> AT308 TypeAnnotationName ==>> AT308 MemberValuePairsopt ==>> $empty Identifier SingleMemberAnnotationMemberValue ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 UNDERSCORE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 57 RejectTypeAnnotations ==>> $empty PushZeroTypeAnnotations ==>> $empty VariableDeclaratorIdOrThis ==>> Identifier this UNDERSCORE VariableDeclaratorId ==>> Identifier UNDERSCORE EnterCompilationUnit ==>> $empty InternalCompilationUnit ==>> $empty Identifier abstract boolean byte char class default double enum final float import int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ImportDeclarations ==>> import ReduceImports ==>> $empty TypeDeclarations ==>> abstract class enum final interface native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed ModuleDeclaration ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile module open AT RestrictedIdentifiersealed ModuleHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile module open AT RestrictedIdentifiersealed ModuleBody ==>> LBRACE ImplicitlyDeclaredClassBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ModuleModifieropt ==>> $empty open ModuleModifier ==>> open ModuleStatementsOpt ==>> $empty requires exports opens uses provides ModuleStatements ==>> requires exports opens uses provides ModuleStatement ==>> requires exports opens uses provides RequiresStatement ==>> requires IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 58 ExportsStatement ==>> exports OpensStatement ==>> opens UsesStatement ==>> uses ProvidesStatement ==>> provides SingleRequiresModuleName ==>> requires RequiresModifiersopt ==>> $empty static transitive RequiresModifiers ==>> static transitive RequiresModifier ==>> static transitive ExportsHeader ==>> exports TargetModuleListopt ==>> $empty to SinglePkgName ==>> Identifier TargetModuleNameList ==>> Identifier TargetModuleName ==>> Identifier OpensHeader ==>> opens UsesHeader ==>> uses ProvidesInterface ==>> provides WithClause ==>> with ServiceImplName ==>> Identifier AT308 ServiceImplNameList ==>> Identifier AT308 Header ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native new non-sealed package private protected public short static strictfp synchronized transient void volatile module open requires exports opens uses provides LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ClassHeader ==>> abstract class final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed InterfaceHeader ==>> abstract final interface native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 59 EnumHeader ==>> abstract enum final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed RecordHeaderPart ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifierrecord RestrictedIdentifiersealed AnnotationTypeDeclarationHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed RecoveryMethodHeader ==>> Identifier abstract boolean byte char default double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed AllocationHeader ==>> new ArrayCreationHeader ==>> new ConstructorHeader ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed EnumConstantHeader ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed CatchFormalParameter ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed PackageDeclarationName ==>> abstract final native non-sealed package private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed Modifiers ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed PushRealModifiers ==>> $empty PackageComment ==>> $empty SingleTypeImportDeclaration ==>> import TypeImportOnDemandDeclaration ==>> import SingleStaticImportDeclaration ==>> import IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 60 StaticImportOnDemandDeclaration ==>> import SingleTypeImportDeclarationName ==>> import TypeImportOnDemandDeclarationName ==>> import ClassDeclaration ==>> abstract class final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed InterfaceDeclaration ==>> abstract final interface native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed EnumDeclaration ==>> abstract enum final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed AnnotationTypeDeclaration ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed RecordDeclaration ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifierrecord RestrictedIdentifiersealed Modifier ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed Annotation ==>> AT ClassBody ==>> LBRACE ClassHeaderName ==>> abstract class final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed ClassHeaderExtendsopt ==>> $empty extends ClassHeaderImplementsopt ==>> $empty implements ClassHeaderPermittedSubclassesopt ==>> $empty RestrictedIdentifierpermits ClassHeaderName1 ==>> abstract class final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed TypeParameters ==>> LESS ClassHeaderExtends ==>> extends IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 61 ClassHeaderImplements ==>> implements InterfaceTypeList ==>> Identifier AT308 InterfaceType ==>> Identifier AT308 ClassBodyDeclarationsopt ==>> $empty Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ClassBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ClassMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ConstructorDeclaration ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed Diet ==>> $empty NestedMethod ==>> $empty CreateInitializer ==>> $empty Block ==>> LBRACE MethodDeclaration ==>> Identifier abstract boolean byte char default double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed VariableDeclarators ==>> Identifier UNDERSCORE VariableDeclarator ==>> Identifier UNDERSCORE EnterVariable ==>> $empty ExitVariableWithoutInitialization ==>> $empty ForceNoDiet ==>> $empty IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 62 VariableInitializer ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 UNDERSCORE RestoreDiet ==>> $empty ExitVariableWithInitialization ==>> $empty Dimsopt ==>> $empty LBRACKET AT308 AbstractMethodDeclaration ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed MethodHeader ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed DefaultMethodHeader ==>> abstract default final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed MethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed FormalParameterListopt ==>> $empty Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed MethodHeaderRightParen ==>> RPAREN MethodHeaderExtendedDims ==>> $empty LBRACKET AT308 MethodHeaderThrowsClauseopt ==>> $empty throws DefaultMethodHeaderName ==>> abstract default final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed ModifiersWithDefault ==>> abstract default final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed MethodHeaderThrowsClause ==>> throws IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 63 ClassTypeList ==>> Identifier AT308 ConstructorHeaderName ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed FormalParameterList ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed FormalParameter ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed CatchType ==>> Identifier boolean byte char double float int long short void AT308 UnionType ==>> Identifier boolean byte char double float int long short void AT308 ClassTypeElt ==>> Identifier AT308 StaticOnly ==>> static ExplicitConstructorInvocation ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LESS LPAREN BeginLambda AT308 UNDERSCORE ArgumentListopt ==>> $empty Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE OnlyTypeArguments ==>> LESS Primary ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE InterfaceBody ==>> LBRACE InterfaceHeaderName ==>> abstract final interface native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed InterfaceHeaderExtendsopt ==>> $empty extends IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 64 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ==>> $empty RestrictedIdentifierpermits InterfaceHeaderName1 ==>> abstract final interface native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed InterfaceHeaderExtends ==>> extends InterfaceMemberDeclarationsopt ==>> $empty Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed InterfaceMemberDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed InterfaceMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ConstantDeclaration ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed InvalidConstructorDeclaration ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed InvalidInitializer ==>> static LBRACE RecordBody ==>> LBRACE RecordHeaderName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifierrecord RestrictedIdentifiersealed RecordHeader ==>> LPAREN RecordHeaderName1 ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifierrecord RestrictedIdentifiersealed RecordComponentHeaderRightParen ==>> RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 65 RecordComponentsopt ==>> $empty Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed RecordComponents ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed RecordComponent ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed VariableArityRecordComponent ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed RecordBodyDeclarationopt ==>> $empty Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed RecordBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed CompactConstructorDeclaration ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed CompactConstructorHeader ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed CompactConstructorHeaderName ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed InstanceofExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE RelationalExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 66 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE InstanceofRHS ==>> instanceof InstanceofClassic ==>> instanceof InstanceofPattern ==>> instanceof TypePattern ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed RecordPattern ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed PushLPAREN ==>> LPAREN ComponentPatternListopt ==>> $empty Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed UNDERSCORE PushRPAREN ==>> RPAREN ComponentPatternList ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed UNDERSCORE ComponentPattern ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed UNDERSCORE UnnamedPattern ==>> UNDERSCORE PushLeftBrace ==>> $empty ,opt ==>> $empty COMMA VariableInitializers ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 UNDERSCORE OpenBlock ==>> $empty BlockStatement ==>> Identifier abstract assert boolean break byte char class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 67 continue do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE BlockStatementopt0 ==>> $empty Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE LocalVariableDeclarationStatement ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed Statement ==>> Identifier assert boolean break byte char continue do double false float for if int long new null return short super switch synchronized this throw true try void while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield UNDERSCORE LocalVariableDeclaration ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed PushModifiers ==>> $empty PushModifiersForHeader ==>> $empty StatementWithoutTrailingSubstatement ==>> Identifier assert boolean break byte char continue do double false float int long new null return short super switch synchronized this throw true try void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield UNDERSCORE LabeledStatement ==>> Identifier IfThenStatement ==>> if IfThenElseStatement ==>> if IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 68 WhileStatement ==>> while ForStatement ==>> for EnhancedForStatement ==>> for StatementNoShortIf ==>> Identifier assert boolean break byte char continue do double false float for if int long new null return short super switch synchronized this throw true try void while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield UNDERSCORE LabeledStatementNoShortIf ==>> Identifier IfThenElseStatementNoShortIf ==>> if WhileStatementNoShortIf ==>> while ForStatementNoShortIf ==>> for EnhancedForStatementNoShortIf ==>> for AssertStatement ==>> assert EmptyStatement ==>> SEMICOLON ExpressionStatement ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN BeginLambda AT308 UNDERSCORE SwitchStatement ==>> switch DoStatement ==>> do BreakStatement ==>> break ContinueStatement ==>> continue ReturnStatement ==>> return SynchronizedStatement ==>> synchronized ThrowStatement ==>> throw TryStatement ==>> try TryStatementWithResources ==>> try Label ==>> Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 69 StatementExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 UNDERSCORE Assignment ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE PreIncrementExpression ==>> PLUS_PLUS PreDecrementExpression ==>> MINUS_MINUS PostIncrementExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE PostDecrementExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE MethodInvocation ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE ClassInstanceCreationExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE PostExpressionInSwitchStatement ==>> $empty PostExpressionInSwitchExpression ==>> $empty PostExpressionInIf ==>> $empty PostExpressionInWhile ==>> $empty SwitchBlock ==>> LBRACE SwitchBlockStatements ==>> case default SwitchLabels ==>> case default SwitchBlockStatement ==>> case default SwitchLabeledRule ==>> case default IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 70 SwitchLabel ==>> case default UnaryExpressionNotPlusMinus ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE SwitchExpression ==>> switch UnaryExpressionNotPlusMinus_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE SwitchLabeledExpression ==>> case default SwitchLabeledBlock ==>> case default SwitchLabeledThrowStatement ==>> case default SwitchLabelExpr ==>> case default ThrowExpression ==>> throw CaseLabelElements ==>> Identifier boolean byte char default double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 BeginCaseElement UNDERSCORE CaseLabelElement ==>> Identifier boolean byte char default double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 BeginCaseElement UNDERSCORE ConstantExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE CaseLabelElementPattern ==>> BeginCaseElement Guard ==>> RestrictedIdentifierWhen ForInitopt ==>> $empty Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 71 IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed UNDERSCORE Expressionopt ==>> $empty Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ForUpdateopt ==>> $empty Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 UNDERSCORE ForInit ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed UNDERSCORE StatementExpressionList ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 UNDERSCORE ForUpdate ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 UNDERSCORE OnlySynchronized ==>> synchronized TryBlock ==>> LBRACE Catches ==>> catch Catchesopt ==>> $empty catch Finally ==>> finally ResourceSpecification ==>> LPAREN Resources ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed UNDERSCORE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 72 ;opt ==>> $empty SEMICOLON Resource ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed UNDERSCORE TrailingSemiColon ==>> SEMICOLON FieldAccess ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE ExitTryBlock ==>> $empty CatchClause ==>> catch PrimaryNoNewArray ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE ArrayCreationWithArrayInitializer ==>> new ArrayCreationWithoutArrayInitializer ==>> new Expression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE QualifiedSuperReceiver ==>> Identifier AT308 ArrayAccess ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE LambdaExpression ==>> Identifier BeginLambda UNDERSCORE ReferenceExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE ReferenceExpressionTypeArgumentsAndTrunk0 ==>> LESS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 73 NonWildTypeArgumentsopt ==>> $empty LESS IdentifierOrNew ==>> Identifier new LambdaParameters ==>> Identifier BeginLambda UNDERSCORE LambdaBody ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 UNDERSCORE NestedLambda ==>> $empty LambdaParameterList ==>> LPAREN TypeElidedFormalParameterList ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed UNDERSCORE TypeElidedFormalParameter ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed UNDERSCORE ElidedLeftBraceAndReturn ==>> $empty EnterInstanceCreationArgumentList ==>> $empty UnqualifiedClassBodyopt ==>> $empty LBRACE QualifiedClassBodyopt ==>> $empty LBRACE ClassInstanceCreationExpressionName ==>> Identifier AT308 UnqualifiedEnterAnonymousClassBody ==>> $empty QualifiedEnterAnonymousClassBody ==>> $empty ArgumentList ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE DimWithOrWithOutExprs ==>> LBRACKET AT308 DimWithOrWithOutExpr ==>> LBRACKET AT308 DimsLoop ==>> LBRACKET AT308 OneDimLoop ==>> LBRACKET AT308 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 74 PostfixExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE PushPosition ==>> $empty UnaryExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE CastExpression ==>> LPAREN BeginIntersectionCast AdditionalBoundsListOpt ==>> $empty AND InsideCastExpression ==>> $empty OnlyTypeArgumentsForCastExpression ==>> LESS InsideCastExpressionWithQualifiedGenerics ==>> $empty InsideCastExpressionLL1 ==>> $empty CastNameAndBounds ==>> Identifier AT308 InsideCastExpressionLL1WithBounds ==>> $empty AdditionalBoundList ==>> AND MultiplicativeExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE AdditiveExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ShiftExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE EqualityExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 75 FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE AndExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ExclusiveOrExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE InclusiveOrExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ConditionalAndExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ConditionalOrExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ConditionalExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE AssignmentExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE AssignmentOperator ==>> PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL EQUAL InvalidArrayInitializerAssignement ==>> Identifier boolean byte char double IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 76 false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE NestedType ==>> $empty ClassHeaderPermittedSubclasses ==>> RestrictedIdentifierpermits InterfaceHeaderPermittedSubClassesAndSubInterfaces ==>> RestrictedIdentifierpermits EnumBody ==>> LBRACE EnumHeaderName ==>> abstract enum final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed EnumBodyDeclarationsopt ==>> $empty SEMICOLON EnumConstants ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed EnumConstant ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed EnumConstantHeaderName ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed Argumentsopt ==>> $empty LPAREN Arguments ==>> LPAREN EnumDeclarations ==>> SEMICOLON EnhancedForStatementHeader ==>> for EnhancedForStatementHeaderInit ==>> for SingleStaticImportDeclarationName ==>> import StaticImportOnDemandDeclarationName ==>> import TypeArgumentList1 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 TypeArgument1 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 77 TypeArgumentList ==>> Identifier boolean byte char double float int long short void QUESTION AT308 TypeArgument ==>> Identifier boolean byte char double float int long short void QUESTION AT308 Wildcard ==>> QUESTION AT308 ReferenceType1 ==>> Identifier boolean byte char double float int long short void AT308 Wildcard1 ==>> QUESTION AT308 TypeArgumentList2 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 TypeArgument2 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 ReferenceType2 ==>> Identifier boolean byte char double float int long short void AT308 Wildcard2 ==>> QUESTION AT308 TypeArgumentList3 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 TypeArgument3 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 ReferenceType3 ==>> Identifier boolean byte char double float int long short void AT308 Wildcard3 ==>> QUESTION AT308 WildcardBounds ==>> extends super WildcardBounds1 ==>> extends super WildcardBounds2 ==>> extends super WildcardBounds3 ==>> extends super TypeParameterHeader ==>> Identifier AT308 TypeParameterList1 ==>> Identifier AT308 TypeParameterList ==>> Identifier AT308 TypeParameter ==>> Identifier AT308 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 78 AdditionalBound ==>> AND TypeParameter1 ==>> Identifier AT308 AdditionalBoundList1 ==>> AND AdditionalBound1 ==>> AND PostfixExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UNDERSCORE UnaryExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE MultiplicativeExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE AdditiveExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ShiftExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE RelationalExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE InstanceofExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE EqualityExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 79 LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE AndExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ExclusiveOrExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE InclusiveOrExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ConditionalAndExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ConditionalOrExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE ConditionalExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE AssignmentExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE AnnotationTypeDeclarationHeaderName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed AnnotationTypeBody ==>> LBRACE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 80 AnnotationTypeMemberDeclarationsopt ==>> $empty Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed AnnotationTypeMemberDeclarations ==>> Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed AnnotationMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed AnnotationMethodHeaderDefaultValueopt ==>> $empty default DefaultValue ==>> default AnnotationMethodHeader ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed NormalAnnotation ==>> AT MarkerAnnotation ==>> AT SingleMemberAnnotation ==>> AT AnnotationName ==>> AT MemberValuePairs ==>> Identifier MemberValuePair ==>> Identifier EnterMemberValue ==>> $empty ExitMemberValue ==>> $empty MemberValueArrayInitializer ==>> LBRACE EnterMemberValueArrayInitializer ==>> $empty MemberValues ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 UNDERSCORE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 81 RecoveryMethodHeaderName ==>> Identifier abstract boolean byte char default double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 82 Follow Map: $acc ==>> $eof Goal ==>> $eof CompilationUnit ==>> $eof MethodBody ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof StaticInitializer ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Initializer ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Header1 ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof Modifiersopt ==>> Identifier boolean byte char class default double enum float int interface long short void module open LESS AT308 RestrictedIdentifierrecord $eof Header2 ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof BlockStatements ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof CatchHeader ==>> $eof IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 83 FieldDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ImportDeclaration ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof PackageDeclaration ==>> abstract class enum final import interface native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof TypeDeclaration ==>> Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof GenericMethodDeclaration ==>> $eof ClassBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof RecordBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Expression ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof ArrayInitializer ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof BlockStatementsopt ==>> RBRACE $eof IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 84 BlockStatementopt ==>> $eof MemberValue ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof AnnotationTypeMemberDeclaration ==>> Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ParenthesizedLambdaParameterList ==>> $eof ParenthesizedCastNameAndBounds ==>> $eof ReferenceExpressionTypeArgumentsAndTrunk ==>> COLON_COLON $eof TypeAnnotations ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS $eof YieldStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof SwitchLabelCaseLhs ==>> COLON BeginCaseExpr $eof PermittedSubclasses ==>> $eof Pattern ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierWhen $eof Literal ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 85 BooleanLiteral ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof Type ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof PrimitiveType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof ReferenceType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof TypeAnnotationsopt ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION NumericType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof IntegralType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof FloatingPointType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 86 ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof ClassOrInterfaceType ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof ArrayType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof ClassOrInterface ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof GenericType ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof Name ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile with PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON BeginTypeArguments ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof TypeArguments ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 87 OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof ArrayTypeWithTypeArgumentsName ==>> LBRACKET AT308 Dims ==>> Identifier abstract default final instanceof native non-sealed private protected public static strictfp synchronized this throws transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof ClassType ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LPAREN LBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof SimpleName ==>> Identifier abstract boolean byte char class default double enum final float implements instanceof int interface long native non-sealed package private protected public short static strictfp synchronized this transient void volatile module open to with PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON BeginTypeArguments ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifierrecord RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof QualifiedName ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile with PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON BeginTypeArguments ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof UnannotatableName ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open to LESS LPAREN RPAREN LBRACE RBRACE LBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 88 SEMICOLON QUESTION COMMA DOT AT ELLIPSIS AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof TypeAnnotations0 ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof TypeAnnotation ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof NormalTypeAnnotation ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof MarkerTypeAnnotation ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof SingleMemberTypeAnnotation ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof TypeAnnotationName ==>> Identifier boolean byte char double float int long short void LPAREN LBRACKET QUESTION ELLIPSIS AT308 $eof MemberValuePairsopt ==>> RPAREN SingleMemberAnnotationMemberValue ==>> RPAREN RejectTypeAnnotations ==>> MULTIPLY SEMICOLON PushZeroTypeAnnotations ==>> ELLIPSIS VariableDeclaratorIdOrThis ==>> RPAREN COMMA VariableDeclaratorId ==>> RPAREN SEMICOLON COLON COMMA EQUAL EnterCompilationUnit ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof InternalCompilationUnit ==>> $eof ImportDeclarations ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ReduceImports ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 89 RestrictedIdentifiersealed $eof TypeDeclarations ==>> abstract class enum final interface native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ModuleDeclaration ==>> $eof ModuleHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof ModuleBody ==>> $eof ImplicitlyDeclaredClassBodyDeclarations ==>> $eof ModuleModifieropt ==>> module ModuleModifier ==>> module ModuleStatementsOpt ==>> RBRACE ModuleStatements ==>> requires exports opens uses provides RBRACE ModuleStatement ==>> requires exports opens uses provides RBRACE RequiresStatement ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof ExportsStatement ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof OpensStatement ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof UsesStatement ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof ProvidesStatement ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof SingleRequiresModuleName ==>> SEMICOLON RequiresModifiersopt ==>> Identifier RequiresModifiers ==>> Identifier static transitive IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 90 RequiresModifier ==>> Identifier static transitive ExportsHeader ==>> to SEMICOLON TargetModuleListopt ==>> SEMICOLON SinglePkgName ==>> to SEMICOLON TargetModuleNameList ==>> SEMICOLON COMMA TargetModuleName ==>> SEMICOLON COMMA OpensHeader ==>> to SEMICOLON UsesHeader ==>> SEMICOLON ProvidesInterface ==>> with WithClause ==>> SEMICOLON ServiceImplName ==>> SEMICOLON COMMA ServiceImplNameList ==>> SEMICOLON COMMA Header ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof ClassHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof InterfaceHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof EnumHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof RecordHeaderPart ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof AnnotationTypeDeclarationHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof RecoveryMethodHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 91 AllocationHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof ArrayCreationHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof ConstructorHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON AT RestrictedIdentifiersealed $eof EnumConstantHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof CatchFormalParameter ==>> RPAREN PackageDeclarationName ==>> SEMICOLON Modifiers ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof PushRealModifiers ==>> Identifier interface AT308 UNDERSCORE PackageComment ==>> package SingleTypeImportDeclaration ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof TypeImportOnDemandDeclaration ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SingleStaticImportDeclaration ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof StaticImportOnDemandDeclaration ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native non-sealed private protected public short static strictfp synchronized IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 92 transient void volatile module open LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SingleTypeImportDeclarationName ==>> SEMICOLON TypeImportOnDemandDeclarationName ==>> SEMICOLON ClassDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof InterfaceDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof EnumDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof AnnotationTypeDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof RecordDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 93 try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof Modifier ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Annotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ClassBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if instanceof int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON BeginLambda ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof ClassHeaderName ==>> abstract extends final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderExtendsopt ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderImplementsopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderPermittedSubclassesopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof ClassHeaderName1 ==>> abstract extends final implements native non-sealed IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 94 private protected public static strictfp synchronized transient volatile LESS LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeParameters ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderExtends ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderImplements ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceTypeList ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE COMMA AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceType ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE COMMA AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassBodyDeclarationsopt ==>> RBRACE ClassBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ClassMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ConstructorDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Diet ==>> LBRACE NestedMethod ==>> LBRACE CreateInitializer ==>> LBRACE Block ==>> Identifier abstract assert boolean break byte case catch char IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 95 class continue default do double else enum false final finally float for if instanceof int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON BeginLambda ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof MethodDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof VariableDeclarators ==>> SEMICOLON COMMA VariableDeclarator ==>> SEMICOLON COMMA EnterVariable ==>> SEMICOLON COMMA EQUAL ExitVariableWithoutInitialization ==>> SEMICOLON COMMA ForceNoDiet ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super switch synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE RBRACE SEMICOLON COMMA AT BeginLambda BeginIntersectionCast AT308 RestrictedIdentifiersealed UNDERSCORE $eof VariableInitializer ==>> RPAREN RBRACE SEMICOLON COMMA RestoreDiet ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof ExitVariableWithInitialization ==>> RPAREN SEMICOLON COMMA Dimsopt ==>> abstract default final native non-sealed private protected public static strictfp synchronized throws transient volatile AND RPAREN LBRACE SEMICOLON COLON COMMA EQUAL AT COLON_COLON RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 96 AbstractMethodDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof MethodHeader ==>> LBRACE SEMICOLON DefaultMethodHeader ==>> LBRACE SEMICOLON MethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed FormalParameterListopt ==>> RPAREN MethodHeaderRightParen ==>> abstract default final native non-sealed private protected public static strictfp synchronized throws transient volatile LBRACE LBRACKET SEMICOLON AT AT308 RestrictedIdentifiersealed $eof MethodHeaderExtendedDims ==>> abstract default final native non-sealed private protected public static strictfp synchronized throws transient volatile LBRACE SEMICOLON AT RestrictedIdentifiersealed $eof MethodHeaderThrowsClauseopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON AT RestrictedIdentifiersealed $eof DefaultMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed ModifiersWithDefault ==>> Identifier boolean byte char double float int long short void LESS AT308 MethodHeaderThrowsClause ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON AT RestrictedIdentifiersealed $eof ClassTypeList ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof ConstructorHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed FormalParameterList ==>> RPAREN COMMA IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 97 FormalParameter ==>> RPAREN COMMA CatchType ==>> Identifier UNDERSCORE UnionType ==>> Identifier OR UNDERSCORE ClassTypeElt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof StaticOnly ==>> LBRACE ExplicitConstructorInvocation ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof ArgumentListopt ==>> RPAREN OnlyTypeArguments ==>> Identifier new super this AND RPAREN LBRACKET DOT COLON_COLON AT308 $eof Primary ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InterfaceBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof InterfaceHeaderName ==>> abstract extends final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 98 InterfaceHeaderExtendsopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof InterfaceHeaderName1 ==>> abstract extends final native non-sealed private protected public static strictfp synchronized transient volatile LESS LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceHeaderExtends ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceMemberDeclarationsopt ==>> RBRACE InterfaceMemberDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed InterfaceMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ConstantDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof InvalidConstructorDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed InvalidInitializer ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed RecordBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 99 static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof RecordHeaderName ==>> LPAREN RecordHeader ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof RecordHeaderName1 ==>> LESS LPAREN RecordComponentHeaderRightParen ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof RecordComponentsopt ==>> RPAREN RecordComponents ==>> RPAREN COMMA RecordComponent ==>> RPAREN COMMA VariableArityRecordComponent ==>> RPAREN COMMA RecordBodyDeclarationopt ==>> RBRACE RecordBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof CompactConstructorDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof CompactConstructorHeader ==>> LBRACE CompactConstructorHeaderName ==>> throws LBRACE InstanceofExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 100 RelationalExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InstanceofRHS ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InstanceofClassic ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InstanceofPattern ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof TypePattern ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierWhen $eof RecordPattern ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierWhen $eof PushLPAREN ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super switch synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN RPAREN AT BeginLambda BeginIntersectionCast AT308 RestrictedIdentifiersealed UNDERSCORE ComponentPatternListopt ==>> RPAREN PushRPAREN ==>> Identifier abstract boolean byte char double false final float instanceof int long native new non-sealed null private protected public short static strictfp super switch synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 101 MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS NOT REMAINDER XOR AND MULTIPLY OR TWIDDLE DIVIDE GREATER LESS LPAREN RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ARROW COLON_COLON BeginLambda BeginIntersectionCast ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierWhen UNDERSCORE $eof ComponentPatternList ==>> RPAREN COMMA ComponentPattern ==>> RPAREN COMMA UnnamedPattern ==>> RPAREN COMMA PushLeftBrace ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE RBRACE COMMA AT BeginLambda BeginIntersectionCast AT308 UNDERSCORE ,opt ==>> RBRACE VariableInitializers ==>> RBRACE COMMA OpenBlock ==>> LBRACE BlockStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof BlockStatementopt0 ==>> $eof LocalVariableDeclarationStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof Statement ==>> Identifier abstract assert boolean break byte case char class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 102 continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof LocalVariableDeclaration ==>> SEMICOLON PushModifiers ==>> Identifier UNDERSCORE PushModifiersForHeader ==>> interface StatementWithoutTrailingSubstatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof LabeledStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof IfThenStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof IfThenElseStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 103 MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof WhileStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof ForStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof EnhancedForStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof StatementNoShortIf ==>> else LabeledStatementNoShortIf ==>> else IfThenElseStatementNoShortIf ==>> else WhileStatementNoShortIf ==>> else ForStatementNoShortIf ==>> else EnhancedForStatementNoShortIf ==>> else AssertStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 104 DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof EmptyStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof ExpressionStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof SwitchStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof DoStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof BreakStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 105 MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof ContinueStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof ReturnStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof SynchronizedStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof ThrowStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof TryStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 106 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof TryStatementWithResources ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof Label ==>> COLON StatementExpression ==>> RPAREN SEMICOLON COMMA Assignment ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof PreIncrementExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PreDecrementExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PostIncrementExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA EQUAL AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PostDecrementExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 107 LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA EQUAL AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof MethodInvocation ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ClassInstanceCreationExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PostExpressionInSwitchStatement ==>> LBRACE PostExpressionInSwitchExpression ==>> LBRACE PostExpressionInIf ==>> Identifier assert boolean break byte char continue do double false float for if int long new null return short super switch synchronized this throw true try void while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield UNDERSCORE PostExpressionInWhile ==>> Identifier assert boolean break byte char continue do double false float for if int long new null return short super switch synchronized this throw true try void while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield UNDERSCORE SwitchBlock ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if instanceof int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 108 NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT BeginLambda ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof SwitchBlockStatements ==>> case default RBRACE SwitchLabels ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE SwitchBlockStatement ==>> case default RBRACE SwitchLabeledRule ==>> case default RBRACE SwitchLabel ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE UnaryExpressionNotPlusMinus ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof SwitchExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof UnaryExpressionNotPlusMinus_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 109 RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof SwitchLabeledExpression ==>> case default RBRACE SwitchLabeledBlock ==>> case default RBRACE SwitchLabeledThrowStatement ==>> case default RBRACE SwitchLabelExpr ==>> Identifier boolean byte char double false float int long new null short super switch this throw true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 UNDERSCORE ThrowExpression ==>> SEMICOLON CaseLabelElements ==>> COLON COMMA BeginCaseExpr $eof CaseLabelElement ==>> COLON COMMA BeginCaseExpr $eof ConstantExpression ==>> COLON COMMA BeginCaseExpr $eof CaseLabelElementPattern ==>> COLON COMMA BeginCaseExpr RestrictedIdentifierWhen $eof Guard ==>> COLON COMMA BeginCaseExpr $eof ForInitopt ==>> SEMICOLON Expressionopt ==>> SEMICOLON ForUpdateopt ==>> RPAREN ForInit ==>> SEMICOLON StatementExpressionList ==>> RPAREN SEMICOLON COMMA ForUpdate ==>> RPAREN OnlySynchronized ==>> LPAREN TryBlock ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 110 RestrictedIdentifiersealed UNDERSCORE $eof Catches ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof Catchesopt ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof Finally ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof ResourceSpecification ==>> LBRACE Resources ==>> RPAREN SEMICOLON ;opt ==>> RPAREN Resource ==>> RPAREN SEMICOLON TrailingSemiColon ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed UNDERSCORE FieldAccess ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 111 DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ExitTryBlock ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof CatchClause ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof PrimaryNoNewArray ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ArrayCreationWithArrayInitializer ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ArrayCreationWithoutArrayInitializer ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 112 MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof Expression_NotName ==>> RPAREN QualifiedSuperReceiver ==>> DOT COLON_COLON ArrayAccess ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof LambdaExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ReferenceExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ReferenceExpressionTypeArgumentsAndTrunk0 ==>> COLON_COLON $eof NonWildTypeArgumentsopt ==>> Identifier new IdentifierOrNew ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 113 REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof LambdaParameters ==>> ARROW LambdaBody ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof NestedLambda ==>> LPAREN ARROW LambdaParameterList ==>> ARROW $eof TypeElidedFormalParameterList ==>> RPAREN COMMA TypeElidedFormalParameter ==>> RPAREN COMMA ElidedLeftBraceAndReturn ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE EnterInstanceCreationArgumentList ==>> LPAREN UnqualifiedClassBodyopt ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof QualifiedClassBodyopt ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 114 AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ClassInstanceCreationExpressionName ==>> Identifier LESS AT308 UnqualifiedEnterAnonymousClassBody ==>> LBRACE QualifiedEnterAnonymousClassBody ==>> LBRACE ArgumentList ==>> RPAREN COMMA DimWithOrWithOutExprs ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifiersealed $eof DimWithOrWithOutExpr ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifiersealed $eof DimsLoop ==>> Identifier abstract default final instanceof native non-sealed private protected public static strictfp synchronized this throws transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof OneDimLoop ==>> Identifier abstract default final instanceof native non-sealed private protected public static strictfp synchronized this throws transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed UNDERSCORE $eof PostfixExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 115 MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA EQUAL AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PushPosition ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE UnaryExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof CastExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof AdditionalBoundsListOpt ==>> RPAREN InsideCastExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE OnlyTypeArgumentsForCastExpression ==>> AND RPAREN LBRACKET DOT AT308 InsideCastExpressionWithQualifiedGenerics ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE InsideCastExpressionLL1 ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 116 CastNameAndBounds ==>> RPAREN InsideCastExpressionLL1WithBounds ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UNDERSCORE AdditionalBoundList ==>> AND RPAREN COMMA MultiplicativeExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof AdditiveExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS XOR AND OR GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ShiftExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof EqualityExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof AndExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ExclusiveOrExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InclusiveOrExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 117 ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ConditionalAndExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ConditionalOrExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ConditionalExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof AssignmentExpression ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof AssignmentOperator ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 UNDERSCORE InvalidArrayInitializerAssignement ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof NestedType ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ClassHeaderPermittedSubclasses ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof InterfaceHeaderPermittedSubClassesAndSubInterfaces ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof EnumBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 118 RestrictedIdentifiersealed UNDERSCORE $eof EnumHeaderName ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof EnumBodyDeclarationsopt ==>> RBRACE EnumConstants ==>> RBRACE SEMICOLON COMMA EnumConstant ==>> RBRACE SEMICOLON COMMA EnumConstantHeaderName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LPAREN LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof Argumentsopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof Arguments ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof EnumDeclarations ==>> RBRACE EnhancedForStatementHeader ==>> Identifier assert boolean break byte char continue do double false float for if int long new null return short super switch synchronized this throw true try void while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield UNDERSCORE EnhancedForStatementHeaderInit ==>> COLON SingleStaticImportDeclarationName ==>> SEMICOLON StaticImportOnDemandDeclarationName ==>> SEMICOLON TypeArgumentList1 ==>> Identifier abstract final implements instanceof native new non-sealed private protected public static strictfp super synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof TypeArgument1 ==>> Identifier abstract final implements instanceof native new non-sealed private protected public static strictfp super synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 119 UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof TypeArgumentList ==>> COMMA TypeArgument ==>> COMMA Wildcard ==>> COMMA ReferenceType1 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof Wildcard1 ==>> Identifier abstract final implements instanceof native new non-sealed private protected public static strictfp super synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof TypeArgumentList2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof TypeArgument2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof ReferenceType2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 120 void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof Wildcard2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof TypeArgumentList3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof TypeArgument3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof ReferenceType3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof Wildcard3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 121 WildcardBounds ==>> COMMA WildcardBounds1 ==>> Identifier abstract final implements instanceof native new non-sealed private protected public static strictfp super synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof WildcardBounds2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof WildcardBounds3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits UNDERSCORE $eof TypeParameterHeader ==>> extends GREATER COMMA TypeParameterList1 ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeParameterList ==>> COMMA TypeParameter ==>> COMMA AdditionalBound ==>> AND RPAREN COMMA TypeParameter1 ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof AdditionalBoundList1 ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 122 RestrictedIdentifierpermits $eof AdditionalBound1 ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof PostfixExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof UnaryExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof MultiplicativeExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof AdditiveExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS XOR AND OR GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ShiftExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof RelationalExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof InstanceofExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof EqualityExpression_NotName ==>> abstract final native non-sealed private IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 123 protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof AndExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ExclusiveOrExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof InclusiveOrExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ConditionalAndExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ConditionalOrExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ConditionalExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof AssignmentExpression_NotName ==>> RPAREN AnnotationTypeDeclarationHeaderName ==>> abstract extends final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof AnnotationTypeBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UNDERSCORE $eof AnnotationTypeMemberDeclarationsopt ==>> RBRACE AnnotationTypeMemberDeclarations ==>> Identifier abstract boolean byte char IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 124 class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed AnnotationMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed AnnotationMethodHeaderDefaultValueopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifiersealed $eof DefaultValue ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifiersealed $eof AnnotationMethodHeader ==>> SEMICOLON NormalAnnotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof MarkerAnnotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SingleMemberAnnotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof AnnotationName ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS LPAREN RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof MemberValuePairs ==>> RPAREN COMMA MemberValuePair ==>> RPAREN COMMA EnterMemberValue ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 125 TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 UNDERSCORE ExitMemberValue ==>> RPAREN COMMA MemberValueArrayInitializer ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof EnterMemberValueArrayInitializer ==>> LBRACE MemberValues ==>> RBRACE COMMA RecoveryMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 126 Name map: $empty ::= $empty Identifier ::= Identifier abstract ::= abstract assert ::= assert boolean ::= boolean break ::= break byte ::= byte case ::= case catch ::= catch char ::= char class ::= class continue ::= continue const ::= const default ::= default do ::= do double ::= double else ::= else enum ::= enum extends ::= extends false ::= false final ::= final finally ::= finally float ::= float for ::= for goto ::= goto if ::= if implements ::= implements import ::= import instanceof ::= instanceof int ::= int interface ::= interface long ::= long native ::= native new ::= new non-sealed ::= non-sealed null ::= null package ::= package private ::= private protected ::= protected public ::= public return ::= return short ::= short static ::= static strictfp ::= strictfp super ::= super switch ::= switch synchronized ::= synchronized this ::= this throw ::= throw IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 127 throws ::= throws transient ::= transient true ::= true try ::= try void ::= void volatile ::= volatile while ::= while module ::= module open ::= open requires ::= requires transitive ::= transitive exports ::= exports opens ::= opens to ::= to uses ::= uses provides ::= provides with ::= with IntegerLiteral ::= IntegerLiteral LongLiteral ::= LongLiteral FloatingPointLiteral ::= FloatingPointLiteral DoubleLiteral ::= DoubleLiteral CharacterLiteral ::= CharacterLiteral StringLiteral ::= StringLiteral TextBlock ::= TextBlock PLUS_PLUS ::= ++ MINUS_MINUS ::= -- EQUAL_EQUAL ::= == LESS_EQUAL ::= <= GREATER_EQUAL ::= >= NOT_EQUAL ::= != LEFT_SHIFT ::= << RIGHT_SHIFT ::= >> UNSIGNED_RIGHT_SHIFT ::= >>> PLUS_EQUAL ::= += MINUS_EQUAL ::= -= MULTIPLY_EQUAL ::= *= DIVIDE_EQUAL ::= /= AND_EQUAL ::= &= OR_EQUAL ::= |= XOR_EQUAL ::= ^= REMAINDER_EQUAL ::= %= LEFT_SHIFT_EQUAL ::= <<= RIGHT_SHIFT_EQUAL ::= >>= UNSIGNED_RIGHT_SHIFT_EQUAL ::= >>>= OR_OR ::= || AND_AND ::= && PLUS ::= + MINUS ::= - NOT ::= ! REMAINDER ::= % XOR ::= ^ IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 128 AND ::= & MULTIPLY ::= * OR ::= '|' TWIDDLE ::= ~ DIVIDE ::= / GREATER ::= > LESS ::= < LPAREN ::= ( RPAREN ::= ) LBRACE ::= { RBRACE ::= } LBRACKET ::= [ RBRACKET ::= ] SEMICOLON ::= ; QUESTION ::= ? COLON ::= : COMMA ::= , DOT ::= . EQUAL ::= = AT ::= @ ELLIPSIS ::= ... ARROW ::= -> COLON_COLON ::= :: BeginLambda ::= BeginLambda BeginIntersectionCast ::= BeginIntersectionCast BeginTypeArguments ::= BeginTypeArguments ElidedSemicolonAndRightBrace ::= ElidedSemicolonAndRightBrace AT308 ::= @ AT308DOTDOTDOT ::= @ BeginCaseExpr ::= BeginCaseExpr RestrictedIdentifierYield ::= RestrictedIdentifierYield RestrictedIdentifierrecord ::= RestrictedIdentifierrecord RestrictedIdentifiersealed ::= RestrictedIdentifiersealed RestrictedIdentifierpermits ::= RestrictedIdentifierpermits BeginCaseElement ::= BeginCaseElement RestrictedIdentifierWhen ::= RestrictedIdentifierWhen UNDERSCORE ::= _ $eof ::= $eof $error ::= $error Goal ::= Goal CompilationUnit ::= CompilationUnit MethodBody ::= MethodBody StaticInitializer ::= StaticInitializer Initializer ::= Initializer Header1 ::= Header1 Modifiersopt ::= Modifiersopt Header2 ::= Header2 BlockStatements ::= BlockStatements CatchHeader ::= CatchHeader FieldDeclaration ::= FieldDeclaration ImportDeclaration ::= ImportDeclaration IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 129 PackageDeclaration ::= PackageDeclaration TypeDeclaration ::= TypeDeclaration GenericMethodDeclaration ::= GenericMethodDeclaration ClassBodyDeclarations ::= ClassBodyDeclarations RecordBodyDeclarations ::= RecordBodyDeclarations Expression ::= Expression ArrayInitializer ::= ArrayInitializer BlockStatementsopt ::= BlockStatementsopt BlockStatementopt ::= BlockStatementopt MemberValue ::= MemberValue AnnotationTypeMemberDeclaration ::= AnnotationTypeMemberDeclaration ParenthesizedLambdaParameterList ::= ParenthesizedLambdaParameterList ParenthesizedCastNameAndBounds ::= ParenthesizedCastNameAndBounds ReferenceExpressionTypeArgumentsAndTrunk ::= ReferenceExpressionTypeArgumentsAndTrunk TypeAnnotations ::= TypeAnnotations YieldStatement ::= YieldStatement SwitchLabelCaseLhs ::= SwitchLabelCaseLhs PermittedSubclasses ::= PermittedSubclasses Pattern ::= Pattern Literal ::= Literal BooleanLiteral ::= BooleanLiteral Type ::= Type PrimitiveType ::= PrimitiveType ReferenceType ::= ReferenceType TypeAnnotationsopt ::= TypeAnnotationsopt NumericType ::= NumericType IntegralType ::= IntegralType FloatingPointType ::= FloatingPointType ClassOrInterfaceType ::= ClassOrInterfaceType ArrayType ::= ArrayType ClassOrInterface ::= ClassOrInterface GenericType ::= GenericType Name ::= Name TypeArguments ::= TypeArguments ArrayTypeWithTypeArgumentsName ::= ArrayTypeWithTypeArgumentsName Dims ::= Dims ClassType ::= ClassType SimpleName ::= SimpleName QualifiedName ::= QualifiedName UnannotatableName ::= UnannotatableName TypeAnnotations0 ::= TypeAnnotations0 TypeAnnotation ::= TypeAnnotation NormalTypeAnnotation ::= NormalTypeAnnotation MarkerTypeAnnotation ::= MarkerTypeAnnotation SingleMemberTypeAnnotation ::= SingleMemberTypeAnnotation TypeAnnotationName ::= TypeAnnotationName MemberValuePairsopt ::= MemberValuePairsopt SingleMemberAnnotationMemberValue ::= SingleMemberAnnotationMemberValue RejectTypeAnnotations ::= RejectTypeAnnotations PushZeroTypeAnnotations ::= PushZeroTypeAnnotations IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 130 VariableDeclaratorIdOrThis ::= VariableDeclaratorIdOrThis VariableDeclaratorId ::= VariableDeclaratorId EnterCompilationUnit ::= EnterCompilationUnit InternalCompilationUnit ::= InternalCompilationUnit ImportDeclarations ::= ImportDeclarations ReduceImports ::= ReduceImports TypeDeclarations ::= TypeDeclarations ModuleDeclaration ::= ModuleDeclaration ModuleHeader ::= ModuleHeader ModuleBody ::= ModuleBody ImplicitlyDeclaredClassBodyDeclarations ::= ImplicitlyDeclaredClassBodyDeclarations ModuleModifieropt ::= ModuleModifieropt ModuleModifier ::= ModuleModifier ModuleStatementsOpt ::= ModuleStatementsOpt ModuleStatements ::= ModuleStatements ModuleStatement ::= ModuleStatement RequiresStatement ::= RequiresStatement ExportsStatement ::= ExportsStatement OpensStatement ::= OpensStatement UsesStatement ::= UsesStatement ProvidesStatement ::= ProvidesStatement SingleRequiresModuleName ::= SingleRequiresModuleName RequiresModifiersopt ::= RequiresModifiersopt RequiresModifiers ::= RequiresModifiers RequiresModifier ::= RequiresModifier ExportsHeader ::= ExportsHeader TargetModuleListopt ::= TargetModuleListopt SinglePkgName ::= SinglePkgName TargetModuleNameList ::= TargetModuleNameList TargetModuleName ::= TargetModuleName OpensHeader ::= OpensHeader UsesHeader ::= UsesHeader ProvidesInterface ::= ProvidesInterface WithClause ::= WithClause ServiceImplName ::= ServiceImplName ServiceImplNameList ::= ServiceImplNameList Header ::= Header ClassHeader ::= ClassHeader InterfaceHeader ::= InterfaceHeader EnumHeader ::= EnumHeader RecordHeaderPart ::= RecordHeaderPart AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeader RecoveryMethodHeader ::= RecoveryMethodHeader AllocationHeader ::= AllocationHeader ArrayCreationHeader ::= ArrayCreationHeader ConstructorHeader ::= ConstructorHeader EnumConstantHeader ::= EnumConstantHeader CatchFormalParameter ::= CatchFormalParameter PackageDeclarationName ::= PackageDeclarationName Modifiers ::= Modifiers IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 131 PushRealModifiers ::= PushRealModifiers PackageComment ::= PackageComment SingleTypeImportDeclaration ::= SingleTypeImportDeclaration TypeImportOnDemandDeclaration ::= TypeImportOnDemandDeclaration SingleStaticImportDeclaration ::= SingleStaticImportDeclaration StaticImportOnDemandDeclaration ::= StaticImportOnDemandDeclaration SingleTypeImportDeclarationName ::= SingleTypeImportDeclarationName TypeImportOnDemandDeclarationName ::= TypeImportOnDemandDeclarationName ClassDeclaration ::= ClassDeclaration InterfaceDeclaration ::= InterfaceDeclaration EnumDeclaration ::= EnumDeclaration AnnotationTypeDeclaration ::= AnnotationTypeDeclaration RecordDeclaration ::= RecordDeclaration Modifier ::= Modifier Annotation ::= Annotation ClassBody ::= ClassBody ClassHeaderName ::= ClassHeaderName ClassHeaderExtendsopt ::= ClassHeaderExtendsopt ClassHeaderImplementsopt ::= ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ::= ClassHeaderPermittedSubclassesopt ClassHeaderName1 ::= ClassHeaderName1 TypeParameters ::= TypeParameters ClassHeaderExtends ::= ClassHeaderExtends ClassHeaderImplements ::= ClassHeaderImplements InterfaceTypeList ::= InterfaceTypeList InterfaceType ::= InterfaceType ClassBodyDeclarationsopt ::= ClassBodyDeclarationsopt ClassBodyDeclaration ::= ClassBodyDeclaration ClassMemberDeclaration ::= ClassMemberDeclaration ConstructorDeclaration ::= ConstructorDeclaration Diet ::= Diet NestedMethod ::= NestedMethod CreateInitializer ::= CreateInitializer Block ::= Block MethodDeclaration ::= MethodDeclaration VariableDeclarators ::= VariableDeclarators VariableDeclarator ::= VariableDeclarator EnterVariable ::= EnterVariable ExitVariableWithoutInitialization ::= ExitVariableWithoutInitialization ForceNoDiet ::= ForceNoDiet VariableInitializer ::= VariableInitializer RestoreDiet ::= RestoreDiet ExitVariableWithInitialization ::= ExitVariableWithInitialization Dimsopt ::= Dimsopt AbstractMethodDeclaration ::= AbstractMethodDeclaration MethodHeader ::= MethodHeader DefaultMethodHeader ::= DefaultMethodHeader MethodHeaderName ::= MethodHeaderName FormalParameterListopt ::= FormalParameterListopt MethodHeaderRightParen ::= MethodHeaderRightParen MethodHeaderExtendedDims ::= MethodHeaderExtendedDims IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 132 MethodHeaderThrowsClauseopt ::= MethodHeaderThrowsClauseopt DefaultMethodHeaderName ::= DefaultMethodHeaderName ModifiersWithDefault ::= ModifiersWithDefault MethodHeaderThrowsClause ::= MethodHeaderThrowsClause ClassTypeList ::= ClassTypeList ConstructorHeaderName ::= ConstructorHeaderName FormalParameterList ::= FormalParameterList FormalParameter ::= FormalParameter CatchType ::= CatchType UnionType ::= UnionType ClassTypeElt ::= ClassTypeElt StaticOnly ::= StaticOnly ExplicitConstructorInvocation ::= ExplicitConstructorInvocation ArgumentListopt ::= ArgumentListopt OnlyTypeArguments ::= OnlyTypeArguments Primary ::= Primary InterfaceBody ::= InterfaceBody InterfaceHeaderName ::= InterfaceHeaderName InterfaceHeaderExtendsopt ::= InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ::= InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName1 ::= InterfaceHeaderName1 InterfaceHeaderExtends ::= InterfaceHeaderExtends InterfaceMemberDeclarationsopt ::= InterfaceMemberDeclarationsopt InterfaceMemberDeclarations ::= InterfaceMemberDeclarations InterfaceMemberDeclaration ::= InterfaceMemberDeclaration ConstantDeclaration ::= ConstantDeclaration InvalidConstructorDeclaration ::= InvalidConstructorDeclaration InvalidInitializer ::= InvalidInitializer RecordBody ::= RecordBody RecordHeaderName ::= RecordHeaderName RecordHeader ::= RecordHeader RecordHeaderName1 ::= RecordHeaderName1 RecordComponentHeaderRightParen ::= RecordComponentHeaderRightParen RecordComponentsopt ::= RecordComponentsopt RecordComponents ::= RecordComponents RecordComponent ::= RecordComponent VariableArityRecordComponent ::= VariableArityRecordComponent RecordBodyDeclarationopt ::= RecordBodyDeclarationopt RecordBodyDeclaration ::= RecordBodyDeclaration CompactConstructorDeclaration ::= CompactConstructorDeclaration CompactConstructorHeader ::= CompactConstructorHeader CompactConstructorHeaderName ::= CompactConstructorHeaderName InstanceofExpression ::= InstanceofExpression RelationalExpression ::= RelationalExpression InstanceofRHS ::= InstanceofRHS InstanceofClassic ::= InstanceofClassic InstanceofPattern ::= InstanceofPattern TypePattern ::= TypePattern RecordPattern ::= RecordPattern PushLPAREN ::= PushLPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 133 ComponentPatternListopt ::= ComponentPatternListopt PushRPAREN ::= PushRPAREN ComponentPatternList ::= ComponentPatternList ComponentPattern ::= ComponentPattern UnnamedPattern ::= UnnamedPattern PushLeftBrace ::= PushLeftBrace ,opt ::= ,opt VariableInitializers ::= VariableInitializers OpenBlock ::= OpenBlock BlockStatement ::= BlockStatement BlockStatementopt0 ::= BlockStatementopt0 LocalVariableDeclarationStatement ::= LocalVariableDeclarationStatement Statement ::= Statement LocalVariableDeclaration ::= LocalVariableDeclaration PushModifiers ::= PushModifiers PushModifiersForHeader ::= PushModifiersForHeader StatementWithoutTrailingSubstatement ::= StatementWithoutTrailingSubstatement LabeledStatement ::= LabeledStatement IfThenStatement ::= IfThenStatement IfThenElseStatement ::= IfThenElseStatement WhileStatement ::= WhileStatement ForStatement ::= ForStatement EnhancedForStatement ::= EnhancedForStatement StatementNoShortIf ::= StatementNoShortIf LabeledStatementNoShortIf ::= LabeledStatementNoShortIf IfThenElseStatementNoShortIf ::= IfThenElseStatementNoShortIf WhileStatementNoShortIf ::= WhileStatementNoShortIf ForStatementNoShortIf ::= ForStatementNoShortIf EnhancedForStatementNoShortIf ::= EnhancedForStatementNoShortIf AssertStatement ::= AssertStatement EmptyStatement ::= EmptyStatement ExpressionStatement ::= ExpressionStatement SwitchStatement ::= SwitchStatement DoStatement ::= DoStatement BreakStatement ::= BreakStatement ContinueStatement ::= ContinueStatement ReturnStatement ::= ReturnStatement SynchronizedStatement ::= SynchronizedStatement ThrowStatement ::= ThrowStatement TryStatement ::= TryStatement TryStatementWithResources ::= TryStatementWithResources Label ::= Label StatementExpression ::= StatementExpression Assignment ::= Assignment PreIncrementExpression ::= PreIncrementExpression PreDecrementExpression ::= PreDecrementExpression PostIncrementExpression ::= PostIncrementExpression PostDecrementExpression ::= PostDecrementExpression MethodInvocation ::= MethodInvocation ClassInstanceCreationExpression ::= ClassInstanceCreationExpression PostExpressionInSwitchStatement ::= PostExpressionInSwitchStatement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 134 PostExpressionInSwitchExpression ::= PostExpressionInSwitchExpression PostExpressionInIf ::= PostExpressionInIf PostExpressionInWhile ::= PostExpressionInWhile SwitchBlock ::= SwitchBlock SwitchBlockStatements ::= SwitchBlockStatements SwitchLabels ::= SwitchLabels SwitchBlockStatement ::= SwitchBlockStatement SwitchLabeledRule ::= SwitchLabeledRule SwitchLabel ::= SwitchLabel UnaryExpressionNotPlusMinus ::= UnaryExpressionNotPlusMinus SwitchExpression ::= SwitchExpression UnaryExpressionNotPlusMinus_NotName ::= UnaryExpressionNotPlusMinus_NotName SwitchLabeledExpression ::= SwitchLabeledExpression SwitchLabeledBlock ::= SwitchLabeledBlock SwitchLabeledThrowStatement ::= SwitchLabeledThrowStatement SwitchLabelExpr ::= SwitchLabelExpr ThrowExpression ::= ThrowExpression CaseLabelElements ::= CaseLabelElements CaseLabelElement ::= CaseLabelElement ConstantExpression ::= ConstantExpression CaseLabelElementPattern ::= CaseLabelElementPattern Guard ::= Guard ForInitopt ::= ForInitopt Expressionopt ::= Expressionopt ForUpdateopt ::= ForUpdateopt ForInit ::= ForInit StatementExpressionList ::= StatementExpressionList ForUpdate ::= ForUpdate OnlySynchronized ::= OnlySynchronized TryBlock ::= TryBlock Catches ::= Catches Catchesopt ::= Catchesopt Finally ::= Finally ResourceSpecification ::= ResourceSpecification Resources ::= Resources ;opt ::= ;opt Resource ::= Resource TrailingSemiColon ::= TrailingSemiColon FieldAccess ::= FieldAccess ExitTryBlock ::= ExitTryBlock CatchClause ::= CatchClause PrimaryNoNewArray ::= PrimaryNoNewArray ArrayCreationWithArrayInitializer ::= ArrayCreationWithArrayInitializer ArrayCreationWithoutArrayInitializer ::= ArrayCreationWithoutArrayInitializer Expression_NotName ::= Expression_NotName QualifiedSuperReceiver ::= QualifiedSuperReceiver ArrayAccess ::= ArrayAccess LambdaExpression ::= LambdaExpression ReferenceExpression ::= ReferenceExpression ReferenceExpressionTypeArgumentsAndTrunk0 ::= ReferenceExpressionTypeArgumentsAndTrunk0 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 135 NonWildTypeArgumentsopt ::= NonWildTypeArgumentsopt IdentifierOrNew ::= IdentifierOrNew LambdaParameters ::= LambdaParameters LambdaBody ::= LambdaBody NestedLambda ::= NestedLambda LambdaParameterList ::= LambdaParameterList TypeElidedFormalParameterList ::= TypeElidedFormalParameterList TypeElidedFormalParameter ::= TypeElidedFormalParameter ElidedLeftBraceAndReturn ::= ElidedLeftBraceAndReturn EnterInstanceCreationArgumentList ::= EnterInstanceCreationArgumentList UnqualifiedClassBodyopt ::= UnqualifiedClassBodyopt QualifiedClassBodyopt ::= QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= ClassInstanceCreationExpressionName UnqualifiedEnterAnonymousClassBody ::= UnqualifiedEnterAnonymousClassBody QualifiedEnterAnonymousClassBody ::= QualifiedEnterAnonymousClassBody ArgumentList ::= ArgumentList DimWithOrWithOutExprs ::= DimWithOrWithOutExprs DimWithOrWithOutExpr ::= DimWithOrWithOutExpr DimsLoop ::= DimsLoop OneDimLoop ::= OneDimLoop PostfixExpression ::= PostfixExpression PushPosition ::= PushPosition UnaryExpression ::= UnaryExpression CastExpression ::= CastExpression AdditionalBoundsListOpt ::= AdditionalBoundsListOpt InsideCastExpression ::= InsideCastExpression OnlyTypeArgumentsForCastExpression ::= OnlyTypeArgumentsForCastExpression InsideCastExpressionWithQualifiedGenerics ::= InsideCastExpressionWithQualifiedGenerics InsideCastExpressionLL1 ::= InsideCastExpressionLL1 CastNameAndBounds ::= CastNameAndBounds InsideCastExpressionLL1WithBounds ::= InsideCastExpressionLL1WithBounds AdditionalBoundList ::= AdditionalBoundList MultiplicativeExpression ::= MultiplicativeExpression AdditiveExpression ::= AdditiveExpression ShiftExpression ::= ShiftExpression EqualityExpression ::= EqualityExpression AndExpression ::= AndExpression ExclusiveOrExpression ::= ExclusiveOrExpression InclusiveOrExpression ::= InclusiveOrExpression ConditionalAndExpression ::= ConditionalAndExpression ConditionalOrExpression ::= ConditionalOrExpression ConditionalExpression ::= ConditionalExpression AssignmentExpression ::= AssignmentExpression AssignmentOperator ::= AssignmentOperator InvalidArrayInitializerAssignement ::= InvalidArrayInitializerAssignement NestedType ::= NestedType ClassHeaderPermittedSubclasses ::= ClassHeaderPermittedSubclasses InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= InterfaceHeaderPermittedSubClassesAndSubInterfaces EnumBody ::= EnumBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 136 EnumHeaderName ::= EnumHeaderName EnumBodyDeclarationsopt ::= EnumBodyDeclarationsopt EnumConstants ::= EnumConstants EnumConstant ::= EnumConstant EnumConstantHeaderName ::= EnumConstantHeaderName Argumentsopt ::= Argumentsopt Arguments ::= Arguments EnumDeclarations ::= EnumDeclarations EnhancedForStatementHeader ::= EnhancedForStatementHeader EnhancedForStatementHeaderInit ::= EnhancedForStatementHeaderInit SingleStaticImportDeclarationName ::= SingleStaticImportDeclarationName StaticImportOnDemandDeclarationName ::= StaticImportOnDemandDeclarationName TypeArgumentList1 ::= TypeArgumentList1 TypeArgument1 ::= TypeArgument1 TypeArgumentList ::= TypeArgumentList TypeArgument ::= TypeArgument Wildcard ::= Wildcard ReferenceType1 ::= ReferenceType1 Wildcard1 ::= Wildcard1 TypeArgumentList2 ::= TypeArgumentList2 TypeArgument2 ::= TypeArgument2 ReferenceType2 ::= ReferenceType2 Wildcard2 ::= Wildcard2 TypeArgumentList3 ::= TypeArgumentList3 TypeArgument3 ::= TypeArgument3 ReferenceType3 ::= ReferenceType3 Wildcard3 ::= Wildcard3 WildcardBounds ::= WildcardBounds WildcardBounds1 ::= WildcardBounds1 WildcardBounds2 ::= WildcardBounds2 WildcardBounds3 ::= WildcardBounds3 TypeParameterHeader ::= TypeParameterHeader TypeParameterList1 ::= TypeParameterList1 TypeParameterList ::= TypeParameterList TypeParameter ::= TypeParameter AdditionalBound ::= AdditionalBound TypeParameter1 ::= TypeParameter1 AdditionalBoundList1 ::= AdditionalBoundList1 AdditionalBound1 ::= AdditionalBound1 PostfixExpression_NotName ::= PostfixExpression_NotName UnaryExpression_NotName ::= UnaryExpression_NotName MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName AdditiveExpression_NotName ::= AdditiveExpression_NotName ShiftExpression_NotName ::= ShiftExpression_NotName RelationalExpression_NotName ::= RelationalExpression_NotName InstanceofExpression_NotName ::= InstanceofExpression_NotName EqualityExpression_NotName ::= EqualityExpression_NotName AndExpression_NotName ::= AndExpression_NotName ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 137 ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName ConditionalExpression_NotName ::= ConditionalExpression_NotName AssignmentExpression_NotName ::= AssignmentExpression_NotName AnnotationTypeDeclarationHeaderName ::= AnnotationTypeDeclarationHeaderName AnnotationTypeBody ::= AnnotationTypeBody AnnotationTypeMemberDeclarationsopt ::= AnnotationTypeMemberDeclarationsopt AnnotationTypeMemberDeclarations ::= AnnotationTypeMemberDeclarations AnnotationMethodHeaderName ::= AnnotationMethodHeaderName AnnotationMethodHeaderDefaultValueopt ::= AnnotationMethodHeaderDefaultValueopt DefaultValue ::= DefaultValue AnnotationMethodHeader ::= AnnotationMethodHeader NormalAnnotation ::= NormalAnnotation MarkerAnnotation ::= MarkerAnnotation SingleMemberAnnotation ::= SingleMemberAnnotation AnnotationName ::= AnnotationName MemberValuePairs ::= MemberValuePairs MemberValuePair ::= MemberValuePair EnterMemberValue ::= EnterMemberValue ExitMemberValue ::= ExitMemberValue MemberValueArrayInitializer ::= MemberValueArrayInitializer EnterMemberValueArrayInitializer ::= EnterMemberValueArrayInitializer MemberValues ::= MemberValues RecoveryMethodHeaderName ::= RecoveryMethodHeaderName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 138 Scopes: ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN StatementNoShortIf ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN Statement CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt . PushRPAREN UnaryExpressionNotPlusMinus MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf .else StatementNoShortIf IfThenElseStatement ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf .else Statement ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN RPAREN EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers .VariableDeclaratorId MethodInvocation ::= super DOT Identifier LPAREN ArgumentListopt .RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 139 MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt .RPAREN MethodInvocation ::= Primary DOT Identifier LPAREN ArgumentListopt .RPAREN ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt .IdentifierOrNew ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN DoStatement ::= do Statement while LPAREN Expression .RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt .RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt . RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt . RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt . RPAREN SEMICOLON CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt .PushRPAREN UnaryExpressionNotPlusMinus ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList .LPAREN RPAREN ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt . SEMICOLON RPAREN StatementNoShortIf ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt .SEMICOLON RPAREN Statement Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable .EQUAL VariableInitializer MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues .RBRACE EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers . VariableDeclaratorId EnumBody ::= LBRACE EnumConstants COMMA EnumBodyDeclarationsopt .RBRACE ReferenceExpression ::= Name Dimsopt COLON_COLON NonWildTypeArgumentsopt . IdentifierOrNew ReferenceExpression ::= PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt .IdentifierOrNew TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt . Finally AssertStatement ::= assert Expression COLON Expression .SEMICOLON RecordPattern ::= Modifiersopt ReferenceType PushLPAREN ComponentPatternListopt .PushRPAREN MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues .COMMA RBRACE VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 140 TypeAnnotations .ELLIPSIS VariableDeclaratorId ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt .PushRPAREN UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt . PushRPAREN UnaryExpression ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN RPAREN ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN RPAREN Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable .EQUAL VariableInitializer ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments . ClassType LPAREN RPAREN SingleMemberAnnotation ::= AnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN NormalAnnotation ::= AnnotationName LPAREN MemberValuePairsopt .RPAREN TypeParameter1 ::= TypeParameterHeader extends ReferenceType . AdditionalBoundList1 TypeParameter ::= TypeParameterHeader extends ReferenceType . AdditionalBoundList EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON Expression .RPAREN EnumBody ::= LBRACE EnumConstants EnumBodyDeclarationsopt .RBRACE EnumBody ::= LBRACE COMMA EnumBodyDeclarationsopt .RBRACE ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET Expression . RBRACKET ArrayAccess ::= PrimaryNoNewArray LBRACKET Expression .RBRACKET ArrayAccess ::= Name LBRACKET Expression .RBRACKET MethodInvocation ::= Name LPAREN ArgumentListopt .RPAREN DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET Expression .RBRACKET ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs .ArrayInitializer ArrayCreationWithArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs .ArrayInitializer ReferenceExpression ::= super COLON_COLON NonWildTypeArgumentsopt .Identifier ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt .Identifier ReferenceExpression ::= Primary COLON_COLON NonWildTypeArgumentsopt . Identifier ResourceSpecification ::= LPAREN Resources ;opt .RPAREN TryStatement ::= try TryBlock Catchesopt .Finally IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 141 SwitchBlock ::= LBRACE SwitchBlockStatements SwitchLabels .RBRACE LocalVariableDeclaration ::= Modifiers Type PushRealModifiers . VariableDeclarators Block ::= OpenBlock LBRACE BlockStatementsopt .RBRACE ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .RBRACE MethodBody ::= NestedMethod LBRACE BlockStatementsopt .RBRACE FieldDeclaration ::= Modifiersopt Type VariableDeclarators .SEMICOLON SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN NormalTypeAnnotation ::= TypeAnnotationName LPAREN MemberValuePairsopt .RPAREN QualifiedName ::= Name DOT TypeAnnotations .SimpleName AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN ConditionalExpression_NotName ::= Name QUESTION Expression .COLON ConditionalExpression ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression .COLON ConditionalExpression ConditionalExpression ::= ConditionalOrExpression QUESTION Expression .COLON ConditionalExpression CatchClause ::= catch LPAREN CatchFormalParameter .RPAREN Block SynchronizedStatement ::= OnlySynchronized LPAREN Expression .RPAREN Block ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .COMMA RBRACE VariableArityRecordComponent ::= Modifiersopt Type PushZeroTypeAnnotations . ELLIPSIS VariableDeclaratorId ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt .RPAREN SEMICOLON ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt .RPAREN SEMICOLON FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type . Identifier LPAREN MethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN EnhancedForStatementHeaderInit ::= for LPAREN Modifiers .Type VariableDeclaratorId CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds . PushRPAREN UnaryExpressionNotPlusMinus ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk .COLON_COLON IdentifierOrNew WhileStatementNoShortIf ::= while LPAREN Expression .RPAREN StatementNoShortIf WhileStatement ::= while LPAREN Expression .RPAREN Statement IfThenStatement ::= if LPAREN Expression .RPAREN Statement MethodInvocation ::= super DOT OnlyTypeArguments .Identifier LPAREN RPAREN MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments .Identifier LPAREN RPAREN MethodInvocation ::= Primary DOT OnlyTypeArguments .Identifier LPAREN RPAREN MethodInvocation ::= Name DOT OnlyTypeArguments .Identifier LPAREN RPAREN ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList .LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 142 RPAREN ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList .LPAREN RPAREN SwitchExpression ::= switch LPAREN Expression .RPAREN SwitchBlock SwitchStatement ::= switch LPAREN Expression .RPAREN SwitchBlock IfThenElseStatementNoShortIf ::= if LPAREN Expression .RPAREN StatementNoShortIf else StatementNoShortIf IfThenElseStatement ::= if LPAREN Expression .RPAREN StatementNoShortIf else Statement ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments .this LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments .this LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments .super LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments .super LPAREN RPAREN SEMICOLON ForStatementNoShortIf ::= for LPAREN ForInitopt .SEMICOLON SEMICOLON RPAREN StatementNoShortIf ForStatement ::= for LPAREN ForInitopt .SEMICOLON SEMICOLON RPAREN Statement CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression .DOT ClassOrInterfaceType PushRPAREN UnaryExpressionNotPlusMinus Resource ::= Modifiers Type PushRealModifiers .VariableDeclaratorId EQUAL VariableInitializer AnnotationTypeBody ::= LBRACE AnnotationTypeMemberDeclarationsopt .RBRACE Arguments ::= LPAREN ArgumentListopt .RPAREN EnumBody ::= LBRACE EnumBodyDeclarationsopt .RBRACE ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType . DimWithOrWithOutExprs ArrayCreationWithoutArrayInitializer ::= new PrimitiveType . DimWithOrWithOutExprs LambdaBody ::= ElidedLeftBraceAndReturn Expression . ElidedSemicolonAndRightBrace LambdaParameterList ::= PushLPAREN TypeElidedFormalParameterList .PushRPAREN LambdaParameterList ::= PushLPAREN FormalParameterListopt .PushRPAREN PrimaryNoNewArray ::= PushLPAREN Name .PushRPAREN PrimaryNoNewArray ::= PushLPAREN Expression_NotName .PushRPAREN TryStatement ::= try TryBlock .Catches ThrowStatement ::= throw Expression .SEMICOLON ReturnStatement ::= return Expressionopt .SEMICOLON AssertStatement ::= assert Expression .SEMICOLON YieldStatement ::= RestrictedIdentifierYield Expression .SEMICOLON SwitchLabeledThrowStatement ::= SwitchLabelExpr ThrowExpression .SEMICOLON SwitchLabeledExpression ::= SwitchLabelExpr Expression .SEMICOLON SwitchBlock ::= LBRACE SwitchLabels .RBRACE SwitchBlock ::= LBRACE SwitchBlockStatements .RBRACE LocalVariableDeclaration ::= Type PushModifiers .VariableDeclarators TypePattern ::= Modifiersopt Type .UNDERSCORE TypePattern ::= Modifiersopt Type .Identifier InstanceofClassic ::= instanceof Modifiersopt .Type IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 143 CompactConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier RecordBody ::= LBRACE RecordBodyDeclarationopt .RBRACE RecordComponent ::= Modifiersopt Type .VariableDeclaratorId RecordHeader ::= LPAREN RecordComponentsopt .RecordComponentHeaderRightParen InterfaceBody ::= LBRACE InterfaceMemberDeclarationsopt .RBRACE CatchFormalParameter ::= Modifiersopt CatchType .VariableDeclaratorId FormalParameter ::= Modifiersopt Type .VariableDeclaratorIdOrThis ClassBody ::= LBRACE ClassBodyDeclarationsopt .RBRACE AnnotationMethodHeaderName ::= Modifiersopt Type .Identifier LPAREN ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType . DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithArrayInitializer ::= new PrimitiveType .DimWithOrWithOutExprs ArrayInitializer PrimaryNoNewArray ::= PrimitiveType Dims .DOT class PrimaryNoNewArray ::= Name Dims .DOT class SwitchBlock ::= LBRACE SwitchBlockStatements .SwitchLabels RBRACE ConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier LPAREN ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt . MethodHeaderRightParen DefaultMethodHeaderName ::= ModifiersWithDefault Type .Identifier LPAREN MethodHeaderName ::= Modifiersopt Type .Identifier LPAREN FieldDeclaration ::= Modifiersopt Type .VariableDeclarators SEMICOLON AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt . MethodHeaderRightParen AnnotationMethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN EnumBody ::= LBRACE EnumConstants .COMMA RBRACE CastExpression ::= PushLPAREN Name .PushRPAREN UnaryExpressionNotPlusMinus ReferenceExpression ::= Name Dimsopt .COLON_COLON IdentifierOrNew ReferenceExpression ::= PrimitiveType Dims .COLON_COLON IdentifierOrNew AssertStatement ::= assert Expression .COLON Expression SEMICOLON RecordPattern ::= Modifiersopt ReferenceType .PushLPAREN PushRPAREN DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters .Type Identifier LPAREN MethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeader ::= MethodHeaderName FormalParameterListopt . MethodHeaderRightParen VariableArityRecordComponent ::= Modifiersopt Type .AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId FormalParameter ::= Modifiersopt Type .AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis CastExpression ::= PushLPAREN Name .Dims PushRPAREN UnaryExpressionNotPlusMinus DoStatement ::= do Statement .while LPAREN Expression RPAREN SEMICOLON CastExpression ::= PushLPAREN Name .OnlyTypeArgumentsForCastExpression PushRPAREN UnaryExpressionNotPlusMinus ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments .ClassType LPAREN RPAREN ClassInstanceCreationExpression ::= new OnlyTypeArguments .ClassType LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 144 RPAREN Resource ::= Type PushModifiers .VariableDeclaratorId EQUAL VariableInitializer CastExpression ::= PushLPAREN Name .OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType PushRPAREN UnaryExpressionNotPlusMinus AnnotationTypeMemberDeclaration ::= AnnotationMethodHeader .SEMICOLON AnnotationTypeDeclaration ::= AnnotationTypeDeclarationHeader . AnnotationTypeBody InstanceofExpression_NotName ::= Name .InstanceofRHS AdditionalBoundList1 ::= AdditionalBoundList .AdditionalBound1 TypeParameter1 ::= TypeParameterHeader .GREATER TypeParameterHeader ::= TypeAnnotationsopt .Identifier Wildcard ::= TypeAnnotationsopt .QUESTION ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType1 ::= ReferenceType .GREATER EnhancedForStatementNoShortIf ::= EnhancedForStatementHeader . StatementNoShortIf EnhancedForStatement ::= EnhancedForStatementHeader .Statement EnumConstantHeaderName ::= Modifiersopt .Identifier EnumDeclaration ::= EnumHeader .EnumBody CastNameAndBounds ::= Name .AdditionalBoundList TypeElidedFormalParameter ::= Modifiersopt .Identifier SwitchLabel ::= SwitchLabelCaseLhs .COLON SwitchBlockStatement ::= SwitchLabels .BlockStatements ExpressionStatement ::= StatementExpression .SEMICOLON LocalVariableDeclarationStatement ::= LocalVariableDeclaration .SEMICOLON CompactConstructorHeaderName ::= Modifiersopt .Identifier RecordDeclaration ::= RecordHeaderPart .RecordBody InvalidConstructorDeclaration ::= ConstructorHeader .SEMICOLON InterfaceMemberDeclaration ::= DefaultMethodHeader .SEMICOLON InterfaceDeclaration ::= InterfaceHeader .InterfaceBody ConstructorDeclaration ::= ConstructorHeader .SEMICOLON AbstractMethodDeclaration ::= MethodHeader .SEMICOLON ClassDeclaration ::= ClassHeader .ClassBody Name ::= TypeAnnotations .SimpleName ArrayType ::= ArrayTypeWithTypeArgumentsName .Dims ArrayType ::= PrimitiveType .Dims PrimitiveType ::= TypeAnnotationsopt .void PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .NumericType ConditionalOrExpression_NotName ::= Name .OR_OR ConditionalAndExpression ConditionalAndExpression_NotName ::= Name .AND_AND InclusiveOrExpression InclusiveOrExpression_NotName ::= Name .OR ExclusiveOrExpression ExclusiveOrExpression_NotName ::= Name .XOR AndExpression AndExpression_NotName ::= Name .AND EqualityExpression EqualityExpression_NotName ::= Name .NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= Name .EQUAL_EQUAL InstanceofExpression RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER ShiftExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 145 RelationalExpression_NotName ::= Name .LESS ShiftExpression ShiftExpression_NotName ::= Name .UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .LEFT_SHIFT AdditiveExpression AdditiveExpression_NotName ::= Name .MINUS MultiplicativeExpression AdditiveExpression_NotName ::= Name .PLUS MultiplicativeExpression MultiplicativeExpression_NotName ::= Name .REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= Name .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= Name .MULTIPLY UnaryExpression TypeParameter1 ::= TypeParameterHeader .extends ReferenceType1 TypeParameterList1 ::= TypeParameterList .COMMA TypeParameter1 Wildcard3 ::= TypeAnnotationsopt .QUESTION WildcardBounds3 Wildcard3 ::= TypeAnnotationsopt .QUESTION UNSIGNED_RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt .QUESTION WildcardBounds2 Wildcard2 ::= TypeAnnotationsopt .QUESTION RIGHT_SHIFT Wildcard1 ::= TypeAnnotationsopt .QUESTION WildcardBounds1 Wildcard1 ::= TypeAnnotationsopt .QUESTION GREATER Wildcard ::= TypeAnnotationsopt .QUESTION WildcardBounds TypeArgumentList3 ::= TypeArgumentList .COMMA TypeArgument3 ReferenceType2 ::= ClassOrInterface .LESS TypeArgumentList3 TypeArgumentList2 ::= TypeArgumentList .COMMA TypeArgument2 ReferenceType1 ::= ClassOrInterface .LESS TypeArgumentList2 TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 EnumHeaderName ::= Modifiersopt .enum Identifier InvalidArrayInitializerAssignement ::= PostfixExpression .AssignmentOperator ArrayInitializer Assignment ::= PostfixExpression .AssignmentOperator AssignmentExpression FieldAccess ::= QualifiedSuperReceiver .DOT Identifier OneDimLoop ::= TypeAnnotations .LBRACKET RBRACKET DimWithOrWithOutExpr ::= TypeAnnotationsopt .LBRACKET RBRACKET ClassInstanceCreationExpressionName ::= Name .DOT new LambdaExpression ::= LambdaParameters .ARROW LambdaBody PrimaryNoNewArray ::= PrimitiveType .DOT class PrimaryNoNewArray ::= Name .DOT class QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT this SwitchLabelExpr ::= SwitchLabelCaseLhs .BeginCaseExpr ARROW SwitchLabeledThrowStatement ::= SwitchLabelExpr .ThrowExpression SEMICOLON SwitchLabeledExpression ::= SwitchLabelExpr .Expression SEMICOLON TypePattern ::= Modifiersopt .Type UNDERSCORE TypePattern ::= Modifiersopt .Type Identifier CompactConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier RecordComponent ::= Modifiersopt .Type VariableDeclaratorId RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier RecordHeaderPart ::= RecordHeaderName .RecordHeader InterfaceHeaderName1 ::= Modifiersopt .interface Identifier CatchFormalParameter ::= Modifiersopt .CatchType VariableDeclaratorId FormalParameter ::= Modifiersopt .Type VariableDeclaratorIdOrThis ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default ClassHeaderName1 ::= Modifiersopt .class Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 146 ArrayTypeWithTypeArgumentsName ::= GenericType .DOT Name AnnotationMethodHeaderName ::= Modifiersopt .Type Identifier LPAREN TypeParameter1 ::= TypeParameterHeader .extends ReferenceType AdditionalBoundList1 EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit .COLON Expression RPAREN EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters ArrayAccess ::= Name .LBRACKET Expression RBRACKET MethodInvocation ::= Name .LPAREN RPAREN DimWithOrWithOutExpr ::= TypeAnnotationsopt .LBRACKET Expression RBRACKET ReferenceExpression ::= QualifiedSuperReceiver .COLON_COLON Identifier PrimaryNoNewArray ::= PrimitiveType .Dims DOT class PrimaryNoNewArray ::= Name .Dims DOT class LocalVariableDeclaration ::= Modifiers .Type VariableDeclarators ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN DefaultMethodHeaderName ::= ModifiersWithDefault .Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .Type Identifier LPAREN FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON AnnotationMethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN AnnotationTypeDeclarationHeaderName ::= Modifiers .AT interface Identifier ConditionalExpression_NotName ::= Name .QUESTION Expression COLON ConditionalExpression ReferenceExpression ::= PrimitiveType .Dims COLON_COLON IdentifierOrNew RecordPattern ::= Modifiersopt .ReferenceType PushLPAREN PushRPAREN VariableArityRecordComponent ::= Modifiersopt .Type ELLIPSIS VariableDeclaratorId FormalParameter ::= Modifiersopt .Type ELLIPSIS VariableDeclaratorIdOrThis DefaultMethodHeaderName ::= ModifiersWithDefault .TypeParameters Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN AnnotationTypeDeclarationHeaderName ::= Modifiers .AT interface Identifier TypeParameters MethodInvocation ::= QualifiedSuperReceiver .DOT Identifier LPAREN RPAREN ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON IdentifierOrNew VariableArityRecordComponent ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId ExplicitConstructorInvocation ::= OnlyTypeArguments .super LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= OnlyTypeArguments .this LPAREN RPAREN SEMICOLON FormalParameter ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis MethodInvocation ::= QualifiedSuperReceiver .DOT OnlyTypeArguments Identifier LPAREN RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN RPAREN ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName . ClassType LPAREN RPAREN ExplicitConstructorInvocation ::= Name .DOT this LPAREN RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 147 ExplicitConstructorInvocation ::= Primary .DOT this LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT super LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary .DOT super LPAREN RPAREN SEMICOLON ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName . OnlyTypeArguments ClassType LPAREN RPAREN ExplicitConstructorInvocation ::= Name .DOT OnlyTypeArguments this LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary .DOT OnlyTypeArguments this LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT OnlyTypeArguments super LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary .DOT OnlyTypeArguments super LPAREN RPAREN SEMICOLON Resource ::= Modifiers .Type VariableDeclaratorId EQUAL VariableInitializer This grammar is LALR(1). IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 148 Number of Terminals: 138 Number of Nonterminals: 437 Number of Productions: 950 Number of Single Productions: 282 Number of Items: 2956 Number of Scopes: 321 Number of States: 1242 Number of Shift actions: 6303 Number of Goto actions: 10423 Number of Shift/Reduce actions: 777 Number of Goto/Reduce actions: 2582 Number of Reduce actions: 19485 Number of Shift-Reduce conflicts: 0 Number of Reduce-Reduce conflicts: 0 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 149 Shift STATES: STATE 1 ------------------------------------------------------------------------ ( ) $acc ::= .Goal Goal ::= .PLUS_PLUS CompilationUnit Goal ::= .MINUS_MINUS MethodBody Goal ::= .RIGHT_SHIFT StaticInitializer Goal ::= .RIGHT_SHIFT Initializer Goal ::= .UNSIGNED_RIGHT_SHIFT Header1 Modifiersopt Goal ::= .NOT Header2 Modifiersopt Goal ::= .MULTIPLY BlockStatements Goal ::= .MULTIPLY CatchHeader Goal ::= .AND_AND FieldDeclaration Goal ::= .OR_OR ImportDeclaration Goal ::= .QUESTION PackageDeclaration Goal ::= .PLUS TypeDeclaration Goal ::= .DIVIDE GenericMethodDeclaration Goal ::= .AND ClassBodyDeclarations Goal ::= .MINUS RecordBodyDeclarations Goal ::= .REMAINDER Expression Goal ::= .REMAINDER ArrayInitializer Goal ::= .TWIDDLE BlockStatementsopt Goal ::= .LBRACE BlockStatementopt Goal ::= .OR_OR MemberValue Goal ::= .QUESTION AnnotationTypeMemberDeclaration Goal ::= .ARROW ParenthesizedLambdaParameterList Goal ::= .LPAREN ParenthesizedCastNameAndBounds Goal ::= .LESS ReferenceExpressionTypeArgumentsAndTrunk Goal ::= .AT TypeAnnotations Goal ::= .ARROW YieldStatement Goal ::= .ARROW SwitchLabelCaseLhs Goal ::= .RestrictedIdentifiersealed Modifiersopt Goal ::= .RestrictedIdentifierpermits PermittedSubclasses Goal ::= .BeginCaseElement Pattern Goal ::= .RestrictedIdentifierWhen Expression RestrictedIdentifierWhen Shift 3 BeginCaseElement Shift 4 RestrictedIdentifierpermits Shift 5 RestrictedIdentifiersealed Shift 6 AT Shift 7 LESS Shift 8 LPAREN Shift 9 ARROW Shift 10 LBRACE Shift 11 TWIDDLE Shift 12 REMAINDER Shift 13 MINUS Shift 14 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 150 AND Shift 15 DIVIDE Shift 16 PLUS Shift 17 QUESTION Shift 18 OR_OR Shift 19 AND_AND Shift 20 MULTIPLY Shift 21 NOT Shift 22 UNSIGNED_RIGHT_SHIFT Shift 23 RIGHT_SHIFT Shift 24 MINUS_MINUS Shift 25 PLUS_PLUS Shift 26 Goal Goto 2 STATE 2 ------------------------------------------------------------------------ ( 1 ) $acc ::= Goal . (0) $eof Accept STATE 3 ------------------------------------------------------------------------ ( 1 ) Goal ::= RestrictedIdentifierWhen .Expression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 151 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 152 ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 153 ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 154 RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 155 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 156 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Gt/Rd 31 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 4 ------------------------------------------------------------------------ ( 1 ) Goal ::= BeginCaseElement .Pattern Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation TypePattern ::= .Modifiersopt Type Identifier TypePattern ::= .Modifiersopt Type UNDERSCORE RecordPattern ::= .Modifiersopt ReferenceType PushLPAREN ComponentPatternListopt PushRPAREN Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 157 MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifiersopt Goto 69 Modifier Goto 1002 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 TypePattern Gt/Rd 30 RecordPattern Gt/Rd 30 Pattern Gt/Rd 30 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 5 ------------------------------------------------------------------------ ( 1 ) Goal ::= RestrictedIdentifierpermits .PermittedSubclasses IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 158 ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ClassTypeList ::= .ClassTypeElt ClassTypeList ::= .ClassTypeList COMMA ClassTypeElt ClassTypeElt ::= .ClassType PermittedSubclasses ::= .ClassTypeList AT308 Shift 38 Identifier Shift 1004 ClassTypeElt Goto 1007 ClassTypeList Goto 74 ClassOrInterfaceType Goto 1006 Name Goto 73 GenericType Goto 72 ClassOrInterface Goto 71 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1005 ClassType Gt/Rd 285 PermittedSubclasses Gt/Rd 29 STATE 6 ------------------------------------------------------------------------ ( 1 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 159 Goal ::= RestrictedIdentifiersealed .Modifiersopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifier Goto 1002 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 160 Modifiersopt Gt/Rd 28 $eof Reduce 710 Default reduction to rule 710 STATE 7 ------------------------------------------------------------------------ ( 1 ) Goal ::= AT .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotations Gt/Rd 25 STATE 8 ------------------------------------------------------------------------ ( 1 ) Goal ::= LESS .ReferenceExpressionTypeArgumentsAndTrunk ReferenceExpressionTypeArgumentsAndTrunk ::= . ReferenceExpressionTypeArgumentsAndTrunk0 ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments Dimsopt ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments DOT ClassOrInterfaceType Dimsopt OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 75 OnlyTypeArguments Goto 76 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 161 ReferenceExpressionTypeArgumentsAndTrunk0 Gt/Rd 545 ReferenceExpressionTypeArgumentsAndTrunk Gt/Rd 24 STATE 9 ------------------------------------------------------------------------ ( 1 ) Goal ::= LPAREN .ParenthesizedCastNameAndBounds ParenthesizedCastNameAndBounds ::= .LPAREN CastNameAndBounds RPAREN LPAREN Shift 77 ParenthesizedCastNameAndBounds Gt/Rd 23 STATE 10 ----------------------------------------------------------------------- ( 1 ) Goal ::= ARROW .ParenthesizedLambdaParameterList Goal ::= ARROW .YieldStatement Goal ::= ARROW .SwitchLabelCaseLhs SwitchLabelCaseLhs ::= .case CaseLabelElements YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON PushLPAREN ::= .LPAREN ParenthesizedLambdaParameterList ::= .LambdaParameterList LambdaParameterList ::= .PushLPAREN FormalParameterListopt PushRPAREN LambdaParameterList ::= .PushLPAREN TypeElidedFormalParameterList PushRPAREN LPAREN Sh/Rd 524 RestrictedIdentifierYield Shift 79 case Shift 80 PushLPAREN Goto 78 LambdaParameterList Gt/Rd 563 ParenthesizedLambdaParameterList Gt/Rd 22 YieldStatement Gt/Rd 26 SwitchLabelCaseLhs Gt/Rd 27 STATE 11 ----------------------------------------------------------------------- ( 1 ) Goal ::= LBRACE .BlockStatementopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 162 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 163 Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatementopt ::= .BlockStatementopt0 BlockStatementopt0 ::= . (386) BlockStatementopt0 ::= .BlockStatement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 164 BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 165 Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 166 LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 167 ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 168 SingleMemberAnnotationMemberValue RPAREN RestrictedIdentifierYield Shift 79 try Shift 95 throw Shift 96 return Shift 98 continue Shift 99 break Shift 100 do Shift 101 switch Shift 102 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 BeginLambda Shift 31 UNDERSCORE Shift 32 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 super Shift 110 this Shift 112 LESS Shift 75 SEMICOLON Sh/Rd 428 assert Shift 115 if Shift 117 while Shift 118 for Shift 120 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 123 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 AT Shift 124 AT308 Shift 38 Identifier Shift 127 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 169 BlockStatement Goto 1010 LocalVariableDeclaration Goto 131 PrimitiveType Goto 130 ReferenceType Goto 122 ClassOrInterface Goto 71 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1016 Name Goto 128 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 34 Modifier Goto 1008 Modifiers Goto 125 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Type Goto 122 StatementWithoutTrailingSubstatement Goto 1010 LabeledStatement Goto 1010 IfThenStatement Goto 1010 IfThenElseStatement Goto 1010 WhileStatement Goto 1010 ForStatement Goto 1010 EnhancedForStatement Goto 1010 EnhancedForStatementHeaderInit Goto 121 EnhancedForStatementHeader Goto 119 Label Goto 116 OpenBlock Goto 114 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OnlyTypeArguments Goto 111 Primary Goto 109 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1015 BooleanLiteral Goto 1009 ClassInstanceCreationExpressionName Goto 43 QualifiedSuperReceiver Goto 35 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 170 LambdaParameters Goto 33 Literal Goto 1009 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 106 FieldAccess Goto 1014 MethodInvocation Goto 105 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 OnlySynchronized Goto 97 AssertStatement Goto 1010 Block Goto 1010 EmptyStatement Goto 1010 ExpressionStatement Goto 1010 SwitchStatement Goto 1010 DoStatement Goto 1010 BreakStatement Goto 1010 ContinueStatement Goto 1010 ReturnStatement Goto 1010 SynchronizedStatement Goto 1010 ThrowStatement Goto 1010 TryStatement Goto 1010 TryStatementWithResources Goto 1010 YieldStatement Goto 1010 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiersopt Goto 92 ClassHeaderName Goto 91 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 EnumHeader Goto 82 EnumHeaderName Goto 81 LocalVariableDeclarationStatement Goto 1010 Statement Goto 1010 ClassDeclaration Goto 1010 RecordDeclaration Goto 1010 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 EnumDeclaration Gt/Rd 394 BlockStatementopt0 Gt/Rd 385 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 171 BlockStatementopt Gt/Rd 19 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 $eof Reduce 386 Default reduction to rule 79 STATE 12 ----------------------------------------------------------------------- ( 1 ) Goal ::= TWIDDLE .BlockStatementsopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 172 ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 173 RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 174 StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 175 Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 176 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers BlockStatementsopt ::= . (712) BlockStatementsopt ::= .BlockStatements IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 177 EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RestrictedIdentifierYield Shift 79 try Shift 95 throw Shift 96 return Shift 98 continue Shift 99 break Shift 100 do Shift 101 switch Shift 102 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 BeginLambda Shift 31 UNDERSCORE Shift 32 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 null Shift 1009 TextBlock Shift 1009 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 178 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 super Shift 110 this Shift 112 LESS Shift 75 SEMICOLON Sh/Rd 428 assert Shift 115 if Shift 117 while Shift 118 for Shift 120 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 123 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 AT Shift 124 AT308 Shift 38 Identifier Shift 127 BlockStatement Gt/Rd 383 BlockStatements Goto 132 LocalVariableDeclaration Goto 131 PrimitiveType Goto 130 ReferenceType Goto 122 ClassOrInterface Goto 71 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1016 Name Goto 128 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 179 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 34 Modifier Goto 1008 Modifiers Goto 125 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Type Goto 122 StatementWithoutTrailingSubstatement Goto 1017 LabeledStatement Goto 1017 IfThenStatement Goto 1017 IfThenElseStatement Goto 1017 WhileStatement Goto 1017 ForStatement Goto 1017 EnhancedForStatement Goto 1017 EnhancedForStatementHeaderInit Goto 121 EnhancedForStatementHeader Goto 119 Label Goto 116 OpenBlock Goto 114 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OnlyTypeArguments Goto 111 Primary Goto 109 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1015 BooleanLiteral Goto 1009 ClassInstanceCreationExpressionName Goto 43 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 Literal Goto 1009 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 106 FieldAccess Goto 1014 MethodInvocation Goto 105 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 OnlySynchronized Goto 97 AssertStatement Goto 1017 Block Goto 1017 EmptyStatement Goto 1017 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 180 ExpressionStatement Goto 1017 SwitchStatement Goto 1017 DoStatement Goto 1017 BreakStatement Goto 1017 ContinueStatement Goto 1017 ReturnStatement Goto 1017 SynchronizedStatement Goto 1017 ThrowStatement Goto 1017 TryStatement Goto 1017 TryStatementWithResources Goto 1017 YieldStatement Goto 1017 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiersopt Goto 92 ClassHeaderName Goto 91 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 EnumHeader Goto 82 EnumHeaderName Goto 81 LocalVariableDeclarationStatement Goto 1017 Statement Goto 1017 ClassDeclaration Goto 1017 RecordDeclaration Goto 1017 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 EnumDeclaration Gt/Rd 394 BlockStatementsopt Gt/Rd 18 $eof Reduce 712 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 181 STATE 13 ----------------------------------------------------------------------- ( 1 ) Goal ::= REMAINDER .Expression Goal ::= REMAINDER .ArrayInitializer Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 182 Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 183 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 184 UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 185 ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 LBRACE Shift 133 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 186 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Gt/Rd 16 ArrayInitializer Gt/Rd 17 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 187 STATE 14 ----------------------------------------------------------------------- ( 1 ) Goal ::= MINUS .RecordBodyDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (230) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 188 MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier RecordBodyDeclarations ::= .RecordBodyDeclaration RecordBodyDeclarations ::= .RecordBodyDeclarations RecordBodyDeclaration RecordBodyDeclaration ::= .ClassBodyDeclaration RecordBodyDeclaration ::= .CompactConstructorDeclaration CompactConstructorDeclaration ::= .CompactConstructorHeader MethodBody CompactConstructorHeader ::= .CompactConstructorHeaderName MethodHeaderThrowsClauseopt CompactConstructorHeaderName ::= .Modifiersopt Identifier CompactConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 189 ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 139 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 ClassBodyDeclaration Gt/Rd 350 CompactConstructorDeclaration Gt/Rd 351 CompactConstructorHeaderName Goto 148 Modifiersopt Goto 147 CompactConstructorHeader Goto 146 FieldDeclaration Goto 1018 MethodDeclaration Goto 1018 ClassDeclaration Goto 1018 InterfaceDeclaration Goto 1018 EnumDeclaration Goto 1018 AnnotationTypeDeclaration Goto 1018 RecordDeclaration Goto 1018 RecordHeaderName Goto 88 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 84 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 190 InterfaceHeader Goto 87 ClassHeaderName Goto 91 ClassHeaderName1 Goto 93 ClassHeader Goto 94 MethodHeader Goto 144 MethodHeaderName Goto 143 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 AbstractMethodDeclaration Goto 1018 DefaultMethodHeader Goto 140 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 StaticOnly Goto 138 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassMemberDeclaration Goto 1018 StaticInitializer Goto 1018 ConstructorDeclaration Goto 1018 Diet Goto 135 RecordBodyDeclaration Gt/Rd 348 RecordBodyDeclarations Goto 134 LBRACE Reduce 230 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 15 ----------------------------------------------------------------------- ( 1 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 191 Goal ::= AND .ClassBodyDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclarations ::= .ClassBodyDeclaration ClassBodyDeclarations ::= .ClassBodyDeclarations ClassBodyDeclaration ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (230) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 192 MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 193 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 139 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 ClassMemberDeclaration Goto 1019 StaticInitializer Goto 1019 ConstructorDeclaration Goto 1019 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 150 ConstructorHeader Goto 137 StaticOnly Goto 138 Modifier Goto 1002 Modifiers Goto 145 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 AbstractMethodDeclaration Goto 1019 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 94 ClassHeaderName1 Goto 93 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 194 FieldDeclaration Goto 1019 MethodDeclaration Goto 1019 ClassDeclaration Goto 1019 InterfaceDeclaration Goto 1019 EnumDeclaration Goto 1019 AnnotationTypeDeclaration Goto 1019 RecordDeclaration Goto 1019 ClassBodyDeclaration Gt/Rd 222 ClassBodyDeclarations Goto 149 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 230 Default reduction to rule 710 STATE 16 ----------------------------------------------------------------------- ( 1 ) Goal ::= DIVIDE .GenericMethodDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 195 Modifier ::= .strictfp Modifier ::= .Annotation MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 AbstractMethodDeclaration Gt/Rd 13 MethodHeader Goto 144 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 196 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 Modifiersopt Goto 151 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 MethodDeclaration Gt/Rd 13 ConstructorDeclaration Gt/Rd 13 GenericMethodDeclaration Gt/Rd 13 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 default Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 17 ----------------------------------------------------------------------- ( 1 ) Goal ::= PLUS .TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 197 Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 198 SEMICOLON Sh/Rd 191 AT Shift 124 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 1008 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiers Goto 145 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1008 Modifiersopt Goto 92 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 ClassDeclaration Gt/Rd 12 InterfaceDeclaration Gt/Rd 12 EnumDeclaration Gt/Rd 12 AnnotationTypeDeclaration Gt/Rd 12 RecordDeclaration Gt/Rd 12 TypeDeclaration Gt/Rd 12 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 18 ----------------------------------------------------------------------- ( 1 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 199 Goal ::= QUESTION .PackageDeclaration Goal ::= QUESTION .AnnotationTypeMemberDeclaration PackageDeclaration ::= .PackageDeclarationName SEMICOLON PackageDeclarationName ::= .Modifiers package PushRealModifiers Name RejectTypeAnnotations PackageDeclarationName ::= .PackageComment package Name RejectTypeAnnotations PackageComment ::= . (180) TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 200 EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody AnnotationMethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN AnnotationMethodHeaderName ::= .Modifiersopt Type Identifier LPAREN AnnotationMethodHeader ::= .AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt AnnotationTypeMemberDeclaration ::= .AnnotationMethodHeader SEMICOLON Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 191 AT Shift 124 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AnnotationMethodHeaderName Goto 157 Modifiers Goto 156 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 201 Modifiersopt Goto 155 FieldDeclaration Gt/Rd 21 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassDeclaration Gt/Rd 21 InterfaceDeclaration Gt/Rd 21 EnumDeclaration Gt/Rd 21 AnnotationTypeDeclaration Gt/Rd 21 RecordDeclaration Gt/Rd 21 RecordHeaderName Goto 88 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 AnnotationTypeDeclarationHeaderName Goto 83 AnnotationTypeDeclarationHeader Goto 84 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 ClassHeaderName Goto 91 ClassHeaderName1 Goto 93 ClassHeader Goto 94 AnnotationMethodHeader Goto 154 ConstantDeclaration Gt/Rd 21 ConstructorDeclaration Gt/Rd 21 TypeDeclaration Gt/Rd 21 PackageComment Goto 153 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 PackageDeclarationName Goto 152 PackageDeclaration Gt/Rd 11 AnnotationTypeMemberDeclaration Gt/Rd 21 package Reduce 180 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 202 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 19 ----------------------------------------------------------------------- ( 1 ) Goal ::= OR_OR .ImportDeclaration Goal ::= OR_OR .MemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 203 UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 204 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 205 AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 206 ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 207 ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValue ::= .Name MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (938) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN import Shift 161 AT Shift 66 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 NOT Shift 164 TWIDDLE Shift 165 BeginIntersectionCast Shift 48 null Shift 1020 TextBlock Shift 1020 StringLiteral Shift 1020 CharacterLiteral Shift 1020 DoubleLiteral Shift 1020 FloatingPointLiteral Shift 1020 LongLiteral Shift 1020 IntegerLiteral Shift 1020 false Shift 1020 true Shift 1020 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 MINUS Shift 170 PLUS Shift 171 ConditionalOrExpression_NotName Goto 183 Name Goto 182 InclusiveOrExpression_NotName Goto 181 ConditionalAndExpression_NotName Goto 180 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 208 AndExpression_NotName Goto 179 ExclusiveOrExpression_NotName Goto 178 InstanceofExpression_NotName Goto 177 EqualityExpression_NotName Goto 176 ShiftExpression_NotName Goto 175 RelationalExpression_NotName Goto 174 MultiplicativeExpression_NotName Goto 173 AdditiveExpression_NotName Goto 172 PreIncrementExpression Goto 1021 PreDecrementExpression Goto 1021 UnaryExpressionNotPlusMinus_NotName Goto 1021 Primary Goto 169 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PostfixExpression Goto 166 Literal Goto 1020 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1029 FieldAccess Goto 1028 PrimitiveType Goto 30 MethodInvocation Goto 1027 ArrayAccess Goto 1026 LambdaExpression Goto 1025 ReferenceExpression Goto 1024 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1023 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1020 ArrayCreationWithoutArrayInitializer Goto 1022 SwitchExpression Goto 1021 PostfixExpression_NotName Goto 1021 CastExpression Goto 1021 UnaryExpression_NotName Goto 1021 NormalAnnotation Gt/Rd 20 MarkerAnnotation Gt/Rd 20 SingleMemberAnnotation Gt/Rd 20 AnnotationName Goto 67 EnterMemberValueArrayInitializer Goto 163 ConditionalExpression_NotName Gt/Rd 20 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 209 Annotation Gt/Rd 20 MemberValueArrayInitializer Gt/Rd 20 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Gt/Rd 10 TypeImportOnDemandDeclaration Gt/Rd 10 SingleStaticImportDeclaration Gt/Rd 10 StaticImportOnDemandDeclaration Gt/Rd 10 ImportDeclaration Gt/Rd 10 MemberValue Gt/Rd 20 LBRACE Reduce 938 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 20 ----------------------------------------------------------------------- ( 1 ) Goal ::= AND_AND .FieldDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 210 Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 184 FieldDeclaration Gt/Rd 9 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 21 ----------------------------------------------------------------------- ( 1 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 211 Goal ::= MULTIPLY .BlockStatements Goal ::= MULTIPLY .CatchHeader Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN CatchHeader ::= .catch LPAREN CatchFormalParameter RPAREN LBRACE Modifiers ::= .Modifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 212 Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 213 RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 214 StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 215 ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 216 MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 217 AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 for Shift 120 while Shift 118 if Shift 117 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 218 continue Shift 99 return Shift 98 synchronized Shift 123 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 AT Shift 124 catch Shift 186 LocalVariableDeclarationStatement Goto 1017 Statement Goto 1017 ClassDeclaration Goto 1017 RecordDeclaration Goto 1017 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 EnumDeclaration Gt/Rd 394 EnumHeaderName Goto 81 Modifiersopt Goto 92 EnumHeader Goto 82 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 125 AnnotationTypeDeclarationHeader Goto 84 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 RecordHeaderName Goto 88 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 ClassHeaderName Goto 91 ClassHeaderName1 Goto 93 ClassHeader Goto 94 AssertStatement Goto 1017 Block Goto 1017 EmptyStatement Goto 1017 ExpressionStatement Goto 1017 SwitchStatement Goto 1017 DoStatement Goto 1017 BreakStatement Goto 1017 ContinueStatement Goto 1017 ReturnStatement Goto 1017 SynchronizedStatement Goto 1017 ThrowStatement Goto 1017 TryStatement Goto 1017 TryStatementWithResources Goto 1017 YieldStatement Goto 1017 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 219 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 128 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 130 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 Label Goto 116 EnhancedForStatementHeader Goto 119 EnhancedForStatementHeaderInit Goto 121 StatementWithoutTrailingSubstatement Goto 1017 LabeledStatement Goto 1017 IfThenStatement Goto 1017 IfThenElseStatement Goto 1017 WhileStatement Goto 1017 ForStatement Goto 1017 EnhancedForStatement Goto 1017 Type Goto 122 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1008 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 220 GenericType Goto 129 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1016 ReferenceType Goto 122 LocalVariableDeclaration Goto 131 BlockStatement Gt/Rd 383 BlockStatements Goto 185 CatchHeader Gt/Rd 8 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 LBRACE Reduce 382 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 79 STATE 22 ----------------------------------------------------------------------- ( 1 ) Goal ::= NOT .Header2 Modifiersopt ModuleHeader ::= .Modifiersopt ModuleModifieropt module UnannotatableName RequiresStatement ::= .SingleRequiresModuleName SEMICOLON SingleRequiresModuleName ::= .requires RequiresModifiersopt UnannotatableName ExportsStatement ::= .ExportsHeader TargetModuleListopt SEMICOLON ExportsHeader ::= .exports SinglePkgName OpensStatement ::= .OpensHeader TargetModuleListopt SEMICOLON OpensHeader ::= .opens SinglePkgName UsesStatement ::= .UsesHeader SEMICOLON UsesHeader ::= .uses Name ProvidesStatement ::= .ProvidesInterface WithClause SEMICOLON ProvidesInterface ::= .provides Name PackageDeclaration ::= .PackageDeclarationName SEMICOLON PackageDeclarationName ::= .Modifiers package PushRealModifiers Name RejectTypeAnnotations PackageDeclarationName ::= .PackageComment package Name RejectTypeAnnotations PackageComment ::= . (180) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 221 SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ModifiersWithDefault ::= .Modifiersopt default Modifiersopt StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier AllocationHeader ::= .new ClassType LPAREN ArgumentListopt RPAREN ArrayCreationHeader ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationHeader ::= .new ClassOrInterfaceType DimWithOrWithOutExprs Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnumConstantHeaderName ::= .Modifiersopt Identifier EnumConstantHeader ::= .EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 222 StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RecoveryMethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= .Modifiersopt Type Identifier LPAREN RecoveryMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN RecoveryMethodHeader ::= .RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= .RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause import Shift 161 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 static Shift 139 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 223 new Shift 191 requires Shift 194 exports Shift 196 uses Shift 198 provides Shift 200 opens Shift 202 ImportDeclaration Goto 187 PackageDeclaration Goto 187 ClassHeader Goto 187 InterfaceHeader Goto 187 EnumHeader Goto 187 RecordHeaderPart Goto 187 AnnotationTypeDeclarationHeader Goto 187 StaticInitializer Goto 187 RecoveryMethodHeader Goto 187 FieldDeclaration Goto 187 AllocationHeader Goto 187 ArrayCreationHeader Goto 187 ModuleHeader Goto 187 RequiresStatement Goto 187 ExportsStatement Goto 187 UsesStatement Goto 187 ProvidesStatement Goto 187 OpensStatement Goto 187 OpensHeader Goto 201 ProvidesInterface Goto 199 UsesHeader Goto 197 ExportsHeader Goto 195 SingleRequiresModuleName Goto 193 Modifiersopt Goto 192 ModifiersWithDefault Goto 190 RecoveryMethodHeaderName Goto 189 StaticOnly Goto 138 Modifiers Goto 156 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 EnumHeaderName Goto 81 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 ClassHeaderName1 Goto 93 ClassHeaderName Goto 91 PackageComment Goto 153 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 PackageDeclarationName Goto 152 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 224 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Goto 187 TypeImportOnDemandDeclaration Goto 187 SingleStaticImportDeclaration Goto 187 StaticImportOnDemandDeclaration Goto 187 EnumConstantHeaderName Goto 188 Header Goto 187 EnumConstantHeader Goto 187 Header2 Goto 187 package Reduce 180 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 module Reduce 710 open Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 23 ----------------------------------------------------------------------- ( 1 ) Goal ::= UNSIGNED_RIGHT_SHIFT .Header1 Modifiersopt ModuleHeader ::= .Modifiersopt ModuleModifieropt module UnannotatableName RequiresStatement ::= .SingleRequiresModuleName SEMICOLON SingleRequiresModuleName ::= .requires RequiresModifiersopt UnannotatableName ExportsStatement ::= .ExportsHeader TargetModuleListopt SEMICOLON ExportsHeader ::= .exports SinglePkgName OpensStatement ::= .OpensHeader TargetModuleListopt SEMICOLON OpensHeader ::= .opens SinglePkgName UsesStatement ::= .UsesHeader SEMICOLON UsesHeader ::= .uses Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 225 ProvidesStatement ::= .ProvidesInterface WithClause SEMICOLON ProvidesInterface ::= .provides Name PackageDeclaration ::= .PackageDeclarationName SEMICOLON PackageDeclarationName ::= .Modifiers package PushRealModifiers Name RejectTypeAnnotations PackageDeclarationName ::= .PackageComment package Name RejectTypeAnnotations PackageComment ::= . (180) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier AllocationHeader ::= .new ClassType LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 226 ArrayCreationHeader ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationHeader ::= .new ClassOrInterfaceType DimWithOrWithOutExprs Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RecoveryMethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= .Modifiersopt Type Identifier LPAREN RecoveryMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN RecoveryMethodHeader ::= .RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= .RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause import Shift 161 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 227 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 static Shift 139 new Shift 191 requires Shift 194 exports Shift 196 uses Shift 198 provides Shift 200 opens Shift 202 ImportDeclaration Goto 203 PackageDeclaration Goto 203 ClassHeader Goto 203 InterfaceHeader Goto 203 EnumHeader Goto 203 RecordHeaderPart Goto 203 AnnotationTypeDeclarationHeader Goto 203 StaticInitializer Goto 203 RecoveryMethodHeader Goto 203 FieldDeclaration Goto 203 AllocationHeader Goto 203 ArrayCreationHeader Goto 203 ModuleHeader Goto 203 RequiresStatement Goto 203 ExportsStatement Goto 203 UsesStatement Goto 203 ProvidesStatement Goto 203 OpensStatement Goto 203 OpensHeader Goto 201 ProvidesInterface Goto 199 UsesHeader Goto 197 ExportsHeader Goto 195 SingleRequiresModuleName Goto 193 Modifiersopt Goto 204 ModifiersWithDefault Goto 190 RecoveryMethodHeaderName Goto 189 StaticOnly Goto 138 Modifiers Goto 156 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 EnumHeaderName Goto 81 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 ClassHeaderName1 Goto 93 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 228 ClassHeaderName Goto 91 PackageComment Goto 153 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 PackageDeclarationName Goto 152 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Goto 203 TypeImportOnDemandDeclaration Goto 203 SingleStaticImportDeclaration Goto 203 StaticImportOnDemandDeclaration Goto 203 ConstructorHeaderName Goto 136 Header Goto 203 ConstructorHeader Goto 203 Header1 Goto 203 package Reduce 180 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 module Reduce 710 open Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 24 ----------------------------------------------------------------------- ( 1 ) Goal ::= RIGHT_SHIFT .StaticInitializer Goal ::= RIGHT_SHIFT .Initializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 229 Diet ::= . (230) Initializer ::= .Diet NestedMethod CreateInitializer Block StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static static Sh/Rd 289 Diet Goto 205 StaticOnly Goto 138 StaticInitializer Gt/Rd 3 Initializer Gt/Rd 4 LBRACE Reduce 230 Default reduction to rule 230 STATE 25 ----------------------------------------------------------------------- ( 1 ) Goal ::= MINUS_MINUS .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (287) NestedMethod Goto 206 MethodBody Gt/Rd 2 LBRACE Reduce 287 Default reduction to rule 287 STATE 26 ----------------------------------------------------------------------- ( 1 ) Goal ::= PLUS_PLUS .CompilationUnit CompilationUnit ::= .EnterCompilationUnit InternalCompilationUnit EnterCompilationUnit ::= . (149) EnterCompilationUnit Goto 207 CompilationUnit Gt/Rd 1 Identifier Reduce 149 abstract Reduce 149 boolean Reduce 149 byte Reduce 149 char Reduce 149 class Reduce 149 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 230 default Reduce 149 double Reduce 149 enum Reduce 149 final Reduce 149 float Reduce 149 import Reduce 149 int Reduce 149 interface Reduce 149 long Reduce 149 native Reduce 149 non-sealed Reduce 149 package Reduce 149 private Reduce 149 protected Reduce 149 public Reduce 149 short Reduce 149 static Reduce 149 strictfp Reduce 149 synchronized Reduce 149 transient Reduce 149 void Reduce 149 volatile Reduce 149 module Reduce 149 open Reduce 149 LESS Reduce 149 SEMICOLON Reduce 149 AT Reduce 149 AT308 Reduce 149 RestrictedIdentifierrecord Reduce 149 RestrictedIdentifiersealed Reduce 149 $eof Reduce 149 Default reduction to rule 149 STATE 27 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 208 209 210 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 877 909 918 935 936 944 954 963 972 974 ) UnaryExpression ::= MINUS .PushPosition UnaryExpression PushPosition ::= . (625) PushPosition Goto 208 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 231 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 double Reduce 625 false Reduce 625 float Reduce 625 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 Default reduction to rule 625 STATE 28 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 208 209 210 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 877 909 918 935 936 944 954 963 972 974 ) UnaryExpression ::= PLUS .PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 232 PushPosition ::= . (625) PushPosition Goto 209 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 double Reduce 625 false Reduce 625 float Reduce 625 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 Default reduction to rule 625 STATE 29 ----------------------------------------------------------------------- ( 3 13 19 49 79 80 96 98 107 115 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 319 325 328 331 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 746 748 751 759 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 857 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 233 858 860 862 873 877 880 909 918 922 935 936 944 954 963 969 972 974 ) SwitchExpression ::= switch .LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock LPAREN Shift 210 STATE 30 ----------------------------------------------------------------------- ( 3 13 19 79 80 96 98 101 107 115 119 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 319 325 328 331 334 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 873 877 880 902 907 909 918 922 933 935 936 937 944 954 958 963 969 972 974 980 981 983 986 987 ) PrimaryNoNewArray ::= PrimitiveType .Dims DOT class PrimaryNoNewArray ::= PrimitiveType .DOT class ReferenceExpression ::= PrimitiveType .Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET DOT Shift 211 LBRACKET Shift 214 AT308 Shift 38 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 234 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dims Goto 212 STATE 31 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 873 877 880 902 907 909 918 922 933 934 935 936 937 944 947 954 958 960 963 965 969 972 974 980 981 983 986 987 ) LambdaParameters ::= BeginLambda .NestedLambda LambdaParameterList NestedLambda ::= . (559) NestedLambda Goto 216 LPAREN Reduce 559 Default reduction to rule 559 STATE 32 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 873 877 880 902 907 909 918 922 933 934 935 936 937 944 947 954 958 960 963 965 969 972 974 980 981 983 986 987 ) LambdaParameters ::= UNDERSCORE .NestedLambda NestedLambda ::= . (559) NestedLambda Gt/Rd 560 ARROW Reduce 559 Default reduction to rule 559 STATE 33 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 235 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 873 877 880 902 907 909 918 922 933 934 935 936 937 944 947 954 958 960 963 965 969 972 974 980 981 983 986 987 ) LambdaExpression ::= LambdaParameters .ARROW LambdaBody ARROW Shift 217 STATE 34 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 45 49 69 79 80 96 98 101 107 115 119 125 132 141 147 150 151 155 184 185 190 191 192 204 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 291 317 319 325 328 331 332 334 335 336 337 338 347 350 352 356 360 364 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 424 438 440 443 451 496 518 523 524 542 559 568 569 572 577 613 649 651 656 670 671 678 680 683 688 690 693 694 701 705 712 713 727 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 863 873 877 880 884 885 888 902 907 909 918 922 933 934 935 936 937 944 947 951 952 954 958 960 963 965 969 972 974 980 981 983 986 987 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void void Sh/Rd 49 boolean Sh/Rd 48 double Sh/Rd 45 float Sh/Rd 45 char Sh/Rd 45 long Sh/Rd 45 int Sh/Rd 45 short Sh/Rd 45 byte Sh/Rd 45 IntegralType Gt/Rd 45 FloatingPointType Gt/Rd 45 NumericType Gt/Rd 45 STATE 35 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 236 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 873 877 880 902 907 909 918 922 933 934 935 936 937 944 947 954 958 960 963 965 969 972 974 980 981 983 986 987 ) ReferenceExpression ::= QualifiedSuperReceiver .COLON_COLON NonWildTypeArgumentsopt Identifier FieldAccess ::= QualifiedSuperReceiver .DOT Identifier MethodInvocation ::= QualifiedSuperReceiver .DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= QualifiedSuperReceiver .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN DOT Shift 218 COLON_COLON Shift 219 STATE 36 ----------------------------------------------------------------------- ( 3 13 19 49 79 80 96 98 107 115 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 857 858 860 862 873 877 880 907 909 918 922 934 935 936 944 954 963 969 972 974 983 ) ReferenceExpression ::= super .COLON_COLON NonWildTypeArgumentsopt Identifier FieldAccess ::= super .DOT Identifier MethodInvocation ::= super .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= super .DOT Identifier LPAREN ArgumentListopt RPAREN DOT Shift 220 COLON_COLON Shift 221 STATE 37 ----------------------------------------------------------------------- ( 3 13 19 49 79 80 96 98 107 115 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 857 858 860 862 873 877 880 907 909 918 922 934 935 936 944 954 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 237 963 969 972 974 983 ) SimpleName ::= Identifier . (74) LambdaParameters ::= Identifier .NestedLambda NestedLambda ::= . (559) NestedLambda Gt/Rd 561 Identifier Reduce 71 abstract Reduce 71 final Reduce 71 instanceof Reduce 71 native Reduce 71 non-sealed Reduce 71 private Reduce 71 protected Reduce 71 public Reduce 71 static Reduce 71 strictfp Reduce 71 synchronized Reduce 71 transient Reduce 71 volatile Reduce 71 PLUS_PLUS Reduce 71 MINUS_MINUS Reduce 71 EQUAL_EQUAL Reduce 71 LESS_EQUAL Reduce 71 GREATER_EQUAL Reduce 71 NOT_EQUAL Reduce 71 LEFT_SHIFT Reduce 71 RIGHT_SHIFT Reduce 71 UNSIGNED_RIGHT_SHIFT Reduce 71 PLUS_EQUAL Reduce 71 MINUS_EQUAL Reduce 71 MULTIPLY_EQUAL Reduce 71 DIVIDE_EQUAL Reduce 71 AND_EQUAL Reduce 71 OR_EQUAL Reduce 71 XOR_EQUAL Reduce 71 REMAINDER_EQUAL Reduce 71 LEFT_SHIFT_EQUAL Reduce 71 RIGHT_SHIFT_EQUAL Reduce 71 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 71 OR_OR Reduce 71 AND_AND Reduce 71 PLUS Reduce 71 MINUS Reduce 71 REMAINDER Reduce 71 XOR Reduce 71 AND Reduce 71 MULTIPLY Reduce 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 238 OR Reduce 71 DIVIDE Reduce 71 GREATER Reduce 71 LESS Reduce 71 LPAREN Reduce 71 RPAREN Reduce 71 RBRACE Reduce 71 LBRACKET Reduce 71 RBRACKET Reduce 71 SEMICOLON Reduce 71 QUESTION Reduce 71 COLON Reduce 71 COMMA Reduce 71 DOT Reduce 71 EQUAL Reduce 74 AT Reduce 71 COLON_COLON Reduce 71 BeginTypeArguments Reduce 71 ElidedSemicolonAndRightBrace Reduce 71 AT308 Reduce 71 BeginCaseExpr Reduce 71 RestrictedIdentifiersealed Reduce 71 UNDERSCORE Reduce 71 $eof Reduce 71 ARROW Reduce 559 Default reduction to rule 74 STATE 38 ----------------------------------------------------------------------- ( 3 5 7 11 12 13 19 21 30 40 41 43 45 49 69 75 76 77 79 80 96 98 101 107 115 119 125 126 128 129 130 132 141 147 150 151 155 161 182 184 185 190 191 192 198 200 204 208 209 210 215 223 224 227 228 230 234 236 237 238 239 240 242 243 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 274 275 276 277 278 279 283 285 291 296 299 302 303 317 319 324 325 326 328 331 332 334 335 336 337 338 343 345 347 350 352 356 359 360 363 364 368 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 421 423 424 435 438 440 443 451 475 477 481 487 490 496 513 514 516 518 523 524 534 542 558 559 568 569 572 577 578 582 597 598 602 608 609 610 612 613 649 651 652 655 656 657 659 670 671 678 680 683 688 690 692 693 694 699 701 703 705 712 713 715 717 719 726 727 734 740 746 748 751 759 762 768 771 772 780 784 785 796 801 803 806 808 809 811 817 818 820 824 825 835 844 845 849 850 857 858 860 862 863 873 877 880 884 885 888 902 907 909 918 922 923 933 934 935 936 937 944 947 951 952 954 958 960 963 965 969 972 974 980 981 983 986 987 ) TypeAnnotationName ::= AT308 .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 239 Identifier Shift 222 SimpleName Goto 222 UnannotatableName Goto 222 STATE 39 ----------------------------------------------------------------------- ( 3 5 7 11 12 13 19 21 30 40 41 43 45 49 69 75 76 77 79 80 96 98 101 107 115 119 125 126 128 129 130 132 141 147 150 151 155 161 182 184 185 190 191 192 198 200 204 208 209 210 215 223 224 227 228 230 234 236 237 238 239 240 242 243 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 274 275 276 277 278 279 283 285 291 296 299 302 303 317 319 324 325 326 328 331 332 334 335 336 337 338 343 345 347 350 352 356 359 360 363 364 368 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 421 423 424 435 438 440 443 451 475 477 481 487 490 496 513 514 516 518 523 524 534 542 558 559 568 569 572 577 578 582 597 598 602 608 609 610 612 613 649 651 652 655 656 657 659 670 671 678 680 683 688 690 692 693 694 699 701 703 705 712 713 715 717 719 726 727 734 740 746 748 751 759 762 768 771 772 780 784 785 796 801 803 806 808 809 811 817 818 820 824 825 835 844 845 849 850 857 858 860 862 863 873 877 880 884 885 888 902 907 909 918 922 923 933 934 935 936 937 944 947 951 952 954 958 960 963 965 969 972 974 980 981 983 986 987 ) NormalTypeAnnotation ::= TypeAnnotationName .LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= TypeAnnotationName . (89) SingleMemberTypeAnnotation ::= TypeAnnotationName .LPAREN SingleMemberAnnotationMemberValue RPAREN LPAREN Shift 223 Identifier Reduce 89 boolean Reduce 89 byte Reduce 89 char Reduce 89 double Reduce 89 float Reduce 89 int Reduce 89 long Reduce 89 short Reduce 89 void Reduce 89 LBRACKET Reduce 89 QUESTION Reduce 89 ELLIPSIS Reduce 89 AT308 Reduce 89 $eof Reduce 89 Default reduction to rule 89 STATE 40 ----------------------------------------------------------------------- ( 3 5 7 11 12 13 19 21 30 41 43 45 49 69 75 76 77 79 80 96 98 101 107 115 119 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 240 125 126 128 129 130 132 141 147 150 151 155 161 182 184 185 190 191 192 198 200 204 208 209 210 215 223 224 227 228 230 234 236 237 238 239 240 242 243 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 274 275 276 277 278 279 283 285 291 296 299 302 303 317 319 324 325 326 328 331 332 334 335 336 337 338 343 345 347 350 352 356 359 360 363 364 368 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 421 423 424 435 438 440 443 451 475 477 481 487 490 496 513 514 516 518 523 524 534 542 558 559 568 569 572 577 578 582 597 598 602 608 609 610 612 613 649 651 652 655 656 657 659 670 671 678 680 683 688 690 692 693 694 699 701 703 705 712 713 715 717 719 726 727 734 740 746 748 751 759 762 768 771 772 780 784 785 796 801 803 806 808 809 811 817 818 820 824 825 835 844 845 849 850 857 858 860 862 863 873 877 880 884 885 888 902 907 909 918 922 923 933 934 935 936 937 944 947 951 952 954 958 960 963 965 969 972 974 980 981 983 986 987 ) TypeAnnotations ::= TypeAnnotations0 . (81) TypeAnnotations0 ::= TypeAnnotations0 .TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotation Gt/Rd 83 Identifier Reduce 81 boolean Reduce 81 byte Reduce 81 char Reduce 81 double Reduce 81 float Reduce 81 int Reduce 81 long Reduce 81 short Reduce 81 void Reduce 81 LBRACKET Reduce 81 QUESTION Reduce 81 ELLIPSIS Reduce 81 $eof Reduce 81 Default reduction to rule 81 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 241 STATE 41 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 208 209 210 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 701 705 746 748 751 759 762 768 771 772 784 785 801 803 808 809 811 817 818 844 845 857 858 873 877 880 907 909 918 922 935 936 944 954 963 969 972 974 983 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PrimaryNoNewArray ::= Name .DOT this QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT class PrimaryNoNewArray ::= Name .Dims DOT class ReferenceExpression ::= Name .Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ClassInstanceCreationExpressionName ::= Name .DOT new MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET PostfixExpression ::= Name . (620) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims LPAREN Shift 224 BeginTypeArguments Shift 225 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 242 DOT Shift 227 LBRACKET Shift 228 AT308 Shift 38 Dims Goto 229 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Goto 226 abstract Reduce 620 final Reduce 620 instanceof Reduce 620 native Reduce 620 non-sealed Reduce 620 private Reduce 620 protected Reduce 620 public Reduce 620 static Reduce 620 strictfp Reduce 620 synchronized Reduce 620 transient Reduce 620 volatile Reduce 620 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 EQUAL_EQUAL Reduce 620 LESS_EQUAL Reduce 620 GREATER_EQUAL Reduce 620 NOT_EQUAL Reduce 620 LEFT_SHIFT Reduce 620 RIGHT_SHIFT Reduce 620 UNSIGNED_RIGHT_SHIFT Reduce 620 PLUS_EQUAL Reduce 620 MINUS_EQUAL Reduce 620 MULTIPLY_EQUAL Reduce 620 DIVIDE_EQUAL Reduce 620 AND_EQUAL Reduce 620 OR_EQUAL Reduce 620 XOR_EQUAL Reduce 620 REMAINDER_EQUAL Reduce 620 LEFT_SHIFT_EQUAL Reduce 620 RIGHT_SHIFT_EQUAL Reduce 620 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 620 OR_OR Reduce 620 AND_AND Reduce 620 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 243 PLUS Reduce 620 MINUS Reduce 620 REMAINDER Reduce 620 XOR Reduce 620 AND Reduce 620 MULTIPLY Reduce 620 OR Reduce 620 DIVIDE Reduce 620 GREATER Reduce 620 LESS Reduce 620 RPAREN Reduce 620 RBRACE Reduce 620 RBRACKET Reduce 620 SEMICOLON Reduce 620 QUESTION Reduce 620 COLON Reduce 620 COMMA Reduce 620 EQUAL Reduce 620 AT Reduce 620 ElidedSemicolonAndRightBrace Reduce 620 BeginCaseExpr Reduce 620 RestrictedIdentifiersealed Reduce 620 $eof Reduce 620 COLON_COLON Reduce 714 Default reduction to rule 620 STATE 42 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 45 49 69 75 79 80 96 98 101 107 115 119 125 132 141 147 150 151 155 184 185 190 191 192 204 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 276 291 317 319 325 328 331 332 334 335 336 337 338 347 350 352 356 360 364 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 424 438 440 443 451 490 496 513 514 518 523 524 542 559 568 569 572 577 613 649 651 656 670 671 678 680 683 688 690 693 694 701 705 712 713 727 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 824 825 844 845 849 850 857 858 860 862 863 873 877 880 884 885 888 902 907 909 918 922 923 933 934 935 936 937 944 947 951 952 954 958 960 963 965 969 972 974 980 981 983 986 987 ) Name ::= TypeAnnotations .SimpleName TypeAnnotationsopt ::= TypeAnnotations . (80) Identifier Sh/Rd 72 SimpleName Gt/Rd 72 boolean Reduce 80 byte Reduce 80 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 244 char Reduce 80 double Reduce 80 float Reduce 80 int Reduce 80 long Reduce 80 short Reduce 80 void Reduce 80 QUESTION Reduce 80 Default reduction to rule 80 STATE 43 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 873 877 880 902 907 909 918 922 933 934 935 936 937 944 947 954 958 960 963 965 969 972 974 980 981 983 986 987 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName . ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName . OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 245 TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 1004 AT308 Shift 38 LESS Shift 75 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1005 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 231 ClassType Goto 231 OnlyTypeArguments Goto 230 STATE 44 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 208 209 210 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 651 656 678 680 683 688 690 693 694 701 705 746 748 751 759 762 768 771 772 784 785 801 803 808 809 811 817 818 844 845 857 858 873 877 880 907 909 918 922 934 935 936 944 954 963 969 972 974 983 ) ReferenceExpression ::= Primary .COLON_COLON NonWildTypeArgumentsopt Identifier ClassInstanceCreationExpression ::= Primary .DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= Primary .DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt FieldAccess ::= Primary .DOT Identifier MethodInvocation ::= Primary .DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 246 ArgumentListopt RPAREN MethodInvocation ::= Primary .DOT Identifier LPAREN ArgumentListopt RPAREN PostfixExpression ::= Primary . (619) DOT Shift 232 COLON_COLON Shift 233 abstract Reduce 619 final Reduce 619 instanceof Reduce 619 native Reduce 619 non-sealed Reduce 619 private Reduce 619 protected Reduce 619 public Reduce 619 static Reduce 619 strictfp Reduce 619 synchronized Reduce 619 transient Reduce 619 volatile Reduce 619 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 619 LESS_EQUAL Reduce 619 GREATER_EQUAL Reduce 619 NOT_EQUAL Reduce 619 LEFT_SHIFT Reduce 619 RIGHT_SHIFT Reduce 619 UNSIGNED_RIGHT_SHIFT Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 619 AND_AND Reduce 619 PLUS Reduce 619 MINUS Reduce 619 REMAINDER Reduce 619 XOR Reduce 619 AND Reduce 619 MULTIPLY Reduce 619 OR Reduce 619 DIVIDE Reduce 619 GREATER Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 247 LESS Reduce 619 RPAREN Reduce 619 RBRACE Reduce 619 RBRACKET Reduce 619 SEMICOLON Reduce 619 QUESTION Reduce 619 COLON Reduce 619 COMMA Reduce 619 EQUAL Reduce 619 AT Reduce 619 ElidedSemicolonAndRightBrace Reduce 619 BeginCaseExpr Reduce 619 RestrictedIdentifiersealed Reduce 619 $eof Reduce 619 Default reduction to rule 619 STATE 45 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 873 877 880 902 907 909 918 922 933 934 935 936 937 944 947 954 958 960 963 965 969 972 974 980 981 983 986 987 ) ClassInstanceCreationExpression ::= new .OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= new .ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ArrayCreationWithoutArrayInitializer ::= new .PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new .PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= new .ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new .ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ClassOrInterfaceType ::= .ClassOrInterface IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 248 ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 1004 AT308 Shift 38 LESS Shift 75 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 QualifiedName Goto 1005 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 237 OnlyTypeArguments Goto 236 ClassType Goto 235 PrimitiveType Goto 234 boolean Reduce 79 byte Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 249 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 46 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 873 877 880 902 907 909 918 922 933 934 935 936 937 944 947 954 958 960 963 965 969 972 974 980 981 983 986 987 ) Primary ::= ArrayCreationWithArrayInitializer . (527) ArrayAccess ::= ArrayCreationWithArrayInitializer .LBRACKET Expression RBRACKET LBRACKET Shift 238 abstract Reduce 527 final Reduce 527 instanceof Reduce 527 native Reduce 527 non-sealed Reduce 527 private Reduce 527 protected Reduce 527 public Reduce 527 static Reduce 527 strictfp Reduce 527 synchronized Reduce 527 transient Reduce 527 volatile Reduce 527 PLUS_PLUS Reduce 527 MINUS_MINUS Reduce 527 EQUAL_EQUAL Reduce 527 LESS_EQUAL Reduce 527 GREATER_EQUAL Reduce 527 NOT_EQUAL Reduce 527 LEFT_SHIFT Reduce 527 RIGHT_SHIFT Reduce 527 UNSIGNED_RIGHT_SHIFT Reduce 527 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 250 PLUS_EQUAL Reduce 527 MINUS_EQUAL Reduce 527 MULTIPLY_EQUAL Reduce 527 DIVIDE_EQUAL Reduce 527 AND_EQUAL Reduce 527 OR_EQUAL Reduce 527 XOR_EQUAL Reduce 527 REMAINDER_EQUAL Reduce 527 LEFT_SHIFT_EQUAL Reduce 527 RIGHT_SHIFT_EQUAL Reduce 527 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 527 OR_OR Reduce 527 AND_AND Reduce 527 PLUS Reduce 527 MINUS Reduce 527 REMAINDER Reduce 527 XOR Reduce 527 AND Reduce 527 MULTIPLY Reduce 527 OR Reduce 527 DIVIDE Reduce 527 GREATER Reduce 527 LESS Reduce 527 RPAREN Reduce 527 RBRACE Reduce 527 RBRACKET Reduce 527 SEMICOLON Reduce 527 QUESTION Reduce 527 COLON Reduce 527 COMMA Reduce 527 DOT Reduce 527 EQUAL Reduce 527 AT Reduce 527 COLON_COLON Reduce 527 ElidedSemicolonAndRightBrace Reduce 527 BeginCaseExpr Reduce 527 RestrictedIdentifiersealed Reduce 527 $eof Reduce 527 Default reduction to rule 527 STATE 47 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 317 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 740 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 849 850 857 858 860 862 873 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 251 877 880 902 907 909 918 922 933 934 935 936 937 944 947 954 958 960 963 965 969 972 974 980 981 983 986 987 ) Primary ::= PrimaryNoNewArray . (526) ArrayAccess ::= PrimaryNoNewArray .LBRACKET Expression RBRACKET LBRACKET Shift 239 abstract Reduce 526 final Reduce 526 instanceof Reduce 526 native Reduce 526 non-sealed Reduce 526 private Reduce 526 protected Reduce 526 public Reduce 526 static Reduce 526 strictfp Reduce 526 synchronized Reduce 526 transient Reduce 526 volatile Reduce 526 PLUS_PLUS Reduce 526 MINUS_MINUS Reduce 526 EQUAL_EQUAL Reduce 526 LESS_EQUAL Reduce 526 GREATER_EQUAL Reduce 526 NOT_EQUAL Reduce 526 LEFT_SHIFT Reduce 526 RIGHT_SHIFT Reduce 526 UNSIGNED_RIGHT_SHIFT Reduce 526 PLUS_EQUAL Reduce 526 MINUS_EQUAL Reduce 526 MULTIPLY_EQUAL Reduce 526 DIVIDE_EQUAL Reduce 526 AND_EQUAL Reduce 526 OR_EQUAL Reduce 526 XOR_EQUAL Reduce 526 REMAINDER_EQUAL Reduce 526 LEFT_SHIFT_EQUAL Reduce 526 RIGHT_SHIFT_EQUAL Reduce 526 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 526 OR_OR Reduce 526 AND_AND Reduce 526 PLUS Reduce 526 MINUS Reduce 526 REMAINDER Reduce 526 XOR Reduce 526 AND Reduce 526 MULTIPLY Reduce 526 OR Reduce 526 DIVIDE Reduce 526 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 252 GREATER Reduce 526 LESS Reduce 526 RPAREN Reduce 526 RBRACE Reduce 526 RBRACKET Reduce 526 SEMICOLON Reduce 526 QUESTION Reduce 526 COLON Reduce 526 COMMA Reduce 526 DOT Reduce 526 EQUAL Reduce 526 AT Reduce 526 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 526 BeginCaseExpr Reduce 526 RestrictedIdentifiersealed Reduce 526 $eof Reduce 526 Default reduction to rule 526 STATE 48 ----------------------------------------------------------------------- ( 3 13 19 49 79 80 96 98 107 115 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 319 325 328 331 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 746 748 751 759 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 857 858 860 862 873 877 880 909 918 922 935 936 944 954 963 969 972 974 ) CastExpression ::= BeginIntersectionCast .PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus PushLPAREN ::= .LPAREN LPAREN Sh/Rd 524 PushLPAREN Goto 240 STATE 49 ----------------------------------------------------------------------- ( 3 13 19 49 79 80 96 98 107 115 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 319 325 328 331 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 701 705 746 748 751 759 768 771 772 784 785 801 803 806 808 809 811 817 818 844 845 857 858 860 862 873 877 880 909 918 922 935 936 944 954 963 969 972 974 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 253 PrimaryNoNewArray ::= PushLPAREN .Expression_NotName PushRPAREN PrimaryNoNewArray ::= PushLPAREN .Name PushRPAREN CastExpression ::= PushLPAREN .PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= PushLPAREN .Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN .Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN .Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN .Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 254 PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 255 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 256 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 257 ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression MINUS Shift 170 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 258 PLUS Shift 171 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1031 true Shift 1031 null Shift 1031 TextBlock Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression_NotName Goto 241 Assignment Goto 241 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 Name Goto 243 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 ShiftExpression_NotName Goto 175 UnaryExpression_NotName Goto 1032 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1032 PostfixExpression_NotName Goto 1032 CastExpression Goto 1032 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1040 BooleanLiteral Goto 1031 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 259 Primary Goto 169 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1039 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 242 Literal Goto 1031 ClassInstanceCreationExpression Goto 1038 FieldAccess Goto 1037 MethodInvocation Goto 1036 ArrayAccess Goto 1035 LambdaExpression Goto 1034 ReferenceExpression Goto 1033 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus_NotName Goto 1032 AssignmentExpression_NotName Goto 241 Expression_NotName Goto 241 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 50 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 208 209 210 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 651 656 678 680 683 688 690 693 694 701 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 818 844 845 857 858 873 877 880 909 918 922 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 260 935 936 944 954 963 969 972 974 ) UnaryExpressionNotPlusMinus ::= NOT .PushPosition UnaryExpression PushPosition ::= . (625) PushPosition Goto 244 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 double Reduce 625 false Reduce 625 float Reduce 625 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 Default reduction to rule 625 STATE 51 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 208 209 210 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 261 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 490 523 524 568 569 572 651 656 678 680 683 688 690 693 694 701 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 818 844 845 857 858 873 877 880 909 918 922 935 936 944 954 963 969 972 974 ) UnaryExpressionNotPlusMinus ::= TWIDDLE .PushPosition UnaryExpression PushPosition ::= . (625) PushPosition Goto 245 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 double Reduce 625 false Reduce 625 float Reduce 625 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 Default reduction to rule 625 STATE 52 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 262 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 705 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 844 845 849 850 857 858 860 862 873 877 902 907 909 918 933 934 935 936 937 944 947 954 958 960 963 965 972 974 980 981 983 986 987 ) PreDecrementExpression ::= MINUS_MINUS .PushPosition UnaryExpression PushPosition ::= . (625) PushPosition Goto 246 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 double Reduce 625 false Reduce 625 float Reduce 625 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 263 Default reduction to rule 625 STATE 53 ----------------------------------------------------------------------- ( 3 11 12 13 19 21 49 79 80 96 98 101 107 115 119 132 185 208 209 210 223 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 319 325 328 331 332 334 335 336 337 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 451 490 523 524 568 569 572 613 651 656 678 680 683 688 690 693 694 705 746 748 751 759 762 768 771 772 784 785 801 803 806 808 809 811 817 844 845 849 850 857 858 860 862 873 877 902 907 909 918 933 934 935 936 937 944 947 954 958 960 963 965 972 974 980 981 983 986 987 ) PreIncrementExpression ::= PLUS_PLUS .PushPosition UnaryExpression PushPosition ::= . (625) PushPosition Goto 247 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 double Reduce 625 false Reduce 625 float Reduce 625 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 264 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 Default reduction to rule 625 STATE 54 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 251 252 253 257 258 259 260 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 413 414 451 490 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression ::= MultiplicativeExpression . (656) REMAINDER Shift 248 DIVIDE Shift 249 MULTIPLY Shift 250 abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 265 PLUS Reduce 656 MINUS Reduce 656 XOR Reduce 656 AND Reduce 656 OR Reduce 656 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 AT Reduce 656 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 55 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 387 388 389 390 391 392 393 394 395 396 397 398 399 400 413 414 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= ShiftExpression . (663) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 266 volatile Reduce 356 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 OR_OR Reduce 356 AND_AND Reduce 356 XOR Reduce 356 AND Reduce 356 OR Reduce 356 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 AT Reduce 356 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 663 STATE 56 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 257 258 259 260 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 380 381 382 383 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 413 414 451 490 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= AdditiveExpression . (659) MINUS Shift 254 PLUS Shift 255 abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 267 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 XOR Reduce 659 AND Reduce 659 OR Reduce 659 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 AT Reduce 659 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 57 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 261 264 265 266 267 268 269 319 325 328 331 335 336 338 347 389 390 391 392 393 394 395 396 397 398 413 414 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression ::= InstanceofExpression . (668) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern instanceof Shift 256 InstanceofClassic Gt/Rd 357 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 268 InstanceofPattern Gt/Rd 357 InstanceofRHS Gt/Rd 357 abstract Reduce 668 final Reduce 668 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 EQUAL_EQUAL Reduce 668 NOT_EQUAL Reduce 668 OR_OR Reduce 668 AND_AND Reduce 668 XOR Reduce 668 AND Reduce 668 OR Reduce 668 RPAREN Reduce 668 RBRACE Reduce 668 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 AT Reduce 668 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 58 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 387 388 389 390 391 392 393 394 395 396 397 398 399 400 413 414 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) InstanceofExpression ::= RelationalExpression . (356) RelationalExpression ::= RelationalExpression .LESS ShiftExpression RelationalExpression ::= RelationalExpression .GREATER ShiftExpression RelationalExpression ::= RelationalExpression .LESS_EQUAL ShiftExpression RelationalExpression ::= RelationalExpression .GREATER_EQUAL ShiftExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 269 GREATER_EQUAL Shift 257 LESS_EQUAL Shift 258 GREATER Shift 259 LESS Shift 260 abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 EQUAL_EQUAL Reduce 356 NOT_EQUAL Reduce 356 OR_OR Reduce 356 AND_AND Reduce 356 XOR Reduce 356 AND Reduce 356 OR Reduce 356 RPAREN Reduce 356 RBRACE Reduce 356 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 AT Reduce 356 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 59 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 264 266 267 268 269 319 325 328 331 335 336 338 347 391 392 393 394 395 396 413 414 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression ::= AndExpression . (673) AND Shift 261 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 270 abstract Reduce 673 final Reduce 673 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 OR_OR Reduce 673 AND_AND Reduce 673 XOR Reduce 673 OR Reduce 673 RPAREN Reduce 673 RBRACE Reduce 673 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 AT Reduce 673 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 60 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 264 265 266 267 268 269 319 325 328 331 335 336 338 347 389 391 392 393 394 395 396 397 413 414 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression ::= EqualityExpression . (671) NOT_EQUAL Shift 262 EQUAL_EQUAL Shift 263 abstract Reduce 671 final Reduce 671 native Reduce 671 non-sealed Reduce 671 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 271 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 OR_OR Reduce 671 AND_AND Reduce 671 XOR Reduce 671 AND Reduce 671 OR Reduce 671 RPAREN Reduce 671 RBRACE Reduce 671 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 AT Reduce 671 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 61 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 267 269 319 325 328 331 335 336 338 347 393 394 413 414 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression ::= InclusiveOrExpression . (677) OR Shift 264 abstract Reduce 677 final Reduce 677 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 272 volatile Reduce 677 OR_OR Reduce 677 AND_AND Reduce 677 RPAREN Reduce 677 RBRACE Reduce 677 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 AT Reduce 677 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 62 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 267 268 269 319 325 328 331 335 336 338 347 391 393 394 395 413 414 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression ::= ExclusiveOrExpression . (675) XOR Shift 265 abstract Reduce 675 final Reduce 675 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 OR_OR Reduce 675 AND_AND Reduce 675 OR Reduce 675 RPAREN Reduce 675 RBRACE Reduce 675 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 273 COMMA Reduce 675 AT Reduce 675 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 63 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 269 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) ConditionalOrExpression ::= ConditionalOrExpression .OR_OR ConditionalAndExpression ConditionalExpression ::= ConditionalOrExpression . (681) ConditionalExpression ::= ConditionalOrExpression .QUESTION Expression COLON ConditionalExpression QUESTION Shift 266 OR_OR Shift 267 abstract Reduce 681 final Reduce 681 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 RPAREN Reduce 681 RBRACE Reduce 681 RBRACKET Reduce 681 SEMICOLON Reduce 681 COLON Reduce 681 COMMA Reduce 681 AT Reduce 681 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 64 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 269 319 325 328 331 335 336 338 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 274 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression ::= ConditionalAndExpression . (679) AND_AND Shift 268 abstract Reduce 681 final Reduce 681 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 OR_OR Reduce 679 RPAREN Reduce 681 RBRACE Reduce 681 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 AT Reduce 681 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 679 STATE 65 ----------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 269 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS UnaryExpressionNotPlusMinus ::= PostfixExpression . (633) Assignment ::= PostfixExpression .AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= PostfixExpression .AssignmentOperator ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 275 AssignmentOperator ::= .EQUAL AssignmentOperator ::= .MULTIPLY_EQUAL AssignmentOperator ::= .DIVIDE_EQUAL AssignmentOperator ::= .REMAINDER_EQUAL AssignmentOperator ::= .PLUS_EQUAL AssignmentOperator ::= .MINUS_EQUAL AssignmentOperator ::= .LEFT_SHIFT_EQUAL AssignmentOperator ::= .RIGHT_SHIFT_EQUAL AssignmentOperator ::= .UNSIGNED_RIGHT_SHIFT_EQUAL AssignmentOperator ::= .AND_EQUAL AssignmentOperator ::= .XOR_EQUAL AssignmentOperator ::= .OR_EQUAL MINUS_MINUS Sh/Rd 624 PLUS_PLUS Sh/Rd 623 OR_EQUAL Sh/Rd 699 XOR_EQUAL Sh/Rd 698 AND_EQUAL Sh/Rd 697 UNSIGNED_RIGHT_SHIFT_EQUAL Sh/Rd 696 RIGHT_SHIFT_EQUAL Sh/Rd 695 LEFT_SHIFT_EQUAL Sh/Rd 694 MINUS_EQUAL Sh/Rd 693 PLUS_EQUAL Sh/Rd 692 REMAINDER_EQUAL Sh/Rd 691 DIVIDE_EQUAL Sh/Rd 690 MULTIPLY_EQUAL Sh/Rd 689 EQUAL Sh/Rd 688 AssignmentOperator Goto 269 instanceof Reduce 356 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 276 RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 633 STATE 66 ----------------------------------------------------------------------- ( 4 6 16 19 20 68 78 136 142 143 157 187 189 203 223 256 271 294 297 306 317 337 355 416 511 519 520 559 577 613 722 733 739 740 806 823 860 862 934 ) AnnotationName ::= AT .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 270 SimpleName Goto 270 UnannotatableName Goto 270 STATE 67 ----------------------------------------------------------------------- ( 4 6 11 12 14 15 16 17 18 19 20 21 22 23 68 78 125 132 134 136 142 143 145 149 156 157 185 187 189 203 207 223 256 271 294 297 306 307 317 332 337 355 416 440 441 442 511 519 520 533 540 545 549 559 577 613 669 673 722 724 728 733 735 739 740 797 806 823 860 862 864 934 947 960 965 ) NormalAnnotation ::= AnnotationName .LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= AnnotationName . (941) SingleMemberAnnotation ::= AnnotationName .LPAREN SingleMemberAnnotationMemberValue RPAREN LPAREN Shift 271 Identifier Reduce 941 abstract Reduce 941 boolean Reduce 941 byte Reduce 941 char Reduce 941 class Reduce 941 default Reduce 941 double Reduce 941 enum Reduce 941 final Reduce 941 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 277 float Reduce 941 int Reduce 941 interface Reduce 941 long Reduce 941 native Reduce 941 non-sealed Reduce 941 package Reduce 941 private Reduce 941 protected Reduce 941 public Reduce 941 short Reduce 941 static Reduce 941 strictfp Reduce 941 synchronized Reduce 941 transient Reduce 941 void Reduce 941 volatile Reduce 941 module Reduce 941 open Reduce 941 LESS Reduce 941 RPAREN Reduce 941 RBRACE Reduce 941 SEMICOLON Reduce 941 COMMA Reduce 941 AT Reduce 941 AT308 Reduce 941 RestrictedIdentifierrecord Reduce 941 RestrictedIdentifiersealed Reduce 941 $eof Reduce 941 Default reduction to rule 941 STATE 68 ----------------------------------------------------------------------- ( 4 6 16 20 78 136 142 143 157 187 189 203 256 294 297 306 355 416 511 519 520 722 733 739 823 ) Modifiers ::= Modifiers .Modifier Modifiersopt ::= Modifiers . (711) Modifier ::= .Annotation Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Sh/Rd 196 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 278 volatile Sh/Rd 196 transient Sh/Rd 196 synchronized Sh/Rd 196 RestrictedIdentifiersealed Sh/Rd 196 non-sealed Sh/Rd 196 native Sh/Rd 196 final Sh/Rd 196 abstract Sh/Rd 196 static Sh/Rd 196 private Sh/Rd 196 protected Sh/Rd 196 public Sh/Rd 196 AT Shift 66 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Modifier Gt/Rd 196 Identifier Reduce 711 boolean Reduce 711 byte Reduce 711 char Reduce 711 default Reduce 711 double Reduce 711 float Reduce 711 int Reduce 711 long Reduce 711 short Reduce 711 void Reduce 711 LESS Reduce 711 AT308 Reduce 711 $eof Reduce 711 Default reduction to rule 711 STATE 69 ----------------------------------------------------------------------- ( 4 294 511 823 ) TypePattern ::= Modifiersopt .Type Identifier TypePattern ::= Modifiersopt .Type UNDERSCORE RecordPattern ::= Modifiersopt .ReferenceType PushLPAREN ComponentPatternListopt PushRPAREN Type ::= .PrimitiveType Type ::= .ReferenceType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 279 PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1042 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 280 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 273 Type Goto 272 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 70 ----------------------------------------------------------------------- ( 5 43 77 161 198 200 230 236 240 277 279 285 296 299 302 345 359 363 368 435 475 534 609 692 699 719 734 796 ) Name ::= TypeAnnotations .SimpleName Identifier Sh/Rd 72 SimpleName Gt/Rd 72 STATE 71 ----------------------------------------------------------------------- ( 5 11 12 21 43 45 69 125 132 141 147 150 151 155 184 185 190 191 192 204 230 236 279 285 291 296 299 302 317 332 337 350 352 356 359 360 364 420 424 438 440 443 475 496 518 534 542 559 577 649 670 671 692 699 719 734 740 863 934 947 960 965 ) ClassOrInterfaceType ::= ClassOrInterface . (59) GenericType ::= ClassOrInterface .TypeArguments GenericType ::= ClassOrInterface .LESS GREATER TypeArguments ::= .LESS TypeArgumentList1 LESS Shift 276 TypeArguments Gt/Rd 63 Identifier Reduce 59 abstract Reduce 59 final Reduce 59 implements Reduce 59 instanceof Reduce 59 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 281 native Reduce 59 non-sealed Reduce 59 private Reduce 59 protected Reduce 59 public Reduce 59 static Reduce 59 strictfp Reduce 59 synchronized Reduce 59 this Reduce 59 transient Reduce 59 volatile Reduce 59 EQUAL_EQUAL Reduce 59 NOT_EQUAL Reduce 59 OR_OR Reduce 59 AND_AND Reduce 59 XOR Reduce 59 AND Reduce 59 OR Reduce 59 LPAREN Reduce 59 RPAREN Reduce 59 LBRACE Reduce 59 RBRACE Reduce 59 LBRACKET Reduce 59 RBRACKET Reduce 59 SEMICOLON Reduce 59 QUESTION Reduce 59 COLON Reduce 59 COMMA Reduce 59 AT Reduce 59 ELLIPSIS Reduce 59 COLON_COLON Reduce 59 ElidedSemicolonAndRightBrace Reduce 59 AT308 Reduce 59 AT308DOTDOTDOT Reduce 59 BeginCaseExpr Reduce 59 RestrictedIdentifiersealed Reduce 59 RestrictedIdentifierpermits Reduce 59 UNDERSCORE Reduce 59 $eof Reduce 59 Default reduction to rule 59 STATE 72 ----------------------------------------------------------------------- ( 5 43 45 191 230 236 279 285 296 299 302 359 475 534 692 699 719 734 ) ClassOrInterfaceType ::= GenericType . (60) ClassOrInterface ::= GenericType .DOT Name DOT Shift 277 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 282 abstract Reduce 60 final Reduce 60 implements Reduce 60 native Reduce 60 non-sealed Reduce 60 private Reduce 60 protected Reduce 60 public Reduce 60 static Reduce 60 strictfp Reduce 60 synchronized Reduce 60 transient Reduce 60 volatile Reduce 60 AND Reduce 60 LPAREN Reduce 60 RPAREN Reduce 60 LBRACE Reduce 60 LBRACKET Reduce 60 SEMICOLON Reduce 60 COMMA Reduce 60 AT Reduce 60 COLON_COLON Reduce 60 AT308 Reduce 60 RestrictedIdentifiersealed Reduce 60 RestrictedIdentifierpermits Reduce 60 $eof Reduce 60 Default reduction to rule 60 STATE 73 ----------------------------------------------------------------------- ( 5 43 45 191 230 236 279 285 296 299 302 359 475 534 692 699 719 734 ) ClassOrInterface ::= Name . (61) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName DOT Shift 278 abstract Reduce 61 final Reduce 61 implements Reduce 61 native Reduce 61 non-sealed Reduce 61 private Reduce 61 protected Reduce 61 public Reduce 61 static Reduce 61 strictfp Reduce 61 synchronized Reduce 61 transient Reduce 61 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 283 volatile Reduce 61 AND Reduce 61 LESS Reduce 61 LPAREN Reduce 61 RPAREN Reduce 61 LBRACE Reduce 61 LBRACKET Reduce 61 SEMICOLON Reduce 61 COMMA Reduce 61 AT Reduce 61 COLON_COLON Reduce 61 AT308 Reduce 61 RestrictedIdentifiersealed Reduce 61 RestrictedIdentifierpermits Reduce 61 $eof Reduce 61 Default reduction to rule 61 STATE 74 ----------------------------------------------------------------------- ( 5 ) ClassTypeList ::= ClassTypeList .COMMA ClassTypeElt PermittedSubclasses ::= ClassTypeList . (726) COMMA Shift 279 $eof Reduce 726 Default reduction to rule 726 STATE 75 ----------------------------------------------------------------------- ( 8 11 12 21 43 45 101 119 132 185 218 219 220 221 225 227 232 233 327 332 334 343 440 448 466 475 684 849 850 902 933 937 947 958 960 965 980 981 986 987 ) OnlyTypeArguments ::= LESS .TypeArgumentList1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 284 ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeArgumentList1 ::= .TypeArgumentList COMMA TypeArgument1 TypeArgumentList ::= .TypeArgumentList COMMA TypeArgument TypeArgument ::= .ReferenceType ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 AT308 Shift 38 Identifier Shift 1004 ReferenceType1 Gt/Rd 772 Wildcard1 Gt/Rd 772 TypeAnnotationsopt Goto 284 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1043 TypeAnnotations Goto 42 GenericType Goto 129 PrimitiveType Goto 283 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 282 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 285 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 281 TypeArgument Goto 280 TypeArgumentList Goto 280 Wildcard Goto 280 TypeArgument1 Gt/Rd 772 TypeArgumentList1 Gt/Rd 772 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 QUESTION Reduce 79 Default reduction to rule 79 STATE 76 ----------------------------------------------------------------------- ( 8 225 ) ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments .Dimsopt ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments .DOT ClassOrInterfaceType Dimsopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) DOT Shift 285 AT308 Shift 38 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 286 LBRACKET Shift 214 DimsLoop Goto 215 TypeAnnotations Goto 213 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 OneDimLoop Goto 1030 Dims Gt/Rd 546 Dimsopt Gt/Rd 546 COLON_COLON Reduce 714 $eof Reduce 714 Default reduction to rule 714 STATE 77 ----------------------------------------------------------------------- ( 9 ) ParenthesizedCastNameAndBounds ::= LPAREN .CastNameAndBounds RPAREN Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN CastNameAndBounds ::= .Name AdditionalBoundList AT308 Shift 38 Identifier Shift 1004 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 287 Name Goto 287 TypeAnnotation Goto 998 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 287 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 CastNameAndBounds Goto 286 STATE 78 ----------------------------------------------------------------------- ( 10 216 ) LambdaParameterList ::= PushLPAREN .FormalParameterListopt PushRPAREN LambdaParameterList ::= PushLPAREN .TypeElidedFormalParameterList PushRPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis TypeElidedFormalParameterList ::= .TypeElidedFormalParameterList COMMA TypeElidedFormalParameter TypeElidedFormalParameter ::= .Modifiersopt Identifier TypeElidedFormalParameter ::= .UNDERSCORE Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (720) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 288 SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 66 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 UNDERSCORE Sh/Rd 569 Modifiersopt Goto 291 TypeElidedFormalParameter Goto 290 TypeElidedFormalParameterList Goto 290 FormalParameter Goto 1044 FormalParameterList Goto 289 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 FormalParameterListopt Goto 288 RPAREN Reduce 720 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 79 ----------------------------------------------------------------------- ( 10 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 289 980 981 986 987 ) YieldStatement ::= RestrictedIdentifierYield .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 290 PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 291 ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 292 ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 293 Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 294 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 292 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 80 ----------------------------------------------------------------------- ( 10 914 943 947 960 ) SwitchLabelCaseLhs ::= case .CaseLabelElements Literal ::= .IntegerLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 295 Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock CaseLabelElements ::= .CaseLabelElements COMMA CaseLabelElement CaseLabelElement ::= .ConstantExpression CaseLabelElement ::= .default CaseLabelElement ::= .CaseLabelElementPattern CaseLabelElement ::= .CaseLabelElementPattern Guard CaseLabelElementPattern ::= .BeginCaseElement Pattern PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 296 PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 297 QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 298 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 299 Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ConstantExpression ::= .Expression PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 NOT Shift 50 TWIDDLE Shift 51 BeginIntersectionCast Shift 48 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 MINUS Shift 27 PLUS Shift 28 BeginCaseElement Shift 294 default Sh/Rd 476 ConstantExpression Gt/Rd 475 CaseLabelElementPattern Goto 295 AssignmentExpression Gt/Rd 700 ConditionalOrExpression Goto 63 InclusiveOrExpression Goto 61 ConditionalAndExpression Goto 64 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 Primary Goto 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 300 Name Goto 41 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PostfixExpression Goto 65 Literal Goto 988 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 PrimitiveType Goto 30 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 1000 SwitchExpression Goto 989 CastExpression Goto 989 UnaryExpression Goto 989 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalExpression Goto 1001 Assignment Goto 1001 Expression Goto 1045 CaseLabelElement Goto 293 CaseLabelElements Goto 293 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 301 STATE 81 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 22 23 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) EnumHeader ::= EnumHeaderName .ClassHeaderImplementsopt ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (722) implements Shift 296 ClassHeaderImplements Gt/Rd 743 ClassHeaderImplementsopt Gt/Rd 743 abstract Reduce 722 final Reduce 722 native Reduce 722 non-sealed Reduce 722 private Reduce 722 protected Reduce 722 public Reduce 722 static Reduce 722 strictfp Reduce 722 synchronized Reduce 722 transient Reduce 722 volatile Reduce 722 LBRACE Reduce 722 AT Reduce 722 RestrictedIdentifiersealed Reduce 722 $eof Reduce 722 Default reduction to rule 722 STATE 82 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) EnumDeclaration ::= EnumHeader .EnumBody EnumBody ::= .LBRACE EnumBodyDeclarationsopt RBRACE EnumBody ::= .LBRACE COMMA EnumBodyDeclarationsopt RBRACE EnumBody ::= .LBRACE EnumConstants COMMA EnumBodyDeclarationsopt RBRACE EnumBody ::= .LBRACE EnumConstants EnumBodyDeclarationsopt RBRACE LBRACE Shift 297 EnumBody Gt/Rd 742 STATE 83 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 22 23 132 134 149 185 207 307 332 440 441 442 533 540 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 302 545 549 669 673 724 728 735 797 864 947 960 965 ) AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeaderName . ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderExtends ::= .extends ClassType ClassHeaderExtendsopt ::= . (701) extends Shift 299 ClassHeaderExtends Goto 298 ClassHeaderExtendsopt Goto 298 abstract Reduce 701 final Reduce 701 implements Reduce 701 native Reduce 701 non-sealed Reduce 701 private Reduce 701 protected Reduce 701 public Reduce 701 static Reduce 701 strictfp Reduce 701 synchronized Reduce 701 transient Reduce 701 volatile Reduce 701 LBRACE Reduce 701 AT Reduce 701 RestrictedIdentifiersealed Reduce 701 $eof Reduce 701 Default reduction to rule 701 STATE 84 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) AnnotationTypeDeclaration ::= AnnotationTypeDeclarationHeader . AnnotationTypeBody AnnotationTypeBody ::= .LBRACE AnnotationTypeMemberDeclarationsopt RBRACE LBRACE Shift 300 AnnotationTypeBody Gt/Rd 902 STATE 85 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 22 23 132 134 149 185 207 307 332 440 441 442 533 540 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 303 545 549 669 673 724 728 735 797 864 947 960 965 ) InterfaceHeader ::= InterfaceHeaderName .InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderExtends ::= .extends InterfaceTypeList InterfaceHeaderExtendsopt ::= . (738) extends Shift 302 InterfaceHeaderExtends Goto 301 InterfaceHeaderExtendsopt Goto 301 abstract Reduce 738 final Reduce 738 native Reduce 738 non-sealed Reduce 738 private Reduce 738 protected Reduce 738 public Reduce 738 static Reduce 738 strictfp Reduce 738 synchronized Reduce 738 transient Reduce 738 volatile Reduce 738 LBRACE Reduce 738 AT Reduce 738 RestrictedIdentifiersealed Reduce 738 RestrictedIdentifierpermits Reduce 738 $eof Reduce 738 Default reduction to rule 738 STATE 86 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 22 23 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) InterfaceHeaderName ::= InterfaceHeaderName1 .TypeParameters InterfaceHeaderName ::= InterfaceHeaderName1 . (307) TypeParameters ::= .LESS TypeParameterList1 LESS Shift 303 TypeParameters Gt/Rd 306 abstract Reduce 307 extends Reduce 307 final Reduce 307 native Reduce 307 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 304 non-sealed Reduce 307 private Reduce 307 protected Reduce 307 public Reduce 307 static Reduce 307 strictfp Reduce 307 synchronized Reduce 307 transient Reduce 307 volatile Reduce 307 LBRACE Reduce 307 AT Reduce 307 RestrictedIdentifiersealed Reduce 307 RestrictedIdentifierpermits Reduce 307 $eof Reduce 307 Default reduction to rule 307 STATE 87 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) InterfaceDeclaration ::= InterfaceHeader .InterfaceBody InterfaceBody ::= .LBRACE InterfaceMemberDeclarationsopt RBRACE LBRACE Shift 304 InterfaceBody Gt/Rd 304 STATE 88 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 22 23 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) RecordHeaderPart ::= RecordHeaderName .RecordHeader ClassHeaderImplementsopt RecordHeader ::= .LPAREN RecordComponentsopt RecordComponentHeaderRightParen LPAREN Shift 306 RecordHeader Goto 305 STATE 89 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 22 23 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) RecordHeaderName ::= RecordHeaderName1 .TypeParameters RecordHeaderName ::= RecordHeaderName1 . (333) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 305 TypeParameters ::= .LESS TypeParameterList1 LESS Shift 303 TypeParameters Gt/Rd 332 LPAREN Reduce 333 Default reduction to rule 333 STATE 90 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) RecordDeclaration ::= RecordHeaderPart .RecordBody RecordBody ::= .LBRACE RecordBodyDeclarationopt RBRACE LBRACE Shift 307 RecordBody Gt/Rd 330 STATE 91 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 22 23 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) ClassHeader ::= ClassHeaderName .ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderExtends ::= .extends ClassType ClassHeaderExtendsopt ::= . (701) extends Shift 299 ClassHeaderExtends Goto 308 ClassHeaderExtendsopt Goto 308 abstract Reduce 701 final Reduce 701 implements Reduce 701 native Reduce 701 non-sealed Reduce 701 private Reduce 701 protected Reduce 701 public Reduce 701 static Reduce 701 strictfp Reduce 701 synchronized Reduce 701 transient Reduce 701 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 306 volatile Reduce 701 LBRACE Reduce 701 AT Reduce 701 RestrictedIdentifiersealed Reduce 701 RestrictedIdentifierpermits Reduce 701 $eof Reduce 701 Default reduction to rule 701 STATE 92 ----------------------------------------------------------------------- ( 11 12 17 21 132 185 332 440 441 669 797 864 947 960 965 ) ClassHeaderName1 ::= Modifiersopt .class Identifier InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters enum Shift 309 RestrictedIdentifierrecord Shift 310 interface Shift 311 class Shift 312 STATE 93 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 22 23 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) ClassHeaderName ::= ClassHeaderName1 .TypeParameters ClassHeaderName ::= ClassHeaderName1 . (214) TypeParameters ::= .LESS TypeParameterList1 LESS Shift 303 TypeParameters Gt/Rd 213 abstract Reduce 214 extends Reduce 214 final Reduce 214 implements Reduce 214 native Reduce 214 non-sealed Reduce 214 private Reduce 214 protected Reduce 214 public Reduce 214 static Reduce 214 strictfp Reduce 214 synchronized Reduce 214 transient Reduce 214 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 307 volatile Reduce 214 LBRACE Reduce 214 AT Reduce 214 RestrictedIdentifiersealed Reduce 214 RestrictedIdentifierpermits Reduce 214 $eof Reduce 214 Default reduction to rule 214 STATE 94 ----------------------------------------------------------------------- ( 11 12 14 15 17 18 21 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) ClassDeclaration ::= ClassHeader .ClassBody ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 313 ClassBody Gt/Rd 211 STATE 95 ----------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) TryStatement ::= try .TryBlock Catches TryStatement ::= try .TryBlock Catchesopt Finally TryStatementWithResources ::= try .ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= try .ResourceSpecification TryBlock Catchesopt Finally Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) ResourceSpecification ::= .LPAREN Resources ;opt RPAREN TryBlock ::= .Block ExitTryBlock LPAREN Shift 317 OpenBlock Goto 114 Block Goto 316 TryBlock Goto 315 ResourceSpecification Goto 314 LBRACE Reduce 382 Default reduction to rule 382 STATE 96 ----------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 308 981 986 987 ) ThrowStatement ::= throw .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 309 PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 310 ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 311 ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 312 Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 313 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 318 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 97 ----------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) SynchronizedStatement ::= OnlySynchronized .LPAREN Expression RPAREN Block IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 314 LPAREN Shift 319 STATE 98 ----------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) ReturnStatement ::= return .Expressionopt SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 315 PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 316 ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 317 PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 318 AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression Expressionopt ::= . (703) MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AssignmentExpression Gt/Rd 700 ConditionalOrExpression Goto 63 InclusiveOrExpression Goto 61 ConditionalAndExpression Goto 64 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 Primary Goto 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 319 Name Goto 41 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PostfixExpression Goto 65 Literal Goto 988 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 PrimitiveType Goto 30 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 1000 SwitchExpression Goto 989 CastExpression Goto 989 UnaryExpression Goto 989 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalExpression Goto 1001 Assignment Goto 1001 Expression Goto 320 Expressionopt Goto 320 SEMICOLON Reduce 703 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 320 STATE 99 ----------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) ContinueStatement ::= continue .SEMICOLON ContinueStatement ::= continue .Identifier SEMICOLON Identifier Shift 321 SEMICOLON Sh/Rd 496 STATE 100 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) BreakStatement ::= break .SEMICOLON BreakStatement ::= break .Identifier SEMICOLON Identifier Shift 322 SEMICOLON Sh/Rd 494 STATE 101 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) DoStatement ::= do .Statement while LPAREN Expression RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 321 TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 322 StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 323 ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 324 MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 120 while Shift 118 if Shift 117 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 325 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 AssertStatement Goto 323 Block Goto 323 EmptyStatement Goto 323 ExpressionStatement Goto 323 SwitchStatement Goto 323 DoStatement Goto 323 BreakStatement Goto 323 ContinueStatement Goto 323 ReturnStatement Goto 323 SynchronizedStatement Goto 323 ThrowStatement Goto 323 TryStatement Goto 323 TryStatementWithResources Goto 323 YieldStatement Goto 323 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 326 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 Label Goto 116 EnhancedForStatementHeader Goto 119 EnhancedForStatementHeaderInit Goto 121 StatementWithoutTrailingSubstatement Goto 323 LabeledStatement Goto 323 IfThenStatement Goto 323 IfThenElseStatement Goto 323 WhileStatement Goto 323 ForStatement Goto 323 EnhancedForStatement Goto 323 Statement Goto 323 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 102 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) SwitchStatement ::= switch .LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 327 LPAREN Shift 325 STATE 103 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) StatementExpression ::= PostDecrementExpression . (438) PostfixExpression ::= PostDecrementExpression . (622) PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 PLUS_EQUAL Reduce 622 MINUS_EQUAL Reduce 622 MULTIPLY_EQUAL Reduce 622 DIVIDE_EQUAL Reduce 622 AND_EQUAL Reduce 622 OR_EQUAL Reduce 622 XOR_EQUAL Reduce 622 REMAINDER_EQUAL Reduce 622 LEFT_SHIFT_EQUAL Reduce 622 RIGHT_SHIFT_EQUAL Reduce 622 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 622 EQUAL Reduce 622 RPAREN Reduce 438 SEMICOLON Reduce 438 COMMA Reduce 438 Default reduction to rule 622 STATE 104 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) StatementExpression ::= PostIncrementExpression . (437) PostfixExpression ::= PostIncrementExpression . (621) PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 PLUS_EQUAL Reduce 621 MINUS_EQUAL Reduce 621 MULTIPLY_EQUAL Reduce 621 DIVIDE_EQUAL Reduce 621 AND_EQUAL Reduce 621 OR_EQUAL Reduce 621 XOR_EQUAL Reduce 621 REMAINDER_EQUAL Reduce 621 LEFT_SHIFT_EQUAL Reduce 621 RIGHT_SHIFT_EQUAL Reduce 621 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 328 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 621 EQUAL Reduce 621 RPAREN Reduce 437 SEMICOLON Reduce 437 COMMA Reduce 437 Default reduction to rule 621 STATE 105 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) StatementExpression ::= MethodInvocation . (439) PrimaryNoNewArray ::= MethodInvocation . (541) PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 LBRACKET Reduce 541 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 RPAREN Reduce 439 SEMICOLON Reduce 439 COMMA Reduce 439 Default reduction to rule 541 STATE 106 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) StatementExpression ::= ClassInstanceCreationExpression . (440) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 329 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 LBRACKET Reduce 533 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 RPAREN Reduce 440 SEMICOLON Reduce 440 COMMA Reduce 440 Default reduction to rule 533 STATE 107 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 317 332 334 337 440 740 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) PrimaryNoNewArray ::= PushLPAREN .Expression_NotName PushRPAREN PrimaryNoNewArray ::= PushLPAREN .Name PushRPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 330 TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 331 ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 332 PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 333 AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 334 ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression MINUS Shift 170 PLUS Shift 171 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1031 true Shift 1031 null Shift 1031 TextBlock Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression_NotName Goto 241 Assignment Goto 241 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 Name Goto 326 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 335 ShiftExpression_NotName Goto 175 UnaryExpression_NotName Goto 1032 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1032 PostfixExpression_NotName Goto 1032 CastExpression Goto 1032 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1040 BooleanLiteral Goto 1031 Primary Goto 169 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1039 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1031 ClassInstanceCreationExpression Goto 1038 FieldAccess Goto 1037 MethodInvocation Goto 1036 ArrayAccess Goto 1035 LambdaExpression Goto 1034 ReferenceExpression Goto 1033 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus_NotName Goto 1032 AssignmentExpression_NotName Goto 241 Expression_NotName Goto 241 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 336 STATE 108 ---------------------------------------------------------------------- ( 11 12 21 49 101 107 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS Assignment ::= PostfixExpression .AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= PostfixExpression .AssignmentOperator ArrayInitializer AssignmentOperator ::= .EQUAL AssignmentOperator ::= .MULTIPLY_EQUAL AssignmentOperator ::= .DIVIDE_EQUAL AssignmentOperator ::= .REMAINDER_EQUAL AssignmentOperator ::= .PLUS_EQUAL AssignmentOperator ::= .MINUS_EQUAL AssignmentOperator ::= .LEFT_SHIFT_EQUAL AssignmentOperator ::= .RIGHT_SHIFT_EQUAL AssignmentOperator ::= .UNSIGNED_RIGHT_SHIFT_EQUAL AssignmentOperator ::= .AND_EQUAL AssignmentOperator ::= .XOR_EQUAL AssignmentOperator ::= .OR_EQUAL MINUS_MINUS Sh/Rd 624 PLUS_PLUS Sh/Rd 623 OR_EQUAL Sh/Rd 699 XOR_EQUAL Sh/Rd 698 AND_EQUAL Sh/Rd 697 UNSIGNED_RIGHT_SHIFT_EQUAL Sh/Rd 696 RIGHT_SHIFT_EQUAL Sh/Rd 695 LEFT_SHIFT_EQUAL Sh/Rd 694 MINUS_EQUAL Sh/Rd 693 PLUS_EQUAL Sh/Rd 692 REMAINDER_EQUAL Sh/Rd 691 DIVIDE_EQUAL Sh/Rd 690 MULTIPLY_EQUAL Sh/Rd 689 EQUAL Sh/Rd 688 AssignmentOperator Goto 269 STATE 109 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) ExplicitConstructorInvocation ::= Primary .DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary .DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 337 ExplicitConstructorInvocation ::= Primary .DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary .DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ReferenceExpression ::= Primary .COLON_COLON NonWildTypeArgumentsopt Identifier ClassInstanceCreationExpression ::= Primary .DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= Primary .DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt FieldAccess ::= Primary .DOT Identifier MethodInvocation ::= Primary .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= Primary .DOT Identifier LPAREN ArgumentListopt RPAREN PostfixExpression ::= Primary . (619) COLON_COLON Shift 233 DOT Shift 327 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 EQUAL Reduce 619 Default reduction to rule 619 STATE 110 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) ExplicitConstructorInvocation ::= super .LPAREN ArgumentListopt RPAREN SEMICOLON ReferenceExpression ::= super .COLON_COLON NonWildTypeArgumentsopt Identifier FieldAccess ::= super .DOT Identifier MethodInvocation ::= super .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 338 MethodInvocation ::= super .DOT Identifier LPAREN ArgumentListopt RPAREN DOT Shift 220 COLON_COLON Shift 221 LPAREN Shift 328 STATE 111 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) ExplicitConstructorInvocation ::= OnlyTypeArguments .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= OnlyTypeArguments .super LPAREN ArgumentListopt RPAREN SEMICOLON super Shift 329 this Shift 330 STATE 112 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) ExplicitConstructorInvocation ::= this .LPAREN ArgumentListopt RPAREN SEMICOLON PrimaryNoNewArray ::= this . (530) LPAREN Shift 331 PLUS_PLUS Reduce 530 MINUS_MINUS Reduce 530 PLUS_EQUAL Reduce 530 MINUS_EQUAL Reduce 530 MULTIPLY_EQUAL Reduce 530 DIVIDE_EQUAL Reduce 530 AND_EQUAL Reduce 530 OR_EQUAL Reduce 530 XOR_EQUAL Reduce 530 REMAINDER_EQUAL Reduce 530 LEFT_SHIFT_EQUAL Reduce 530 RIGHT_SHIFT_EQUAL Reduce 530 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 530 LBRACKET Reduce 530 DOT Reduce 530 EQUAL Reduce 530 COLON_COLON Reduce 530 Default reduction to rule 530 STATE 113 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 339 981 986 987 ) ExpressionStatement ::= StatementExpression .SEMICOLON SEMICOLON Sh/Rd 432 STATE 114 ---------------------------------------------------------------------- ( 11 12 21 95 101 119 132 138 185 217 314 332 334 440 593 666 738 745 849 850 891 902 933 937 944 947 958 960 965 980 981 986 987 ) Block ::= OpenBlock .LBRACE BlockStatementsopt RBRACE LBRACE Shift 332 STATE 115 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) AssertStatement ::= assert .Expression SEMICOLON AssertStatement ::= assert .Expression COLON Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 340 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 341 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 342 PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 343 ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 344 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 333 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 345 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 116 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 850 933 947 958 960 965 ) LabeledStatement ::= Label .COLON Statement COLON Shift 334 STATE 117 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 850 933 947 958 960 965 ) IfThenStatement ::= if .LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= if .LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement LPAREN Shift 335 STATE 118 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 850 933 947 958 960 965 ) WhileStatement ::= while .LPAREN Expression RPAREN PostExpressionInWhile Statement LPAREN Shift 336 STATE 119 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 850 933 947 958 960 965 ) EnhancedForStatement ::= EnhancedForStatementHeader .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 346 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 347 OpenBlock ::= . (382) EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 348 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 349 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 120 while Shift 118 if Shift 117 assert Shift 115 SEMICOLON Sh/Rd 428 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 350 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 AssertStatement Gt/Rd 762 Block Gt/Rd 762 EmptyStatement Gt/Rd 762 ExpressionStatement Gt/Rd 762 SwitchStatement Gt/Rd 762 DoStatement Gt/Rd 762 BreakStatement Gt/Rd 762 ContinueStatement Gt/Rd 762 ReturnStatement Gt/Rd 762 SynchronizedStatement Gt/Rd 762 ThrowStatement Gt/Rd 762 TryStatement Gt/Rd 762 TryStatementWithResources Gt/Rd 762 YieldStatement Gt/Rd 762 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 351 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 Label Goto 116 EnhancedForStatementHeader Goto 119 EnhancedForStatementHeaderInit Goto 121 StatementWithoutTrailingSubstatement Gt/Rd 762 LabeledStatement Gt/Rd 762 IfThenStatement Gt/Rd 762 IfThenElseStatement Gt/Rd 762 WhileStatement Gt/Rd 762 ForStatement Gt/Rd 762 EnhancedForStatement Gt/Rd 762 Statement Gt/Rd 762 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 352 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 120 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 850 933 947 958 960 965 ) ForStatement ::= for .LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement EnhancedForStatementHeaderInit ::= for .LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= for .LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId LPAREN Shift 337 STATE 121 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit .COLON Expression RPAREN COLON Shift 338 STATE 122 ---------------------------------------------------------------------- ( 11 12 21 132 185 332 440 947 960 965 ) LocalVariableDeclaration ::= Type .PushModifiers VariableDeclarators PushModifiers ::= . (398) PushModifiers Goto 339 Identifier Reduce 398 UNDERSCORE Reduce 398 Default reduction to rule 398 STATE 123 ---------------------------------------------------------------------- ( 11 12 21 132 185 332 440 947 960 965 ) Modifier ::= synchronized . (206) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 353 OnlySynchronized ::= synchronized . (502) LPAREN Reduce 502 Identifier Reduce 195 abstract Reduce 195 boolean Reduce 195 byte Reduce 195 char Reduce 195 class Reduce 711 double Reduce 195 enum Reduce 711 final Reduce 195 float Reduce 195 int Reduce 195 interface Reduce 711 long Reduce 195 native Reduce 195 non-sealed Reduce 195 private Reduce 195 protected Reduce 195 public Reduce 195 short Reduce 195 static Reduce 195 strictfp Reduce 195 synchronized Reduce 195 transient Reduce 195 void Reduce 195 volatile Reduce 195 AT Reduce 195 AT308 Reduce 195 RestrictedIdentifierrecord Reduce 711 RestrictedIdentifiersealed Reduce 195 Default reduction to rule 206 STATE 124 ---------------------------------------------------------------------- ( 11 12 14 15 17 18 21 22 23 132 134 149 185 207 307 332 440 441 442 533 540 545 549 669 673 724 728 735 797 864 947 960 965 ) AnnotationTypeDeclarationHeaderName ::= AT .PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= AT .PushModifiersForHeader interface Identifier AnnotationName ::= AT .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName PushModifiersForHeader ::= . (399) Identifier Shift 270 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 354 SimpleName Goto 270 UnannotatableName Goto 270 PushModifiersForHeader Goto 340 interface Reduce 399 Default reduction to rule 399 STATE 125 ---------------------------------------------------------------------- ( 11 12 21 132 185 332 440 947 960 965 ) Modifiers ::= Modifiers .Modifier LocalVariableDeclaration ::= Modifiers .Type PushRealModifiers VariableDeclarators Modifiersopt ::= Modifiers . (711) AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier TypeParameters Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 355 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifier ::= .Annotation Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Sh/Rd 196 volatile Sh/Rd 196 transient Sh/Rd 196 synchronized Sh/Rd 196 RestrictedIdentifiersealed Sh/Rd 196 non-sealed Sh/Rd 196 native Sh/Rd 196 final Sh/Rd 196 abstract Sh/Rd 196 static Sh/Rd 196 private Sh/Rd 196 protected Sh/Rd 196 public Sh/Rd 196 AT Shift 342 Identifier Shift 1004 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 341 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 341 NormalAnnotation Goto 1003 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 356 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Modifier Gt/Rd 196 Type Goto 341 class Reduce 711 enum Reduce 711 interface Reduce 711 RestrictedIdentifierrecord Reduce 711 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 126 ---------------------------------------------------------------------- ( 11 12 21 69 75 125 132 141 147 150 151 155 184 185 190 192 204 276 291 317 332 337 350 352 356 360 364 420 424 438 440 443 490 496 513 514 518 542 559 577 649 670 671 712 713 727 740 824 825 863 884 885 888 923 934 947 951 952 960 965 ) ArrayType ::= ArrayTypeWithTypeArgumentsName .Dims TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET LBRACKET Shift 214 AT308 Shift 38 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 357 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dims Gt/Rd 68 STATE 127 ---------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 440 849 850 902 933 937 947 958 960 965 980 981 986 987 ) SimpleName ::= Identifier . (74) Label ::= Identifier . (431) LambdaParameters ::= Identifier .NestedLambda NestedLambda ::= . (559) NestedLambda Gt/Rd 561 COLON Reduce 431 Identifier Reduce 71 PLUS_PLUS Reduce 71 MINUS_MINUS Reduce 71 PLUS_EQUAL Reduce 71 MINUS_EQUAL Reduce 71 MULTIPLY_EQUAL Reduce 71 DIVIDE_EQUAL Reduce 71 AND_EQUAL Reduce 71 OR_EQUAL Reduce 71 XOR_EQUAL Reduce 71 REMAINDER_EQUAL Reduce 71 LEFT_SHIFT_EQUAL Reduce 71 RIGHT_SHIFT_EQUAL Reduce 71 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 71 LESS Reduce 71 LPAREN Reduce 71 LBRACKET Reduce 71 DOT Reduce 71 EQUAL Reduce 71 COLON_COLON Reduce 71 BeginTypeArguments Reduce 71 AT308 Reduce 71 UNDERSCORE Reduce 71 ARROW Reduce 559 Default reduction to rule 74 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 358 STATE 128 ---------------------------------------------------------------------- ( 11 12 21 132 185 332 440 947 960 965 ) ClassOrInterface ::= Name . (61) ArrayType ::= Name .Dims QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName ExplicitConstructorInvocation ::= Name .DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON PrimaryNoNewArray ::= Name .DOT this QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT class PrimaryNoNewArray ::= Name .Dims DOT class ReferenceExpression ::= Name .Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ClassInstanceCreationExpressionName ::= Name .DOT new MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET PostfixExpression ::= Name . (620) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 359 LPAREN Shift 224 BeginTypeArguments Shift 225 DOT Shift 343 LBRACKET Shift 228 AT308 Shift 38 Dims Goto 344 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Goto 226 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 PLUS_EQUAL Reduce 620 MINUS_EQUAL Reduce 620 MULTIPLY_EQUAL Reduce 620 DIVIDE_EQUAL Reduce 620 AND_EQUAL Reduce 620 OR_EQUAL Reduce 620 XOR_EQUAL Reduce 620 REMAINDER_EQUAL Reduce 620 LEFT_SHIFT_EQUAL Reduce 620 RIGHT_SHIFT_EQUAL Reduce 620 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 620 EQUAL Reduce 620 Identifier Reduce 61 LESS Reduce 61 UNDERSCORE Reduce 61 COLON_COLON Reduce 714 Default reduction to rule 620 STATE 129 ---------------------------------------------------------------------- ( 11 12 21 69 75 125 132 141 147 150 151 155 184 185 190 192 204 276 291 317 332 337 350 352 356 360 364 420 424 438 440 443 490 496 513 514 518 542 559 577 649 670 671 712 713 727 740 824 825 863 884 885 888 923 934 947 951 952 960 965 ) ClassOrInterfaceType ::= GenericType . (60) ClassOrInterface ::= GenericType .DOT Name ArrayTypeWithTypeArgumentsName ::= GenericType .DOT Name ArrayType ::= GenericType .Dims IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 360 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET DOT Shift 345 LBRACKET Shift 214 AT308 Shift 38 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dims Gt/Rd 69 Identifier Reduce 57 abstract Reduce 57 final Reduce 57 instanceof Reduce 57 native Reduce 57 non-sealed Reduce 57 private Reduce 57 protected Reduce 57 public Reduce 57 static Reduce 57 strictfp Reduce 57 synchronized Reduce 57 this Reduce 57 transient Reduce 57 volatile Reduce 57 EQUAL_EQUAL Reduce 57 NOT_EQUAL Reduce 57 RIGHT_SHIFT Reduce 57 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 361 UNSIGNED_RIGHT_SHIFT Reduce 57 OR_OR Reduce 57 AND_AND Reduce 57 XOR Reduce 57 AND Reduce 57 OR Reduce 57 GREATER Reduce 57 LPAREN Reduce 57 RPAREN Reduce 57 RBRACE Reduce 57 RBRACKET Reduce 57 SEMICOLON Reduce 57 QUESTION Reduce 57 COLON Reduce 57 COMMA Reduce 57 AT Reduce 57 ELLIPSIS Reduce 57 ElidedSemicolonAndRightBrace Reduce 57 AT308DOTDOTDOT Reduce 57 BeginCaseExpr Reduce 57 RestrictedIdentifiersealed Reduce 57 UNDERSCORE Reduce 57 $eof Reduce 57 Default reduction to rule 60 STATE 130 ---------------------------------------------------------------------- ( 11 12 21 132 185 317 332 337 440 740 934 947 960 965 ) Type ::= PrimitiveType . (43) ArrayType ::= PrimitiveType .Dims PrimaryNoNewArray ::= PrimitiveType .Dims DOT class PrimaryNoNewArray ::= PrimitiveType .DOT class ReferenceExpression ::= PrimitiveType .Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 362 OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET DOT Shift 211 LBRACKET Shift 214 AT308 Shift 38 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dims Goto 346 Identifier Reduce 43 UNDERSCORE Reduce 43 Default reduction to rule 43 STATE 131 ---------------------------------------------------------------------- ( 11 12 21 132 185 332 440 947 960 965 ) LocalVariableDeclarationStatement ::= LocalVariableDeclaration .SEMICOLON SEMICOLON Sh/Rd 395 STATE 132 ---------------------------------------------------------------------- ( 12 332 440 ) BlockStatements ::= BlockStatements .BlockStatement BlockStatementsopt ::= BlockStatements . (713) Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 363 PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 364 ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 365 ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 366 PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 367 DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 368 Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RestrictedIdentifierYield Shift 79 try Shift 95 throw Shift 96 return Shift 98 continue Shift 99 break Shift 100 do Shift 101 switch Shift 102 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 BeginLambda Shift 31 UNDERSCORE Shift 32 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 super Shift 110 this Shift 112 LESS Shift 75 SEMICOLON Sh/Rd 428 assert Shift 115 if Shift 117 while Shift 118 for Shift 120 strictfp Shift 1008 volatile Shift 1008 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 369 transient Shift 1008 synchronized Shift 123 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 AT Shift 124 AT308 Shift 38 Identifier Shift 127 LocalVariableDeclaration Goto 131 PrimitiveType Goto 130 ReferenceType Goto 122 ClassOrInterface Goto 71 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1016 Name Goto 128 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 34 Modifier Goto 1008 Modifiers Goto 125 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Type Goto 122 StatementWithoutTrailingSubstatement Gt/Rd 384 LabeledStatement Gt/Rd 384 IfThenStatement Gt/Rd 384 IfThenElseStatement Gt/Rd 384 WhileStatement Gt/Rd 384 ForStatement Gt/Rd 384 EnhancedForStatement Gt/Rd 384 EnhancedForStatementHeaderInit Goto 121 EnhancedForStatementHeader Goto 119 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 370 Label Goto 116 OpenBlock Goto 114 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OnlyTypeArguments Goto 111 Primary Goto 109 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1015 BooleanLiteral Goto 1009 ClassInstanceCreationExpressionName Goto 43 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 Literal Goto 1009 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 106 FieldAccess Goto 1014 MethodInvocation Goto 105 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 OnlySynchronized Goto 97 AssertStatement Gt/Rd 384 Block Gt/Rd 384 EmptyStatement Gt/Rd 384 ExpressionStatement Gt/Rd 384 SwitchStatement Gt/Rd 384 DoStatement Gt/Rd 384 BreakStatement Gt/Rd 384 ContinueStatement Gt/Rd 384 ReturnStatement Gt/Rd 384 SynchronizedStatement Gt/Rd 384 ThrowStatement Gt/Rd 384 TryStatement Gt/Rd 384 TryStatementWithResources Gt/Rd 384 YieldStatement Gt/Rd 384 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiersopt Goto 92 ClassHeaderName Goto 91 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 InterfaceHeader Goto 87 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 371 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 EnumHeader Goto 82 EnumHeaderName Goto 81 LocalVariableDeclarationStatement Gt/Rd 384 Statement Gt/Rd 384 ClassDeclaration Gt/Rd 384 RecordDeclaration Gt/Rd 384 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 EnumDeclaration Gt/Rd 394 BlockStatement Gt/Rd 384 RBRACE Reduce 713 $eof Reduce 713 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 133 ---------------------------------------------------------------------- ( 13 269 347 477 481 772 909 954 972 ) ArrayInitializer ::= LBRACE .PushLeftBrace ,opt RBRACE ArrayInitializer ::= LBRACE .PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= LBRACE .PushLeftBrace VariableInitializers COMMA RBRACE PushLeftBrace ::= . (375) PushLeftBrace Goto 347 Identifier Reduce 375 boolean Reduce 375 byte Reduce 375 char Reduce 375 double Reduce 375 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 372 false Reduce 375 float Reduce 375 int Reduce 375 long Reduce 375 new Reduce 375 null Reduce 375 short Reduce 375 super Reduce 375 switch Reduce 375 this Reduce 375 true Reduce 375 void Reduce 375 IntegerLiteral Reduce 375 LongLiteral Reduce 375 FloatingPointLiteral Reduce 375 DoubleLiteral Reduce 375 CharacterLiteral Reduce 375 StringLiteral Reduce 375 TextBlock Reduce 375 PLUS_PLUS Reduce 375 MINUS_MINUS Reduce 375 PLUS Reduce 375 MINUS Reduce 375 NOT Reduce 375 TWIDDLE Reduce 375 LPAREN Reduce 375 LBRACE Reduce 375 RBRACE Reduce 375 COMMA Reduce 375 BeginLambda Reduce 375 BeginIntersectionCast Reduce 375 AT308 Reduce 375 UNDERSCORE Reduce 375 Default reduction to rule 375 STATE 134 ---------------------------------------------------------------------- ( 14 ) Goal ::= MINUS RecordBodyDeclarations . (15) RecordBodyDeclarations ::= RecordBodyDeclarations .RecordBodyDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 373 Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (230) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 374 ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier RecordBodyDeclaration ::= .ClassBodyDeclaration RecordBodyDeclaration ::= .CompactConstructorDeclaration CompactConstructorDeclaration ::= .CompactConstructorHeader MethodBody CompactConstructorHeader ::= .CompactConstructorHeaderName MethodHeaderThrowsClauseopt CompactConstructorHeaderName ::= .Modifiersopt Identifier CompactConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 375 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 139 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 ClassMemberDeclaration Goto 1018 StaticInitializer Goto 1018 ConstructorDeclaration Goto 1018 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 147 ConstructorHeader Goto 137 StaticOnly Goto 138 Modifier Goto 1002 Modifiers Goto 145 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 AbstractMethodDeclaration Goto 1018 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 94 ClassHeaderName1 Goto 93 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 FieldDeclaration Goto 1018 MethodDeclaration Goto 1018 ClassDeclaration Goto 1018 InterfaceDeclaration Goto 1018 EnumDeclaration Goto 1018 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 376 AnnotationTypeDeclaration Goto 1018 RecordDeclaration Goto 1018 CompactConstructorHeader Goto 146 CompactConstructorHeaderName Goto 148 ClassBodyDeclaration Gt/Rd 350 CompactConstructorDeclaration Gt/Rd 351 RecordBodyDeclaration Gt/Rd 349 $eof Reduce 15 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 230 Default reduction to rule 710 STATE 135 ---------------------------------------------------------------------- ( 14 15 134 149 307 545 549 735 ) ClassBodyDeclaration ::= Diet .NestedMethod CreateInitializer Block NestedMethod ::= . (287) NestedMethod Goto 348 LBRACE Reduce 287 Default reduction to rule 287 STATE 136 ---------------------------------------------------------------------- ( 14 15 16 18 23 134 149 307 533 540 545 549 724 728 735 ) ConstructorHeader ::= ConstructorHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 377 Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (720) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 378 FormalParameter Goto 1044 FormalParameterList Goto 289 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 350 FormalParameterListopt Goto 349 RPAREN Reduce 720 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 137 ---------------------------------------------------------------------- ( 14 15 16 18 134 149 307 533 545 549 724 735 ) ConstructorDeclaration ::= ConstructorHeader .MethodBody ConstructorDeclaration ::= ConstructorHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (287) SEMICOLON Sh/Rd 291 NestedMethod Goto 206 MethodBody Gt/Rd 290 LBRACE Reduce 287 Default reduction to rule 287 STATE 138 ---------------------------------------------------------------------- ( 14 15 22 23 24 134 149 307 540 545 549 728 735 ) StaticInitializer ::= StaticOnly .Block IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 379 Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) OpenBlock Goto 114 Block Gt/Rd 288 LBRACE Reduce 382 Default reduction to rule 382 STATE 139 ---------------------------------------------------------------------- ( 14 15 22 23 134 149 307 540 545 549 728 735 ) Modifier ::= static . (200) StaticOnly ::= static . (289) LBRACE Reduce 289 Identifier Reduce 711 abstract Reduce 195 boolean Reduce 711 byte Reduce 711 char Reduce 711 class Reduce 711 default Reduce 711 double Reduce 711 enum Reduce 711 final Reduce 195 float Reduce 711 int Reduce 711 interface Reduce 711 long Reduce 711 native Reduce 195 non-sealed Reduce 195 package Reduce 195 private Reduce 195 protected Reduce 195 public Reduce 195 short Reduce 711 static Reduce 195 strictfp Reduce 195 synchronized Reduce 195 transient Reduce 195 void Reduce 711 volatile Reduce 195 module Reduce 711 open Reduce 711 LESS Reduce 711 AT Reduce 195 AT308 Reduce 711 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 380 RestrictedIdentifierrecord Reduce 711 RestrictedIdentifiersealed Reduce 195 Default reduction to rule 200 STATE 140 ---------------------------------------------------------------------- ( 14 15 16 134 149 207 307 442 545 549 673 735 ) MethodDeclaration ::= DefaultMethodHeader .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (287) NestedMethod Goto 206 MethodBody Gt/Rd 259 LBRACE Reduce 287 Default reduction to rule 287 STATE 141 ---------------------------------------------------------------------- ( 14 15 16 134 149 207 307 442 540 545 549 673 728 735 ) DefaultMethodHeaderName ::= ModifiersWithDefault .TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= ModifiersWithDefault .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 381 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameters ::= .LESS TypeParameterList1 LESS Shift 303 Identifier Shift 1004 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 351 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 351 TypeParameters Goto 352 Type Goto 351 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 382 STATE 142 ---------------------------------------------------------------------- ( 14 15 16 134 149 207 307 442 540 545 549 673 728 735 ) DefaultMethodHeader ::= DefaultMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (720) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 383 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 FormalParameter Goto 1044 FormalParameterList Goto 289 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 350 FormalParameterListopt Goto 353 RPAREN Reduce 720 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 143 ---------------------------------------------------------------------- ( 14 15 16 134 149 207 307 442 540 545 549 673 728 735 ) MethodHeader ::= MethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 384 Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (720) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 FormalParameter Goto 1044 FormalParameterList Goto 289 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 385 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 350 FormalParameterListopt Goto 354 RPAREN Reduce 720 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 144 ---------------------------------------------------------------------- ( 14 15 16 134 149 207 307 442 545 549 673 735 ) MethodDeclaration ::= MethodHeader .MethodBody AbstractMethodDeclaration ::= MethodHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (287) SEMICOLON Sh/Rd 260 NestedMethod Goto 206 MethodBody Gt/Rd 258 LBRACE Reduce 287 Default reduction to rule 287 STATE 145 ---------------------------------------------------------------------- ( 14 15 17 134 149 307 441 442 533 540 545 549 669 673 724 728 735 797 864 ) Modifiers ::= Modifiers .Modifier Modifiersopt ::= Modifiers . (711) AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier TypeParameters Modifier ::= .Annotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 386 Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Sh/Rd 196 volatile Sh/Rd 196 transient Sh/Rd 196 synchronized Sh/Rd 196 RestrictedIdentifiersealed Sh/Rd 196 non-sealed Sh/Rd 196 native Sh/Rd 196 final Sh/Rd 196 abstract Sh/Rd 196 static Sh/Rd 196 private Sh/Rd 196 protected Sh/Rd 196 public Sh/Rd 196 AT Shift 342 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Modifier Gt/Rd 196 Identifier Reduce 711 boolean Reduce 711 byte Reduce 711 char Reduce 711 class Reduce 711 default Reduce 711 double Reduce 711 enum Reduce 711 float Reduce 711 int Reduce 711 interface Reduce 711 long Reduce 711 short Reduce 711 void Reduce 711 module Reduce 711 open Reduce 711 LESS Reduce 711 AT308 Reduce 711 RestrictedIdentifierrecord Reduce 711 Default reduction to rule 711 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 387 STATE 146 ---------------------------------------------------------------------- ( 14 134 307 545 ) CompactConstructorDeclaration ::= CompactConstructorHeader .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (287) NestedMethod Goto 206 MethodBody Gt/Rd 352 LBRACE Reduce 287 Default reduction to rule 287 STATE 147 ---------------------------------------------------------------------- ( 14 134 307 545 ) ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON MethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .Type Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default Modifiersopt ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier CompactConstructorHeaderName ::= Modifiersopt .Identifier CompactConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 388 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameters ::= .LESS TypeParameterList1 enum Shift 309 RestrictedIdentifierrecord Shift 310 interface Shift 311 default Shift 355 class Shift 312 Identifier Shift 358 AT308 Shift 38 LESS Shift 303 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 357 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 357 Type Goto 357 TypeParameters Goto 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 389 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 148 ---------------------------------------------------------------------- ( 14 134 307 545 ) CompactConstructorHeader ::= CompactConstructorHeaderName . MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (718) throws Shift 359 MethodHeaderThrowsClause Gt/Rd 353 MethodHeaderThrowsClauseopt Gt/Rd 353 LBRACE Reduce 718 Default reduction to rule 718 STATE 149 ---------------------------------------------------------------------- ( 15 ) Goal ::= AND ClassBodyDeclarations . (14) ClassBodyDeclarations ::= ClassBodyDeclarations .ClassBodyDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 390 Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (230) ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 391 EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 139 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 FieldDeclaration Gt/Rd 223 MethodDeclaration Gt/Rd 223 ClassDeclaration Gt/Rd 223 InterfaceDeclaration Gt/Rd 223 EnumDeclaration Gt/Rd 223 AnnotationTypeDeclaration Gt/Rd 223 RecordDeclaration Gt/Rd 223 RecordHeaderName Goto 88 Modifiersopt Goto 150 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 392 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 84 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 ClassHeaderName Goto 91 ClassHeaderName1 Goto 93 ClassHeader Goto 94 MethodHeader Goto 144 MethodHeaderName Goto 143 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 AbstractMethodDeclaration Gt/Rd 223 DefaultMethodHeader Goto 140 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 StaticOnly Goto 138 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassMemberDeclaration Gt/Rd 223 StaticInitializer Gt/Rd 223 ConstructorDeclaration Gt/Rd 223 Diet Goto 135 ClassBodyDeclaration Gt/Rd 223 $eof Reduce 14 LBRACE Reduce 230 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 393 Default reduction to rule 710 STATE 150 ---------------------------------------------------------------------- ( 15 149 540 549 728 735 ) ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON MethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .Type Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default Modifiersopt ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 394 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameters ::= .LESS TypeParameterList1 enum Shift 309 RestrictedIdentifierrecord Shift 310 interface Shift 311 default Shift 355 class Shift 312 Identifier Shift 361 AT308 Shift 38 LESS Shift 303 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 357 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 357 Type Goto 357 TypeParameters Goto 360 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 151 ---------------------------------------------------------------------- ( 16 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 395 MethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .Type Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default Modifiersopt ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameters ::= .LESS TypeParameterList1 default Shift 355 LESS Shift 303 Identifier Shift 361 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 396 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 362 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 362 TypeParameters Goto 360 Type Goto 362 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 152 ---------------------------------------------------------------------- ( 18 22 23 207 ) PackageDeclaration ::= PackageDeclarationName .SEMICOLON SEMICOLON Sh/Rd 177 STATE 153 ---------------------------------------------------------------------- ( 18 22 23 207 ) PackageDeclarationName ::= PackageComment .package Name RejectTypeAnnotations package Shift 363 STATE 154 ---------------------------------------------------------------------- ( 18 533 724 ) AnnotationTypeMemberDeclaration ::= AnnotationMethodHeader .SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 397 SEMICOLON Sh/Rd 913 STATE 155 ---------------------------------------------------------------------- ( 18 533 724 ) ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters AnnotationMethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN AnnotationMethodHeaderName ::= Modifiersopt .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 398 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameters ::= .LESS TypeParameterList1 enum Shift 309 RestrictedIdentifierrecord Shift 310 interface Shift 311 class Shift 312 Identifier Shift 361 AT308 Shift 38 LESS Shift 303 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 365 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 365 Type Goto 365 TypeParameters Goto 364 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 156 ---------------------------------------------------------------------- ( 18 22 23 207 ) PackageDeclarationName ::= Modifiers .package PushRealModifiers Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 399 RejectTypeAnnotations Modifiers ::= Modifiers .Modifier Modifiersopt ::= Modifiers . (711) AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier TypeParameters Modifier ::= .Annotation Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN package Shift 366 strictfp Sh/Rd 196 volatile Sh/Rd 196 transient Sh/Rd 196 synchronized Sh/Rd 196 RestrictedIdentifiersealed Sh/Rd 196 non-sealed Sh/Rd 196 native Sh/Rd 196 final Sh/Rd 196 abstract Sh/Rd 196 static Sh/Rd 196 private Sh/Rd 196 protected Sh/Rd 196 public Sh/Rd 196 AT Shift 342 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Modifier Gt/Rd 196 Identifier Reduce 711 boolean Reduce 711 byte Reduce 711 char Reduce 711 class Reduce 711 default Reduce 711 double Reduce 711 enum Reduce 711 float Reduce 711 int Reduce 711 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 400 interface Reduce 711 long Reduce 711 short Reduce 711 void Reduce 711 module Reduce 711 open Reduce 711 LESS Reduce 711 AT308 Reduce 711 RestrictedIdentifierrecord Reduce 711 Default reduction to rule 711 STATE 157 ---------------------------------------------------------------------- ( 18 533 724 ) AnnotationMethodHeader ::= AnnotationMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (720) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 401 NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 FormalParameter Goto 1044 FormalParameterList Goto 289 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 350 FormalParameterListopt Goto 367 RPAREN Reduce 720 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 158 ---------------------------------------------------------------------- ( 19 22 23 207 441 445 668 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 402 StaticImportOnDemandDeclaration ::= StaticImportOnDemandDeclarationName . SEMICOLON SEMICOLON Sh/Rd 769 STATE 159 ---------------------------------------------------------------------- ( 19 22 23 207 441 445 668 ) SingleStaticImportDeclaration ::= SingleStaticImportDeclarationName .SEMICOLON SEMICOLON Sh/Rd 767 STATE 160 ---------------------------------------------------------------------- ( 19 22 23 207 441 445 668 ) TypeImportOnDemandDeclaration ::= TypeImportOnDemandDeclarationName .SEMICOLON SEMICOLON Sh/Rd 187 STATE 161 ---------------------------------------------------------------------- ( 19 22 23 207 441 445 668 ) SingleTypeImportDeclarationName ::= import .Name RejectTypeAnnotations TypeImportOnDemandDeclarationName ::= import .Name DOT RejectTypeAnnotations MULTIPLY SingleStaticImportDeclarationName ::= import .static Name RejectTypeAnnotations StaticImportOnDemandDeclarationName ::= import .static Name DOT RejectTypeAnnotations MULTIPLY Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN static Shift 368 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 403 AT308 Shift 38 Identifier Shift 1004 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 Name Goto 369 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 369 STATE 162 ---------------------------------------------------------------------- ( 19 22 23 207 441 445 668 ) SingleTypeImportDeclaration ::= SingleTypeImportDeclarationName .SEMICOLON SEMICOLON Sh/Rd 185 STATE 163 ---------------------------------------------------------------------- ( 19 223 271 613 806 860 862 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace RBRACE LBRACE Shift 370 STATE 164 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) UnaryExpressionNotPlusMinus_NotName ::= NOT .PushPosition UnaryExpression PushPosition ::= . (625) PushPosition Goto 371 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 404 double Reduce 625 false Reduce 625 float Reduce 625 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 Default reduction to rule 625 STATE 165 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) UnaryExpressionNotPlusMinus_NotName ::= TWIDDLE .PushPosition UnaryExpression PushPosition ::= . (625) PushPosition Goto 372 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 double Reduce 625 false Reduce 625 float Reduce 625 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 405 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 Default reduction to rule 625 STATE 166 ---------------------------------------------------------------------- ( 19 223 271 613 806 860 862 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS MINUS_MINUS Sh/Rd 624 PLUS_PLUS Sh/Rd 623 STATE 167 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) PostfixExpression ::= PostDecrementExpression . (622) PostfixExpression_NotName ::= PostDecrementExpression . (830) abstract Reduce 891 final Reduce 891 instanceof Reduce 868 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 406 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 PLUS_EQUAL Reduce 622 MINUS_EQUAL Reduce 622 MULTIPLY_EQUAL Reduce 622 DIVIDE_EQUAL Reduce 622 AND_EQUAL Reduce 622 OR_EQUAL Reduce 622 XOR_EQUAL Reduce 622 REMAINDER_EQUAL Reduce 622 LEFT_SHIFT_EQUAL Reduce 622 RIGHT_SHIFT_EQUAL Reduce 622 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 622 EQUAL Reduce 622 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 407 Default reduction to rule 830 STATE 168 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) PostfixExpression ::= PostIncrementExpression . (621) PostfixExpression_NotName ::= PostIncrementExpression . (829) abstract Reduce 891 final Reduce 891 instanceof Reduce 868 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 PLUS_PLUS Reduce 621 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 408 MINUS_MINUS Reduce 621 PLUS_EQUAL Reduce 621 MINUS_EQUAL Reduce 621 MULTIPLY_EQUAL Reduce 621 DIVIDE_EQUAL Reduce 621 AND_EQUAL Reduce 621 OR_EQUAL Reduce 621 XOR_EQUAL Reduce 621 REMAINDER_EQUAL Reduce 621 LEFT_SHIFT_EQUAL Reduce 621 RIGHT_SHIFT_EQUAL Reduce 621 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 621 EQUAL Reduce 621 Default reduction to rule 829 STATE 169 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) ReferenceExpression ::= Primary .COLON_COLON NonWildTypeArgumentsopt Identifier ClassInstanceCreationExpression ::= Primary .DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= Primary .DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt FieldAccess ::= Primary .DOT Identifier MethodInvocation ::= Primary .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= Primary .DOT Identifier LPAREN ArgumentListopt RPAREN PostfixExpression ::= Primary . (619) PostfixExpression_NotName ::= Primary . (828) DOT Shift 232 COLON_COLON Shift 233 abstract Reduce 891 final Reduce 891 instanceof Reduce 868 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 409 transient Reduce 891 volatile Reduce 891 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 EQUAL Reduce 619 Default reduction to rule 828 STATE 170 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) UnaryExpression_NotName ::= MINUS .PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 410 PushPosition ::= . (625) PushPosition Goto 373 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 double Reduce 625 false Reduce 625 float Reduce 625 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 Default reduction to rule 625 STATE 171 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) UnaryExpression_NotName ::= PLUS .PushPosition UnaryExpression PushPosition ::= . (625) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 411 PushPosition Goto 374 Identifier Reduce 625 boolean Reduce 625 byte Reduce 625 char Reduce 625 double Reduce 625 false Reduce 625 float Reduce 625 int Reduce 625 long Reduce 625 new Reduce 625 null Reduce 625 short Reduce 625 super Reduce 625 switch Reduce 625 this Reduce 625 true Reduce 625 void Reduce 625 IntegerLiteral Reduce 625 LongLiteral Reduce 625 FloatingPointLiteral Reduce 625 DoubleLiteral Reduce 625 CharacterLiteral Reduce 625 StringLiteral Reduce 625 TextBlock Reduce 625 PLUS_PLUS Reduce 625 MINUS_MINUS Reduce 625 PLUS Reduce 625 MINUS Reduce 625 NOT Reduce 625 TWIDDLE Reduce 625 LPAREN Reduce 625 BeginLambda Reduce 625 BeginIntersectionCast Reduce 625 AT308 Reduce 625 UNDERSCORE Reduce 625 Default reduction to rule 625 STATE 172 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) AdditiveExpression_NotName ::= AdditiveExpression_NotName .PLUS MultiplicativeExpression AdditiveExpression_NotName ::= AdditiveExpression_NotName .MINUS MultiplicativeExpression ShiftExpression_NotName ::= AdditiveExpression_NotName . (852) MINUS Shift 375 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 412 PLUS Shift 376 abstract Reduce 891 final Reduce 891 instanceof Reduce 868 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 XOR Reduce 879 AND Reduce 876 OR Reduce 882 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 852 STATE 173 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName . MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName . REMAINDER UnaryExpression AdditiveExpression_NotName ::= MultiplicativeExpression_NotName . (847) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 413 REMAINDER Shift 377 DIVIDE Shift 378 MULTIPLY Shift 379 abstract Reduce 891 final Reduce 891 instanceof Reduce 868 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 XOR Reduce 879 AND Reduce 876 OR Reduce 882 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 847 STATE 174 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) RelationalExpression_NotName ::= RelationalExpression_NotName .LESS_EQUAL ShiftExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 414 RelationalExpression_NotName ::= RelationalExpression_NotName .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= RelationalExpression_NotName . (868) GREATER_EQUAL Shift 380 LESS_EQUAL Shift 381 abstract Reduce 891 final Reduce 891 instanceof Reduce 868 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 EQUAL_EQUAL Reduce 871 NOT_EQUAL Reduce 871 OR_OR Reduce 888 AND_AND Reduce 885 XOR Reduce 879 AND Reduce 876 OR Reduce 882 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 868 STATE 175 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) ShiftExpression_NotName ::= ShiftExpression_NotName .LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= ShiftExpression_NotName .RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= ShiftExpression_NotName .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= ShiftExpression_NotName . (859) RelationalExpression_NotName ::= ShiftExpression_NotName .LESS ShiftExpression RelationalExpression_NotName ::= ShiftExpression_NotName .GREATER IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 415 ShiftExpression GREATER Shift 382 LESS Shift 383 UNSIGNED_RIGHT_SHIFT Shift 384 RIGHT_SHIFT Shift 385 LEFT_SHIFT Shift 386 abstract Reduce 891 final Reduce 891 instanceof Reduce 868 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 OR_OR Reduce 888 AND_AND Reduce 885 XOR Reduce 879 AND Reduce 876 OR Reduce 882 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 859 STATE 176 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) EqualityExpression_NotName ::= EqualityExpression_NotName .EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= EqualityExpression_NotName .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= EqualityExpression_NotName . (876) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 416 NOT_EQUAL Shift 387 EQUAL_EQUAL Shift 388 abstract Reduce 891 final Reduce 891 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 OR_OR Reduce 888 AND_AND Reduce 885 XOR Reduce 879 AND Reduce 876 OR Reduce 882 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 876 STATE 177 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) InstanceofExpression_NotName ::= InstanceofExpression_NotName .InstanceofRHS EqualityExpression_NotName ::= InstanceofExpression_NotName . (871) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern instanceof Shift 256 InstanceofClassic Gt/Rd 870 InstanceofPattern Gt/Rd 870 InstanceofRHS Gt/Rd 870 abstract Reduce 891 final Reduce 891 native Reduce 891 non-sealed Reduce 891 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 417 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 EQUAL_EQUAL Reduce 871 NOT_EQUAL Reduce 871 OR_OR Reduce 888 AND_AND Reduce 885 XOR Reduce 879 AND Reduce 876 OR Reduce 882 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 871 STATE 178 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName .XOR AndExpression InclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName . (882) XOR Shift 389 abstract Reduce 891 final Reduce 891 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 OR_OR Reduce 888 AND_AND Reduce 885 OR Reduce 882 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 418 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 882 STATE 179 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) AndExpression_NotName ::= AndExpression_NotName .AND EqualityExpression ExclusiveOrExpression_NotName ::= AndExpression_NotName . (879) AND Shift 390 abstract Reduce 891 final Reduce 891 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 OR_OR Reduce 888 AND_AND Reduce 885 XOR Reduce 879 OR Reduce 882 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 879 STATE 180 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 419 ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= ConditionalAndExpression_NotName . (888) AND_AND Shift 391 abstract Reduce 891 final Reduce 891 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 OR_OR Reduce 888 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 888 STATE 181 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= InclusiveOrExpression_NotName . (885) OR Shift 392 abstract Reduce 891 final Reduce 891 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 420 volatile Reduce 891 OR_OR Reduce 888 AND_AND Reduce 885 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 QUESTION Reduce 888 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 885 STATE 182 ---------------------------------------------------------------------- ( 19 223 271 613 806 860 862 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PrimaryNoNewArray ::= Name .DOT this QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT class PrimaryNoNewArray ::= Name .Dims DOT class ReferenceExpression ::= Name .Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ClassInstanceCreationExpressionName ::= Name .DOT new MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET PostfixExpression ::= Name . (620) MultiplicativeExpression_NotName ::= Name .MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= Name .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= Name .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name .PLUS MultiplicativeExpression AdditiveExpression_NotName ::= Name .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name .LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name .LESS ShiftExpression RelationalExpression_NotName ::= Name .GREATER ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= Name .InstanceofRHS EqualityExpression_NotName ::= Name .EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= Name .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= Name .AND EqualityExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 421 ExclusiveOrExpression_NotName ::= Name .XOR AndExpression InclusiveOrExpression_NotName ::= Name .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= Name .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= Name .OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= Name .QUESTION Expression COLON ConditionalExpression MemberValue ::= Name . (931) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims QUESTION Shift 393 OR_OR Shift 394 AND_AND Shift 395 OR Shift 396 XOR Shift 397 AND Shift 398 NOT_EQUAL Shift 399 EQUAL_EQUAL Shift 400 GREATER_EQUAL Shift 401 LESS_EQUAL Shift 402 GREATER Shift 403 LESS Shift 404 UNSIGNED_RIGHT_SHIFT Shift 405 RIGHT_SHIFT Shift 406 LEFT_SHIFT Shift 407 MINUS Shift 408 PLUS Shift 409 REMAINDER Shift 410 DIVIDE Shift 411 MULTIPLY Shift 412 LPAREN Shift 224 BeginTypeArguments Shift 225 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 422 DOT Shift 227 LBRACKET Shift 228 AT308 Shift 38 instanceof Shift 256 InstanceofClassic Gt/Rd 869 InstanceofPattern Gt/Rd 869 Dims Goto 229 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Goto 226 InstanceofRHS Gt/Rd 869 abstract Reduce 931 final Reduce 931 native Reduce 931 non-sealed Reduce 931 private Reduce 931 protected Reduce 931 public Reduce 931 static Reduce 931 strictfp Reduce 931 synchronized Reduce 931 transient Reduce 931 volatile Reduce 931 RPAREN Reduce 931 RBRACE Reduce 931 SEMICOLON Reduce 931 COMMA Reduce 931 AT Reduce 931 RestrictedIdentifiersealed Reduce 931 $eof Reduce 931 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 COLON_COLON Reduce 714 Default reduction to rule 931 STATE 183 ---------------------------------------------------------------------- ( 19 49 107 223 271 613 806 860 862 ) ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName .OR_OR ConditionalAndExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 423 ConditionalExpression_NotName ::= ConditionalOrExpression_NotName . (891) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName .QUESTION Expression COLON ConditionalExpression QUESTION Shift 413 OR_OR Shift 414 abstract Reduce 891 final Reduce 891 native Reduce 891 non-sealed Reduce 891 private Reduce 891 protected Reduce 891 public Reduce 891 static Reduce 891 strictfp Reduce 891 synchronized Reduce 891 transient Reduce 891 volatile Reduce 891 RPAREN Reduce 891 RBRACE Reduce 891 SEMICOLON Reduce 891 COMMA Reduce 891 AT Reduce 891 RestrictedIdentifiersealed Reduce 891 $eof Reduce 891 Default reduction to rule 891 STATE 184 ---------------------------------------------------------------------- ( 20 ) FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 424 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 415 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 415 Type Goto 415 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 425 void Reduce 79 Default reduction to rule 79 STATE 185 ---------------------------------------------------------------------- ( 21 ) Goal ::= MULTIPLY BlockStatements . (7) BlockStatements ::= BlockStatements .BlockStatement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 426 TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 427 InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 428 SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 429 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 430 PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RestrictedIdentifierYield Shift 79 try Shift 95 throw Shift 96 return Shift 98 continue Shift 99 break Shift 100 do Shift 101 switch Shift 102 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 431 BeginLambda Shift 31 UNDERSCORE Shift 32 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 super Shift 110 this Shift 112 LESS Shift 75 SEMICOLON Sh/Rd 428 assert Shift 115 if Shift 117 while Shift 118 for Shift 120 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 123 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 AT Shift 124 AT308 Shift 38 Identifier Shift 127 LocalVariableDeclaration Goto 131 PrimitiveType Goto 130 ReferenceType Goto 122 ClassOrInterface Goto 71 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1016 Name Goto 128 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 432 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 34 Modifier Goto 1008 Modifiers Goto 125 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Type Goto 122 StatementWithoutTrailingSubstatement Gt/Rd 384 LabeledStatement Gt/Rd 384 IfThenStatement Gt/Rd 384 IfThenElseStatement Gt/Rd 384 WhileStatement Gt/Rd 384 ForStatement Gt/Rd 384 EnhancedForStatement Gt/Rd 384 EnhancedForStatementHeaderInit Goto 121 EnhancedForStatementHeader Goto 119 Label Goto 116 OpenBlock Goto 114 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OnlyTypeArguments Goto 111 Primary Goto 109 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1015 BooleanLiteral Goto 1009 ClassInstanceCreationExpressionName Goto 43 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 Literal Goto 1009 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 106 FieldAccess Goto 1014 MethodInvocation Goto 105 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 433 PreDecrementExpression Gt/Rd 436 OnlySynchronized Goto 97 AssertStatement Gt/Rd 384 Block Gt/Rd 384 EmptyStatement Gt/Rd 384 ExpressionStatement Gt/Rd 384 SwitchStatement Gt/Rd 384 DoStatement Gt/Rd 384 BreakStatement Gt/Rd 384 ContinueStatement Gt/Rd 384 ReturnStatement Gt/Rd 384 SynchronizedStatement Gt/Rd 384 ThrowStatement Gt/Rd 384 TryStatement Gt/Rd 384 TryStatementWithResources Gt/Rd 384 YieldStatement Gt/Rd 384 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiersopt Goto 92 ClassHeaderName Goto 91 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 EnumHeader Goto 82 EnumHeaderName Goto 81 LocalVariableDeclarationStatement Gt/Rd 384 Statement Gt/Rd 384 ClassDeclaration Gt/Rd 384 RecordDeclaration Gt/Rd 384 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 EnumDeclaration Gt/Rd 394 BlockStatement Gt/Rd 384 $eof Reduce 7 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 434 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 186 ---------------------------------------------------------------------- ( 21 ) CatchHeader ::= catch .LPAREN CatchFormalParameter RPAREN LBRACE LPAREN Shift 416 STATE 187 ---------------------------------------------------------------------- ( 22 ) Goal ::= NOT Header2 .Modifiersopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 1008 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 435 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 AT Shift 66 Modifier Goto 1008 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Modifiersopt Gt/Rd 6 $eof Reduce 710 Default reduction to rule 710 STATE 188 ---------------------------------------------------------------------- ( 22 297 722 ) EnumConstantHeader ::= EnumConstantHeaderName .ForceNoDiet Argumentsopt RestoreDiet ForceNoDiet ::= . (251) ForceNoDiet Goto 417 abstract Reduce 251 final Reduce 251 native Reduce 251 non-sealed Reduce 251 private Reduce 251 protected Reduce 251 public Reduce 251 static Reduce 251 strictfp Reduce 251 synchronized Reduce 251 transient Reduce 251 volatile Reduce 251 LPAREN Reduce 251 LBRACE Reduce 251 RBRACE Reduce 251 SEMICOLON Reduce 251 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 436 COMMA Reduce 251 AT Reduce 251 RestrictedIdentifiersealed Reduce 251 $eof Reduce 251 Default reduction to rule 251 STATE 189 ---------------------------------------------------------------------- ( 22 23 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (720) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 437 SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 FormalParameter Goto 1044 FormalParameterList Goto 289 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 350 FormalParameterListopt Goto 418 RPAREN Reduce 720 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 190 ---------------------------------------------------------------------- ( 22 23 ) RecoveryMethodHeaderName ::= ModifiersWithDefault .TypeParameters Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 438 RecoveryMethodHeaderName ::= ModifiersWithDefault .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameters ::= .LESS TypeParameterList1 LESS Shift 303 Identifier Shift 1004 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 439 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 419 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 419 TypeParameters Goto 420 Type Goto 419 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 191 ---------------------------------------------------------------------- ( 22 23 ) AllocationHeader ::= new .ClassType LPAREN ArgumentListopt RPAREN ArrayCreationHeader ::= new .PrimitiveType DimWithOrWithOutExprs ArrayCreationHeader ::= new .ClassOrInterfaceType DimWithOrWithOutExprs PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 440 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 QualifiedName Goto 1005 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 423 ClassType Goto 422 PrimitiveType Goto 421 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 192 ---------------------------------------------------------------------- ( 22 ) ModuleHeader ::= Modifiersopt .ModuleModifieropt module UnannotatableName ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 441 ModifiersWithDefault ::= Modifiersopt .default Modifiersopt InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters EnumConstantHeaderName ::= Modifiersopt .Identifier RecoveryMethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= Modifiersopt .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ModuleModifieropt ::= . (109) ModuleModifieropt ::= .ModuleModifier ModuleModifier ::= .open TypeParameters ::= .LESS TypeParameterList1 enum Shift 309 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 442 RestrictedIdentifierrecord Shift 310 interface Shift 311 default Shift 355 class Shift 312 open Shift 1046 Identifier Shift 427 AT308 Shift 38 LESS Shift 303 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 425 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 425 ModuleModifier Gt/Rd 110 ModuleModifieropt Goto 426 Type Goto 425 TypeParameters Goto 424 module Reduce 109 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 193 ---------------------------------------------------------------------- ( 22 23 672 799 ) RequiresStatement ::= SingleRequiresModuleName .SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 443 SEMICOLON Sh/Rd 122 STATE 194 ---------------------------------------------------------------------- ( 22 23 672 799 ) SingleRequiresModuleName ::= requires .RequiresModifiersopt UnannotatableName RequiresModifiersopt ::= .RequiresModifiers RequiresModifiersopt ::= . (125) RequiresModifiers ::= .RequiresModifier RequiresModifiers ::= .RequiresModifiers RequiresModifier RequiresModifier ::= .transitive RequiresModifier ::= .static static Shift 1047 transitive Shift 1047 RequiresModifier Goto 1047 RequiresModifiers Goto 429 RequiresModifiersopt Goto 428 Identifier Reduce 125 Default reduction to rule 125 STATE 195 ---------------------------------------------------------------------- ( 22 23 672 799 ) ExportsStatement ::= ExportsHeader .TargetModuleListopt SEMICOLON TargetModuleListopt ::= . (132) TargetModuleListopt ::= .to TargetModuleNameList to Shift 431 TargetModuleListopt Goto 430 SEMICOLON Reduce 132 Default reduction to rule 132 STATE 196 ---------------------------------------------------------------------- ( 22 23 672 799 ) ExportsHeader ::= exports .SinglePkgName SimpleName ::= .Identifier UnannotatableName ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 444 UnannotatableName ::= .UnannotatableName DOT SimpleName SinglePkgName ::= .UnannotatableName Identifier Shift 1048 SimpleName Goto 1048 UnannotatableName Goto 432 SinglePkgName Gt/Rd 131 STATE 197 ---------------------------------------------------------------------- ( 22 23 672 799 ) UsesStatement ::= UsesHeader .SEMICOLON SEMICOLON Sh/Rd 140 STATE 198 ---------------------------------------------------------------------- ( 22 23 672 799 ) UsesHeader ::= uses .Name Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 Name Goto 433 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 445 TypeAnnotations Goto 70 QualifiedName Goto 433 STATE 199 ---------------------------------------------------------------------- ( 22 23 672 799 ) ProvidesStatement ::= ProvidesInterface .WithClause SEMICOLON WithClause ::= .with ServiceImplNameList with Shift 435 WithClause Goto 434 STATE 200 ---------------------------------------------------------------------- ( 22 23 672 799 ) ProvidesInterface ::= provides .Name Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 Name Goto 436 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 436 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 446 STATE 201 ---------------------------------------------------------------------- ( 22 23 672 799 ) OpensStatement ::= OpensHeader .TargetModuleListopt SEMICOLON TargetModuleListopt ::= . (132) TargetModuleListopt ::= .to TargetModuleNameList to Shift 431 TargetModuleListopt Goto 437 SEMICOLON Reduce 132 Default reduction to rule 132 STATE 202 ---------------------------------------------------------------------- ( 22 23 672 799 ) OpensHeader ::= opens .SinglePkgName SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName SinglePkgName ::= .UnannotatableName Identifier Shift 1048 SimpleName Goto 1048 UnannotatableName Goto 432 SinglePkgName Gt/Rd 139 STATE 203 ---------------------------------------------------------------------- ( 23 ) Goal ::= UNSIGNED_RIGHT_SHIFT Header1 .Modifiersopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 447 Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 1008 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 AT Shift 66 Modifier Goto 1008 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Modifiersopt Gt/Rd 5 $eof Reduce 710 Default reduction to rule 710 STATE 204 ---------------------------------------------------------------------- ( 23 ) ModuleHeader ::= Modifiersopt .ModuleModifieropt module UnannotatableName ClassHeaderName1 ::= Modifiersopt .class Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 448 FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON ModifiersWithDefault ::= Modifiersopt .default Modifiersopt ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters RecoveryMethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= Modifiersopt .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ModuleModifieropt ::= . (109) ModuleModifieropt ::= .ModuleModifier ModuleModifier ::= .open TypeParameters ::= .LESS TypeParameterList1 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 449 enum Shift 309 RestrictedIdentifierrecord Shift 310 interface Shift 311 default Shift 355 class Shift 312 open Shift 1046 Identifier Shift 361 AT308 Shift 38 LESS Shift 303 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 425 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 425 ModuleModifier Gt/Rd 110 ModuleModifieropt Goto 426 Type Goto 425 TypeParameters Goto 438 module Reduce 109 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 205 ---------------------------------------------------------------------- ( 24 540 728 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 450 Initializer ::= Diet .NestedMethod CreateInitializer Block NestedMethod ::= . (287) NestedMethod Goto 439 LBRACE Reduce 287 Default reduction to rule 287 STATE 206 ---------------------------------------------------------------------- ( 25 137 140 144 146 729 730 731 ) MethodBody ::= NestedMethod .LBRACE BlockStatementsopt RBRACE LBRACE Shift 440 STATE 207 ---------------------------------------------------------------------- ( 26 ) CompilationUnit ::= EnterCompilationUnit .InternalCompilationUnit InternalCompilationUnit ::= .PackageDeclaration InternalCompilationUnit ::= .PackageDeclaration ImportDeclarations ReduceImports InternalCompilationUnit ::= .PackageDeclaration ImportDeclarations ReduceImports TypeDeclarations InternalCompilationUnit ::= .PackageDeclaration TypeDeclarations InternalCompilationUnit ::= .ImportDeclarations ReduceImports InternalCompilationUnit ::= . (102) InternalCompilationUnit ::= .ImportDeclarations ReduceImports ModuleDeclaration InternalCompilationUnit ::= .ModuleDeclaration ModuleDeclaration ::= .ModuleHeader ModuleBody InternalCompilationUnit ::= .ImplicitlyDeclaredClassBodyDeclarations InternalCompilationUnit ::= .ImportDeclarations ReduceImports ImplicitlyDeclaredClassBodyDeclarations ModuleHeader ::= .Modifiersopt ModuleModifieropt module UnannotatableName ImportDeclarations ::= .ImportDeclarations ImportDeclaration PackageDeclaration ::= .PackageDeclarationName SEMICOLON PackageDeclarationName ::= .Modifiers package PushRealModifiers Name RejectTypeAnnotations PackageDeclarationName ::= .PackageComment package Name RejectTypeAnnotations PackageComment ::= . (180) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY Modifiers ::= .Modifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 451 Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ImplicitlyDeclaredClassBodyDeclarations ::= .ClassMemberDeclaration ImplicitlyDeclaredClassBodyDeclarations ::= .ClassMemberDeclaration ImplicitlyDeclaredClassBodyDeclarations ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 452 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 240 import Shift 161 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 453 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 PackageDeclarationName Goto 152 Modifier Goto 1002 Modifiers Goto 156 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 PackageComment Goto 153 ImportDeclaration Goto 445 ImportDeclarations Goto 445 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Goto 445 TypeImportOnDemandDeclaration Goto 445 SingleStaticImportDeclaration Goto 445 StaticImportOnDemandDeclaration Goto 445 ModuleHeader Goto 444 Modifiersopt Goto 443 ClassMemberDeclaration Goto 442 AbstractMethodDeclaration Goto 1054 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 94 ClassHeaderName1 Goto 93 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 FieldDeclaration Goto 1055 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 454 MethodDeclaration Goto 1054 ClassDeclaration Goto 1053 InterfaceDeclaration Goto 1052 EnumDeclaration Goto 1051 AnnotationTypeDeclaration Goto 1050 RecordDeclaration Goto 1049 PackageDeclaration Goto 441 ModuleDeclaration Gt/Rd 104 ImplicitlyDeclaredClassBodyDeclarations Gt/Rd 106 InternalCompilationUnit Gt/Rd 96 $eof Reduce 102 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 module Reduce 710 open Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 package Reduce 180 Default reduction to rule 710 STATE 208 ---------------------------------------------------------------------- ( 27 ) UnaryExpression ::= MINUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 455 BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 456 NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 457 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 458 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 629 PostfixExpression Goto 446 CastExpression Gt/Rd 629 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 629 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 459 PreDecrementExpression Gt/Rd 629 UnaryExpressionNotPlusMinus Gt/Rd 629 UnaryExpression Gt/Rd 629 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 209 ---------------------------------------------------------------------- ( 28 ) UnaryExpression ::= PLUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 460 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 461 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 462 PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 628 PostfixExpression Goto 446 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 463 CastExpression Gt/Rd 628 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 628 PreDecrementExpression Gt/Rd 628 UnaryExpressionNotPlusMinus Gt/Rd 628 UnaryExpression Gt/Rd 628 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 210 ---------------------------------------------------------------------- ( 29 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 464 SwitchExpression ::= switch LPAREN .Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 465 PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 466 ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 467 PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 468 MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 469 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 447 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 211 ---------------------------------------------------------------------- ( 30 130 242 703 ) PrimaryNoNewArray ::= PrimitiveType DOT .class class Sh/Rd 540 STATE 212 ---------------------------------------------------------------------- ( 30 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 470 PrimaryNoNewArray ::= PrimitiveType Dims .DOT class ReferenceExpression ::= PrimitiveType Dims .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 448 DOT Shift 449 STATE 213 ---------------------------------------------------------------------- ( 30 41 76 126 128 129 130 182 215 242 243 274 275 283 324 326 487 516 558 578 582 597 598 602 608 610 652 659 703 717 820 ) OneDimLoop ::= TypeAnnotations .LBRACKET RBRACKET LBRACKET Shift 450 STATE 214 ---------------------------------------------------------------------- ( 30 76 126 129 130 215 242 274 275 283 487 516 582 597 598 602 608 610 652 659 703 717 820 ) OneDimLoop ::= LBRACKET .RBRACKET RBRACKET Sh/Rd 603 STATE 215 ---------------------------------------------------------------------- ( 30 41 76 126 128 129 130 182 242 243 274 275 283 324 326 487 516 558 578 582 597 598 602 608 610 652 659 703 717 820 ) Dims ::= DimsLoop . (600) DimsLoop ::= DimsLoop .OneDimLoop TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET LBRACKET Shift 214 AT308 Shift 38 TypeAnnotations0 Goto 40 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 471 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 OneDimLoop Gt/Rd 602 Identifier Reduce 600 abstract Reduce 600 default Reduce 600 final Reduce 600 instanceof Reduce 600 native Reduce 600 non-sealed Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 this Reduce 600 throws Reduce 600 transient Reduce 600 volatile Reduce 600 EQUAL_EQUAL Reduce 600 NOT_EQUAL Reduce 600 RIGHT_SHIFT Reduce 600 UNSIGNED_RIGHT_SHIFT Reduce 600 OR_OR Reduce 600 AND_AND Reduce 600 XOR Reduce 600 AND Reduce 600 OR Reduce 600 GREATER Reduce 600 LPAREN Reduce 600 RPAREN Reduce 600 LBRACE Reduce 600 RBRACE Reduce 600 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 600 EQUAL Reduce 600 AT Reduce 600 ELLIPSIS Reduce 600 COLON_COLON Reduce 600 ElidedSemicolonAndRightBrace Reduce 600 AT308DOTDOTDOT Reduce 600 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 472 BeginCaseExpr Reduce 600 RestrictedIdentifiersealed Reduce 600 UNDERSCORE Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 216 ---------------------------------------------------------------------- ( 31 ) LambdaParameters ::= BeginLambda NestedLambda .LambdaParameterList PushLPAREN ::= .LPAREN LambdaParameterList ::= .PushLPAREN FormalParameterListopt PushRPAREN LambdaParameterList ::= .PushLPAREN TypeElidedFormalParameterList PushRPAREN LPAREN Sh/Rd 524 PushLPAREN Goto 78 LambdaParameterList Gt/Rd 562 STATE 217 ---------------------------------------------------------------------- ( 33 ) LambdaExpression ::= LambdaParameters ARROW .LambdaBody Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) LambdaBody ::= .ElidedLeftBraceAndReturn Expression ElidedSemicolonAndRightBrace ElidedLeftBraceAndReturn ::= . (572) OpenBlock Goto 114 ElidedLeftBraceAndReturn Goto 451 Block Gt/Rd 558 LambdaBody Gt/Rd 558 LBRACE Reduce 382 Identifier Reduce 572 boolean Reduce 572 byte Reduce 572 char Reduce 572 double Reduce 572 false Reduce 572 float Reduce 572 int Reduce 572 long Reduce 572 new Reduce 572 null Reduce 572 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 473 short Reduce 572 super Reduce 572 switch Reduce 572 this Reduce 572 true Reduce 572 void Reduce 572 IntegerLiteral Reduce 572 LongLiteral Reduce 572 FloatingPointLiteral Reduce 572 DoubleLiteral Reduce 572 CharacterLiteral Reduce 572 StringLiteral Reduce 572 TextBlock Reduce 572 PLUS_PLUS Reduce 572 MINUS_MINUS Reduce 572 PLUS Reduce 572 MINUS Reduce 572 NOT Reduce 572 TWIDDLE Reduce 572 LPAREN Reduce 572 BeginLambda Reduce 572 BeginIntersectionCast Reduce 572 AT308 Reduce 572 UNDERSCORE Reduce 572 Default reduction to rule 572 STATE 218 ---------------------------------------------------------------------- ( 35 ) FieldAccess ::= QualifiedSuperReceiver DOT .Identifier MethodInvocation ::= QualifiedSuperReceiver DOT .Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= QualifiedSuperReceiver DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 453 LESS Shift 75 OnlyTypeArguments Goto 452 STATE 219 ---------------------------------------------------------------------- ( 35 ) ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON . NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 474 NonWildTypeArgumentsopt ::= . (554) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 75 OnlyTypeArguments Goto 454 NonWildTypeArgumentsopt Goto 454 Identifier Reduce 554 Default reduction to rule 554 STATE 220 ---------------------------------------------------------------------- ( 36 110 ) FieldAccess ::= super DOT .Identifier MethodInvocation ::= super DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= super DOT .Identifier LPAREN ArgumentListopt RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 456 LESS Shift 75 OnlyTypeArguments Goto 455 STATE 221 ---------------------------------------------------------------------- ( 36 110 ) ReferenceExpression ::= super COLON_COLON .NonWildTypeArgumentsopt Identifier NonWildTypeArgumentsopt ::= . (554) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 75 OnlyTypeArguments Goto 457 NonWildTypeArgumentsopt Goto 457 Identifier Reduce 554 Default reduction to rule 554 STATE 222 ---------------------------------------------------------------------- ( 38 ) UnannotatableName ::= UnannotatableName .DOT SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 475 TypeAnnotationName ::= AT308 UnannotatableName . (87) DOT Shift 458 Identifier Reduce 87 boolean Reduce 87 byte Reduce 87 char Reduce 87 double Reduce 87 float Reduce 87 int Reduce 87 long Reduce 87 short Reduce 87 void Reduce 87 LPAREN Reduce 87 LBRACKET Reduce 87 QUESTION Reduce 87 ELLIPSIS Reduce 87 AT308 Reduce 87 $eof Reduce 87 Default reduction to rule 87 STATE 223 ---------------------------------------------------------------------- ( 39 ) NormalTypeAnnotation ::= TypeAnnotationName LPAREN .MemberValuePairsopt RPAREN SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN . SingleMemberAnnotationMemberValue RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 476 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 477 ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 478 ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 479 AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 480 ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValuePairsopt ::= . (923) MemberValuePairsopt ::= .MemberValuePairs MemberValuePairs ::= .MemberValuePair MemberValuePairs ::= .MemberValuePairs COMMA MemberValuePair MemberValuePair ::= .SimpleName EQUAL EnterMemberValue MemberValue ExitMemberValue MemberValue ::= .ConditionalExpression_NotName MemberValue ::= .Name MemberValue ::= .Annotation MemberValue ::= .MemberValueArrayInitializer MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (938) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotationMemberValue ::= .MemberValue SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 170 PLUS Shift 171 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1066 true Shift 1066 null Shift 1066 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 481 TextBlock Shift 1066 StringLiteral Shift 1066 CharacterLiteral Shift 1066 DoubleLiteral Shift 1066 FloatingPointLiteral Shift 1066 LongLiteral Shift 1066 IntegerLiteral Shift 1066 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AT Shift 66 ConditionalExpression_NotName Goto 1076 Name Goto 182 Annotation Goto 1076 MemberValueArrayInitializer Goto 1076 EnterMemberValueArrayInitializer Goto 163 AnnotationName Goto 67 NormalAnnotation Goto 1076 MarkerAnnotation Goto 1076 SingleMemberAnnotation Goto 1076 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 ShiftExpression_NotName Goto 175 UnaryExpression_NotName Goto 1068 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1068 PostfixExpression_NotName Goto 1068 CastExpression Goto 1068 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1075 BooleanLiteral Goto 1066 Primary Goto 169 ClassInstanceCreationExpressionName Goto 43 SimpleName Goto 462 TypeAnnotations Goto 42 QualifiedName Goto 1023 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 482 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1066 ClassInstanceCreationExpression Goto 1074 FieldAccess Goto 1073 MethodInvocation Goto 1072 ArrayAccess Goto 1071 LambdaExpression Goto 1070 ReferenceExpression Goto 1069 PostfixExpression Goto 166 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1068 PreDecrementExpression Goto 1068 UnaryExpressionNotPlusMinus_NotName Goto 1068 MemberValue Gt/Rd 942 MemberValuePair Goto 1067 MemberValuePairs Goto 461 MemberValuePairsopt Goto 460 SingleMemberAnnotationMemberValue Goto 459 RPAREN Reduce 923 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 LBRACE Reduce 938 Default reduction to rule 79 STATE 224 ---------------------------------------------------------------------- ( 41 128 182 243 324 326 558 578 ) MethodInvocation ::= Name LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 483 Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 484 PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 485 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 486 PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 487 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 488 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 463 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 225 ---------------------------------------------------------------------- ( 41 128 182 243 324 326 558 578 ) ReferenceExpression ::= Name BeginTypeArguments . ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 489 ReferenceExpressionTypeArgumentsAndTrunk ::= . ReferenceExpressionTypeArgumentsAndTrunk0 ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments Dimsopt ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments DOT ClassOrInterfaceType Dimsopt OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 75 OnlyTypeArguments Goto 76 ReferenceExpressionTypeArgumentsAndTrunk0 Gt/Rd 545 ReferenceExpressionTypeArgumentsAndTrunk Goto 465 STATE 226 ---------------------------------------------------------------------- ( 41 128 182 243 324 326 558 578 ) ReferenceExpression ::= Name Dimsopt .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 466 STATE 227 ---------------------------------------------------------------------- ( 41 182 243 326 558 578 ) QualifiedName ::= Name DOT .SimpleName QualifiedName ::= Name DOT .TypeAnnotations SimpleName PrimaryNoNewArray ::= Name DOT .this QualifiedSuperReceiver ::= Name DOT .super PrimaryNoNewArray ::= Name DOT .class ClassInstanceCreationExpressionName ::= Name DOT .new MethodInvocation ::= Name DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 new Sh/Rd 581 class Sh/Rd 537 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 490 super Sh/Rd 536 this Sh/Rd 535 Identifier Sh/Rd 77 AT308 Shift 38 LESS Shift 75 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 SimpleName Gt/Rd 77 TypeAnnotations Goto 468 OnlyTypeArguments Goto 467 STATE 228 ---------------------------------------------------------------------- ( 41 128 182 243 324 326 558 578 ) OneDimLoop ::= LBRACKET .RBRACKET ArrayAccess ::= Name LBRACKET .Expression RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 491 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 492 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 493 PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 494 ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression RBRACKET Sh/Rd 603 MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 495 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 469 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 496 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 229 ---------------------------------------------------------------------- ( 41 182 324 326 ) PrimaryNoNewArray ::= Name Dims .DOT class Dimsopt ::= Dims . (715) DOT Shift 470 COLON_COLON Reduce 715 Default reduction to rule 715 STATE 230 ---------------------------------------------------------------------- ( 43 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments .ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 497 TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 471 ClassType Goto 471 STATE 231 ---------------------------------------------------------------------- ( 43 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (580) EnterInstanceCreationArgumentList Goto 472 LPAREN Reduce 580 Default reduction to rule 580 STATE 232 ---------------------------------------------------------------------- ( 44 169 555 ) ClassInstanceCreationExpression ::= Primary DOT .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 498 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= Primary DOT .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt FieldAccess ::= Primary DOT .Identifier MethodInvocation ::= Primary DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= Primary DOT .Identifier LPAREN ArgumentListopt RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 474 new Shift 475 LESS Shift 75 OnlyTypeArguments Goto 473 STATE 233 ---------------------------------------------------------------------- ( 44 109 169 555 ) ReferenceExpression ::= Primary COLON_COLON .NonWildTypeArgumentsopt Identifier NonWildTypeArgumentsopt ::= . (554) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 75 OnlyTypeArguments Goto 476 NonWildTypeArgumentsopt Goto 476 Identifier Reduce 554 Default reduction to rule 554 STATE 234 ---------------------------------------------------------------------- ( 45 ) ArrayCreationWithoutArrayInitializer ::= new PrimitiveType . DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new PrimitiveType .DimWithOrWithOutExprs ArrayInitializer TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 499 TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExprs ::= .DimWithOrWithOutExpr DimWithOrWithOutExprs ::= .DimWithOrWithOutExprs DimWithOrWithOutExpr DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 38 TypeAnnotationsopt Goto 478 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 478 DimWithOrWithOutExpr Gt/Rd 596 DimWithOrWithOutExprs Goto 477 LBRACKET Reduce 79 Default reduction to rule 79 STATE 235 ---------------------------------------------------------------------- ( 45 ) ClassInstanceCreationExpression ::= new ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (580) EnterInstanceCreationArgumentList Goto 479 LPAREN Reduce 580 Default reduction to rule 580 STATE 236 ---------------------------------------------------------------------- ( 45 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 500 ClassInstanceCreationExpression ::= new OnlyTypeArguments .ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 480 ClassType Goto 480 STATE 237 ---------------------------------------------------------------------- ( 45 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 501 ClassType ::= ClassOrInterfaceType . (70) ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType . DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType . DimWithOrWithOutExprs ArrayInitializer TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExprs ::= .DimWithOrWithOutExpr DimWithOrWithOutExprs ::= .DimWithOrWithOutExprs DimWithOrWithOutExpr DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 38 TypeAnnotationsopt Goto 478 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 478 DimWithOrWithOutExpr Gt/Rd 596 DimWithOrWithOutExprs Goto 481 LPAREN Reduce 70 LBRACKET Reduce 79 Default reduction to rule 70 STATE 238 ---------------------------------------------------------------------- ( 46 ) ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET .Expression RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 502 Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 503 PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 504 ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 505 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 506 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 507 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 482 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 239 ---------------------------------------------------------------------- ( 47 ) ArrayAccess ::= PrimaryNoNewArray LBRACKET .Expression RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 508 Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 509 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 510 MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 511 MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 512 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 513 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 483 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 240 ---------------------------------------------------------------------- ( 48 ) CastExpression ::= BeginIntersectionCast PushLPAREN .CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 514 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN CastNameAndBounds ::= .Name AdditionalBoundList AT308 Shift 38 Identifier Shift 1004 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 287 Name Goto 287 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 CastNameAndBounds Goto 484 STATE 241 ---------------------------------------------------------------------- ( 49 107 ) PrimaryNoNewArray ::= PushLPAREN Expression_NotName .PushRPAREN PushRPAREN ::= .RPAREN RPAREN Sh/Rd 525 PushRPAREN Gt/Rd 531 STATE 242 ---------------------------------------------------------------------- ( 49 ) PrimaryNoNewArray ::= PrimitiveType .Dims DOT class PrimaryNoNewArray ::= PrimitiveType .DOT class ReferenceExpression ::= PrimitiveType .Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew CastExpression ::= PushLPAREN PrimitiveType .Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 515 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims DOT Shift 211 LBRACKET Shift 214 AT308 Shift 38 Dims Goto 486 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Goto 485 AND Reduce 714 RPAREN Reduce 714 Default reduction to rule 714 STATE 243 ---------------------------------------------------------------------- ( 49 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PrimaryNoNewArray ::= PushLPAREN Name .PushRPAREN PrimaryNoNewArray ::= Name .DOT this QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT class PrimaryNoNewArray ::= Name .Dims DOT class ReferenceExpression ::= Name .Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ClassInstanceCreationExpressionName ::= Name .DOT new IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 516 MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET PostfixExpression ::= Name . (620) CastExpression ::= PushLPAREN Name .OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN Name .OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN Name .PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN Name .Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression_NotName ::= Name .MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= Name .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= Name .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name .PLUS MultiplicativeExpression AdditiveExpression_NotName ::= Name .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name .LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name .LESS ShiftExpression RelationalExpression_NotName ::= Name .GREATER ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= Name .InstanceofRHS EqualityExpression_NotName ::= Name .EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= Name .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= Name .AND EqualityExpression ExclusiveOrExpression_NotName ::= Name .XOR AndExpression InclusiveOrExpression_NotName ::= Name .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= Name .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= Name .OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= Name .QUESTION Expression COLON ConditionalExpression TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofClassic ::= .instanceof Modifiersopt Type IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 517 InstanceofPattern ::= .instanceof Pattern PushRPAREN ::= .RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET OnlyTypeArgumentsForCastExpression ::= .OnlyTypeArguments Dimsopt ::= . (714) Dimsopt ::= .Dims OnlyTypeArguments ::= .LESS TypeArgumentList1 QUESTION Shift 393 OR_OR Shift 394 AND_AND Shift 395 OR Shift 396 XOR Shift 397 AND Shift 398 NOT_EQUAL Shift 399 EQUAL_EQUAL Shift 400 GREATER_EQUAL Shift 401 LESS_EQUAL Shift 402 GREATER Shift 403 UNSIGNED_RIGHT_SHIFT Shift 405 RIGHT_SHIFT Shift 406 LEFT_SHIFT Shift 407 MINUS Shift 408 PLUS Shift 409 REMAINDER Shift 410 DIVIDE Shift 411 MULTIPLY Shift 412 LPAREN Shift 224 BeginTypeArguments Shift 225 DOT Shift 227 RPAREN Sh/Rd 525 LBRACKET Shift 228 AT308 Shift 38 LESS Shift 490 instanceof Shift 256 InstanceofClassic Gt/Rd 869 InstanceofPattern Gt/Rd 869 OnlyTypeArguments Gt/Rd 647 Dims Goto 489 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 518 TypeAnnotation Goto 998 TypeAnnotations Goto 213 PushRPAREN Goto 488 Dimsopt Goto 226 OnlyTypeArgumentsForCastExpression Goto 487 InstanceofRHS Gt/Rd 869 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 PLUS_EQUAL Reduce 620 MINUS_EQUAL Reduce 620 MULTIPLY_EQUAL Reduce 620 DIVIDE_EQUAL Reduce 620 AND_EQUAL Reduce 620 OR_EQUAL Reduce 620 XOR_EQUAL Reduce 620 REMAINDER_EQUAL Reduce 620 LEFT_SHIFT_EQUAL Reduce 620 RIGHT_SHIFT_EQUAL Reduce 620 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 620 EQUAL Reduce 620 COLON_COLON Reduce 714 Default reduction to rule 620 STATE 244 ---------------------------------------------------------------------- ( 50 ) UnaryExpressionNotPlusMinus ::= NOT PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 519 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 520 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 521 ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 522 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 635 PostfixExpression Goto 446 CastExpression Gt/Rd 635 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 635 PreDecrementExpression Gt/Rd 635 UnaryExpressionNotPlusMinus Gt/Rd 635 UnaryExpression Gt/Rd 635 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 523 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 245 ---------------------------------------------------------------------- ( 51 ) UnaryExpressionNotPlusMinus ::= TWIDDLE PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 524 PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 525 ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 526 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 634 PostfixExpression Goto 446 CastExpression Gt/Rd 634 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 527 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 634 PreDecrementExpression Gt/Rd 634 UnaryExpressionNotPlusMinus Gt/Rd 634 UnaryExpression Gt/Rd 634 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 246 ---------------------------------------------------------------------- ( 52 ) PreDecrementExpression ::= MINUS_MINUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 528 Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 529 IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 530 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 531 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 632 PostfixExpression Goto 446 CastExpression Gt/Rd 632 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 532 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 632 PreDecrementExpression Gt/Rd 632 UnaryExpressionNotPlusMinus Gt/Rd 632 UnaryExpression Gt/Rd 632 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 247 ---------------------------------------------------------------------- ( 53 ) PreIncrementExpression ::= PLUS_PLUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 533 TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 534 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 535 PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 536 SwitchExpression Gt/Rd 631 PostfixExpression Goto 446 CastExpression Gt/Rd 631 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 631 PreDecrementExpression Gt/Rd 631 UnaryExpressionNotPlusMinus Gt/Rd 631 UnaryExpression Gt/Rd 631 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 248 ---------------------------------------------------------------------- ( 54 494 495 614 615 644 645 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 537 MultiplicativeExpression ::= MultiplicativeExpression REMAINDER . UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 538 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 539 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 540 CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 655 PostfixExpression Goto 446 CastExpression Gt/Rd 655 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 541 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 655 PreDecrementExpression Gt/Rd 655 UnaryExpressionNotPlusMinus Gt/Rd 655 UnaryExpression Gt/Rd 655 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 249 ---------------------------------------------------------------------- ( 54 494 495 614 615 644 645 ) MultiplicativeExpression ::= MultiplicativeExpression DIVIDE .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 542 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 543 LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 544 ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 545 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 654 PostfixExpression Goto 446 CastExpression Gt/Rd 654 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 654 PreDecrementExpression Gt/Rd 654 UnaryExpressionNotPlusMinus Gt/Rd 654 UnaryExpression Gt/Rd 654 boolean Reduce 79 byte Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 546 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 250 ---------------------------------------------------------------------- ( 54 494 495 614 615 644 645 ) MultiplicativeExpression ::= MultiplicativeExpression MULTIPLY . UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 547 PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 548 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 549 CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 653 PostfixExpression Goto 446 CastExpression Gt/Rd 653 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 550 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 653 PreDecrementExpression Gt/Rd 653 UnaryExpressionNotPlusMinus Gt/Rd 653 UnaryExpression Gt/Rd 653 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 251 ---------------------------------------------------------------------- ( 55 497 498 499 500 616 617 618 619 637 638 639 640 ) ShiftExpression ::= ShiftExpression UNSIGNED_RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 551 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 552 PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 553 DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 554 CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1077 true Shift 1077 null Shift 1077 TextBlock Shift 1077 StringLiteral Shift 1077 CharacterLiteral Shift 1077 DoubleLiteral Shift 1077 FloatingPointLiteral Shift 1077 LongLiteral Shift 1077 IntegerLiteral Shift 1077 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 UnaryExpression Goto 1078 MultiplicativeExpression Goto 54 SwitchExpression Goto 1078 PostfixExpression Goto 446 CastExpression Goto 1078 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1087 BooleanLiteral Goto 1077 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 555 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1077 ClassInstanceCreationExpression Goto 1086 FieldAccess Goto 1085 MethodInvocation Goto 1084 ArrayAccess Goto 1083 LambdaExpression Goto 1082 ReferenceExpression Goto 1081 PostIncrementExpression Goto 1080 PostDecrementExpression Goto 1079 PreIncrementExpression Goto 1078 PreDecrementExpression Goto 1078 UnaryExpressionNotPlusMinus Goto 1078 AdditiveExpression Goto 491 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 252 ---------------------------------------------------------------------- ( 55 497 498 499 500 616 617 618 619 637 638 639 640 ) ShiftExpression ::= ShiftExpression RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 556 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 557 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 558 MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 559 MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1077 true Shift 1077 null Shift 1077 TextBlock Shift 1077 StringLiteral Shift 1077 CharacterLiteral Shift 1077 DoubleLiteral Shift 1077 FloatingPointLiteral Shift 1077 LongLiteral Shift 1077 IntegerLiteral Shift 1077 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 UnaryExpression Goto 1078 MultiplicativeExpression Goto 54 SwitchExpression Goto 1078 PostfixExpression Goto 446 CastExpression Goto 1078 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1087 BooleanLiteral Goto 1077 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 560 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1077 ClassInstanceCreationExpression Goto 1086 FieldAccess Goto 1085 MethodInvocation Goto 1084 ArrayAccess Goto 1083 LambdaExpression Goto 1082 ReferenceExpression Goto 1081 PostIncrementExpression Goto 1080 PostDecrementExpression Goto 1079 PreIncrementExpression Goto 1078 PreDecrementExpression Goto 1078 UnaryExpressionNotPlusMinus Goto 1078 AdditiveExpression Goto 492 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 253 ---------------------------------------------------------------------- ( 55 497 498 499 500 616 617 618 619 637 638 639 640 ) ShiftExpression ::= ShiftExpression LEFT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 561 BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 562 ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 563 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 564 AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1077 true Shift 1077 null Shift 1077 TextBlock Shift 1077 StringLiteral Shift 1077 CharacterLiteral Shift 1077 DoubleLiteral Shift 1077 FloatingPointLiteral Shift 1077 LongLiteral Shift 1077 IntegerLiteral Shift 1077 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 UnaryExpression Goto 1078 MultiplicativeExpression Goto 54 SwitchExpression Goto 1078 PostfixExpression Goto 446 CastExpression Goto 1078 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1087 BooleanLiteral Goto 1077 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 565 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1077 ClassInstanceCreationExpression Goto 1086 FieldAccess Goto 1085 MethodInvocation Goto 1084 ArrayAccess Goto 1083 LambdaExpression Goto 1082 ReferenceExpression Goto 1081 PostIncrementExpression Goto 1080 PostDecrementExpression Goto 1079 PreIncrementExpression Goto 1078 PreDecrementExpression Goto 1078 UnaryExpressionNotPlusMinus Goto 1078 AdditiveExpression Goto 493 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 254 ---------------------------------------------------------------------- ( 56 491 492 493 620 621 622 641 642 643 ) AdditiveExpression ::= AdditiveExpression MINUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 566 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 567 ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 568 LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 569 false Shift 1088 true Shift 1088 null Shift 1088 TextBlock Shift 1088 StringLiteral Shift 1088 CharacterLiteral Shift 1088 DoubleLiteral Shift 1088 FloatingPointLiteral Shift 1088 LongLiteral Shift 1088 IntegerLiteral Shift 1088 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 PreIncrementExpression Goto 494 PreDecrementExpression Goto 494 UnaryExpressionNotPlusMinus Goto 494 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PostfixExpression Goto 446 Literal Goto 1088 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1095 FieldAccess Goto 1094 PrimitiveType Goto 30 MethodInvocation Goto 1093 ArrayAccess Goto 1092 LambdaExpression Goto 1091 ReferenceExpression Goto 1090 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1088 ArrayCreationWithoutArrayInitializer Goto 1089 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 570 SwitchExpression Goto 494 CastExpression Goto 494 UnaryExpression Goto 494 MultiplicativeExpression Goto 494 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 255 ---------------------------------------------------------------------- ( 56 491 492 493 620 621 622 641 642 643 ) AdditiveExpression ::= AdditiveExpression PLUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 571 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 572 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 573 UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1088 true Shift 1088 null Shift 1088 TextBlock Shift 1088 StringLiteral Shift 1088 CharacterLiteral Shift 1088 DoubleLiteral Shift 1088 FloatingPointLiteral Shift 1088 LongLiteral Shift 1088 IntegerLiteral Shift 1088 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 574 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 PreIncrementExpression Goto 495 PreDecrementExpression Goto 495 UnaryExpressionNotPlusMinus Goto 495 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PostfixExpression Goto 446 Literal Goto 1088 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1095 FieldAccess Goto 1094 PrimitiveType Goto 30 MethodInvocation Goto 1093 ArrayAccess Goto 1092 LambdaExpression Goto 1091 ReferenceExpression Goto 1090 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1088 ArrayCreationWithoutArrayInitializer Goto 1089 SwitchExpression Goto 495 CastExpression Goto 495 UnaryExpression Goto 495 MultiplicativeExpression Goto 495 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 575 Default reduction to rule 79 STATE 256 ---------------------------------------------------------------------- ( 57 177 182 243 326 502 503 623 624 635 636 ) InstanceofClassic ::= instanceof .Modifiersopt Type InstanceofPattern ::= instanceof .Pattern Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation TypePattern ::= .Modifiersopt Type Identifier TypePattern ::= .Modifiersopt Type UNDERSCORE RecordPattern ::= .Modifiersopt ReferenceType PushLPAREN ComponentPatternListopt PushRPAREN Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 576 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifiersopt Goto 496 TypePattern Gt/Rd 361 RecordPattern Gt/Rd 361 Modifier Goto 1002 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Pattern Gt/Rd 361 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 257 ---------------------------------------------------------------------- ( 58 ) RelationalExpression ::= RelationalExpression GREATER_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 577 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 578 NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 579 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 580 ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 581 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 497 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 258 ---------------------------------------------------------------------- ( 58 ) RelationalExpression ::= RelationalExpression LESS_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 582 PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 583 ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 584 ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 585 ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 586 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 498 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 259 ---------------------------------------------------------------------- ( 58 ) RelationalExpression ::= RelationalExpression GREATER .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 587 PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 588 ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 589 MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 590 ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 591 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 499 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 260 ---------------------------------------------------------------------- ( 58 ) RelationalExpression ::= RelationalExpression LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 592 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 593 NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 594 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 595 AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 596 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 500 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 261 ---------------------------------------------------------------------- ( 59 505 625 633 ) AndExpression ::= AndExpression AND .EqualityExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 597 BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 598 IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 599 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 600 UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1109 true Shift 1109 null Shift 1109 TextBlock Shift 1109 StringLiteral Shift 1109 CharacterLiteral Shift 1109 DoubleLiteral Shift 1109 FloatingPointLiteral Shift 1109 LongLiteral Shift 1109 IntegerLiteral Shift 1109 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1110 MultiplicativeExpression Goto 54 SwitchExpression Goto 1110 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 601 PostfixExpression Goto 446 CastExpression Goto 1110 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1119 BooleanLiteral Goto 1109 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1109 ClassInstanceCreationExpression Goto 1118 FieldAccess Goto 1117 MethodInvocation Goto 1116 ArrayAccess Goto 1115 LambdaExpression Goto 1114 ReferenceExpression Goto 1113 PostIncrementExpression Goto 1112 PostDecrementExpression Goto 1111 PreIncrementExpression Goto 1110 PreDecrementExpression Goto 1110 UnaryExpressionNotPlusMinus Goto 1110 EqualityExpression Goto 501 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 262 ---------------------------------------------------------------------- ( 60 501 626 634 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 602 EqualityExpression ::= EqualityExpression NOT_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 603 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 604 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 605 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1120 true Shift 1120 null Shift 1120 TextBlock Shift 1120 StringLiteral Shift 1120 CharacterLiteral Shift 1120 DoubleLiteral Shift 1120 FloatingPointLiteral Shift 1120 LongLiteral Shift 1120 IntegerLiteral Shift 1120 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 606 PLUS_PLUS Shift 53 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1121 PreDecrementExpression Goto 1121 UnaryExpressionNotPlusMinus Goto 1121 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1130 PostDecrementExpression Goto 1129 PostfixExpression Goto 446 Literal Goto 1120 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1128 FieldAccess Goto 1127 PrimitiveType Goto 30 MethodInvocation Goto 1126 ArrayAccess Goto 1125 LambdaExpression Goto 1124 ReferenceExpression Goto 1123 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1120 ArrayCreationWithoutArrayInitializer Goto 1122 SwitchExpression Goto 1121 CastExpression Goto 1121 UnaryExpression Goto 1121 InstanceofExpression Goto 502 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 607 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 263 ---------------------------------------------------------------------- ( 60 501 626 634 ) EqualityExpression ::= EqualityExpression EQUAL_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 608 Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 609 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 610 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1120 true Shift 1120 null Shift 1120 TextBlock Shift 1120 StringLiteral Shift 1120 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 611 CharacterLiteral Shift 1120 DoubleLiteral Shift 1120 FloatingPointLiteral Shift 1120 LongLiteral Shift 1120 IntegerLiteral Shift 1120 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1121 PreDecrementExpression Goto 1121 UnaryExpressionNotPlusMinus Goto 1121 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1130 PostDecrementExpression Goto 1129 PostfixExpression Goto 446 Literal Goto 1120 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1128 FieldAccess Goto 1127 PrimitiveType Goto 30 MethodInvocation Goto 1126 ArrayAccess Goto 1125 LambdaExpression Goto 1124 ReferenceExpression Goto 1123 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1120 ArrayCreationWithoutArrayInitializer Goto 1122 SwitchExpression Goto 1121 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 612 CastExpression Goto 1121 UnaryExpression Goto 1121 InstanceofExpression Goto 503 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 264 ---------------------------------------------------------------------- ( 61 508 627 631 ) InclusiveOrExpression ::= InclusiveOrExpression OR .ExclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 613 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 614 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 615 PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 616 ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1131 true Shift 1131 null Shift 1131 TextBlock Shift 1131 StringLiteral Shift 1131 CharacterLiteral Shift 1131 DoubleLiteral Shift 1131 FloatingPointLiteral Shift 1131 LongLiteral Shift 1131 IntegerLiteral Shift 1131 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1132 MultiplicativeExpression Goto 54 SwitchExpression Goto 1132 PostfixExpression Goto 446 CastExpression Goto 1132 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1141 BooleanLiteral Goto 1131 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 617 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1131 ClassInstanceCreationExpression Goto 1140 FieldAccess Goto 1139 MethodInvocation Goto 1138 ArrayAccess Goto 1137 LambdaExpression Goto 1136 ReferenceExpression Goto 1135 PostIncrementExpression Goto 1134 PostDecrementExpression Goto 1133 PreIncrementExpression Goto 1132 PreDecrementExpression Goto 1132 UnaryExpressionNotPlusMinus Goto 1132 ExclusiveOrExpression Goto 504 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 265 ---------------------------------------------------------------------- ( 62 504 628 632 ) ExclusiveOrExpression ::= ExclusiveOrExpression XOR .AndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 618 BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 619 ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 620 MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 621 MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1142 true Shift 1142 null Shift 1142 TextBlock Shift 1142 StringLiteral Shift 1142 CharacterLiteral Shift 1142 DoubleLiteral Shift 1142 FloatingPointLiteral Shift 1142 LongLiteral Shift 1142 IntegerLiteral Shift 1142 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 622 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1143 PreDecrementExpression Goto 1143 UnaryExpressionNotPlusMinus Goto 1143 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1152 PostDecrementExpression Goto 1151 PostfixExpression Goto 446 Literal Goto 1142 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1150 FieldAccess Goto 1149 PrimitiveType Goto 30 MethodInvocation Goto 1148 ArrayAccess Goto 1147 LambdaExpression Goto 1146 ReferenceExpression Goto 1145 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1142 ArrayCreationWithoutArrayInitializer Goto 1144 SwitchExpression Goto 1143 CastExpression Goto 1143 UnaryExpression Goto 1143 AndExpression Goto 505 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 623 STATE 266 ---------------------------------------------------------------------- ( 63 ) ConditionalExpression ::= ConditionalOrExpression QUESTION .Expression COLON ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 624 PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 625 OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 626 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 627 Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 628 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 506 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 267 ---------------------------------------------------------------------- ( 63 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 629 ConditionalOrExpression ::= ConditionalOrExpression OR_OR . ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 630 PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 631 ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 632 PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1153 true Shift 1153 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 633 null Shift 1153 TextBlock Shift 1153 StringLiteral Shift 1153 CharacterLiteral Shift 1153 DoubleLiteral Shift 1153 FloatingPointLiteral Shift 1153 LongLiteral Shift 1153 IntegerLiteral Shift 1153 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1154 MultiplicativeExpression Goto 54 SwitchExpression Goto 1154 PostfixExpression Goto 446 CastExpression Goto 1154 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1163 BooleanLiteral Goto 1153 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1153 ClassInstanceCreationExpression Goto 1162 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 634 FieldAccess Goto 1161 MethodInvocation Goto 1160 ArrayAccess Goto 1159 LambdaExpression Goto 1158 ReferenceExpression Goto 1157 PostIncrementExpression Goto 1156 PostDecrementExpression Goto 1155 PreIncrementExpression Goto 1154 PreDecrementExpression Goto 1154 UnaryExpressionNotPlusMinus Goto 1154 ConditionalAndExpression Goto 507 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 268 ---------------------------------------------------------------------- ( 64 507 630 647 ) ConditionalAndExpression ::= ConditionalAndExpression AND_AND . InclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 635 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 636 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 637 MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 638 RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1164 true Shift 1164 null Shift 1164 TextBlock Shift 1164 StringLiteral Shift 1164 CharacterLiteral Shift 1164 DoubleLiteral Shift 1164 FloatingPointLiteral Shift 1164 LongLiteral Shift 1164 IntegerLiteral Shift 1164 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1165 PreDecrementExpression Goto 1165 UnaryExpressionNotPlusMinus Goto 1165 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 639 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1174 PostDecrementExpression Goto 1173 PostfixExpression Goto 446 Literal Goto 1164 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1172 FieldAccess Goto 1171 PrimitiveType Goto 30 MethodInvocation Goto 1170 ArrayAccess Goto 1169 LambdaExpression Goto 1168 ReferenceExpression Goto 1167 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1164 ArrayCreationWithoutArrayInitializer Goto 1166 SwitchExpression Goto 1165 CastExpression Goto 1165 UnaryExpression Goto 1165 InclusiveOrExpression Goto 508 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 269 ---------------------------------------------------------------------- ( 65 108 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 640 Assignment ::= PostfixExpression AssignmentOperator .AssignmentExpression InvalidArrayInitializerAssignement ::= PostfixExpression AssignmentOperator . ArrayInitializer Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 641 PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 642 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 643 AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 644 Assignment ::= .InvalidArrayInitializerAssignement MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1175 true Shift 1175 null Shift 1175 TextBlock Shift 1175 StringLiteral Shift 1175 CharacterLiteral Shift 1175 DoubleLiteral Shift 1175 FloatingPointLiteral Shift 1175 LongLiteral Shift 1175 IntegerLiteral Shift 1175 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 LBRACE Shift 133 ConditionalOrExpression Goto 63 InclusiveOrExpression Goto 61 ConditionalAndExpression Goto 64 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1176 PreDecrementExpression Goto 1176 UnaryExpressionNotPlusMinus Goto 1176 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1185 PostDecrementExpression Goto 1184 PostfixExpression Goto 65 Literal Goto 1175 PushLPAREN Goto 49 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 645 ClassInstanceCreationExpression Goto 1183 FieldAccess Goto 1182 PrimitiveType Goto 30 MethodInvocation Goto 1181 ArrayAccess Goto 1180 LambdaExpression Goto 1179 ReferenceExpression Goto 1178 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1175 ArrayCreationWithoutArrayInitializer Goto 1177 SwitchExpression Goto 1176 CastExpression Goto 1176 UnaryExpression Goto 1176 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalExpression Gt/Rd 685 Assignment Gt/Rd 685 AssignmentExpression Gt/Rd 685 ArrayInitializer Gt/Rd 686 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 270 ---------------------------------------------------------------------- ( 66 124 342 ) UnannotatableName ::= UnannotatableName .DOT SimpleName AnnotationName ::= AT UnannotatableName . (921) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 646 DOT Shift 458 Identifier Reduce 921 abstract Reduce 921 boolean Reduce 921 byte Reduce 921 char Reduce 921 class Reduce 921 default Reduce 921 double Reduce 921 enum Reduce 921 final Reduce 921 float Reduce 921 int Reduce 921 interface Reduce 921 long Reduce 921 native Reduce 921 non-sealed Reduce 921 package Reduce 921 private Reduce 921 protected Reduce 921 public Reduce 921 short Reduce 921 static Reduce 921 strictfp Reduce 921 synchronized Reduce 921 transient Reduce 921 void Reduce 921 volatile Reduce 921 module Reduce 921 open Reduce 921 LESS Reduce 921 LPAREN Reduce 921 RPAREN Reduce 921 RBRACE Reduce 921 SEMICOLON Reduce 921 COMMA Reduce 921 AT Reduce 921 AT308 Reduce 921 RestrictedIdentifierrecord Reduce 921 RestrictedIdentifiersealed Reduce 921 $eof Reduce 921 Default reduction to rule 921 STATE 271 ---------------------------------------------------------------------- ( 67 ) NormalAnnotation ::= AnnotationName LPAREN .MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 647 SingleMemberAnnotation ::= AnnotationName LPAREN . SingleMemberAnnotationMemberValue RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 648 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 649 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 650 PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 651 InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValuePairsopt ::= . (923) MemberValuePairsopt ::= .MemberValuePairs MemberValuePairs ::= .MemberValuePair MemberValuePairs ::= .MemberValuePairs COMMA MemberValuePair MemberValuePair ::= .SimpleName EQUAL EnterMemberValue MemberValue ExitMemberValue MemberValue ::= .ConditionalExpression_NotName MemberValue ::= .Name MemberValue ::= .Annotation MemberValue ::= .MemberValueArrayInitializer MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 652 MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (938) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotationMemberValue ::= .MemberValue SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 170 PLUS Shift 171 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1066 true Shift 1066 null Shift 1066 TextBlock Shift 1066 StringLiteral Shift 1066 CharacterLiteral Shift 1066 DoubleLiteral Shift 1066 FloatingPointLiteral Shift 1066 LongLiteral Shift 1066 IntegerLiteral Shift 1066 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AT Shift 66 ConditionalExpression_NotName Goto 1076 Name Goto 182 Annotation Goto 1076 MemberValueArrayInitializer Goto 1076 EnterMemberValueArrayInitializer Goto 163 AnnotationName Goto 67 NormalAnnotation Goto 1076 MarkerAnnotation Goto 1076 SingleMemberAnnotation Goto 1076 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 653 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 ShiftExpression_NotName Goto 175 UnaryExpression_NotName Goto 1068 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1068 PostfixExpression_NotName Goto 1068 CastExpression Goto 1068 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1075 BooleanLiteral Goto 1066 Primary Goto 169 ClassInstanceCreationExpressionName Goto 43 SimpleName Goto 462 TypeAnnotations Goto 42 QualifiedName Goto 1023 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1066 ClassInstanceCreationExpression Goto 1074 FieldAccess Goto 1073 MethodInvocation Goto 1072 ArrayAccess Goto 1071 LambdaExpression Goto 1070 ReferenceExpression Goto 1069 PostfixExpression Goto 166 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1068 PreDecrementExpression Goto 1068 UnaryExpressionNotPlusMinus_NotName Goto 1068 MemberValue Gt/Rd 942 MemberValuePair Goto 1067 MemberValuePairs Goto 461 MemberValuePairsopt Goto 510 SingleMemberAnnotationMemberValue Goto 509 RPAREN Reduce 923 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 654 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 LBRACE Reduce 938 Default reduction to rule 79 STATE 272 ---------------------------------------------------------------------- ( 69 ) TypePattern ::= Modifiersopt Type .Identifier TypePattern ::= Modifiersopt Type .UNDERSCORE UNDERSCORE Sh/Rd 365 Identifier Sh/Rd 364 STATE 273 ---------------------------------------------------------------------- ( 69 496 ) Type ::= ReferenceType . (44) RecordPattern ::= Modifiersopt ReferenceType .PushLPAREN ComponentPatternListopt PushRPAREN PushLPAREN ::= .LPAREN LPAREN Sh/Rd 524 PushLPAREN Goto 511 Identifier Reduce 44 abstract Reduce 44 final Reduce 44 instanceof Reduce 44 native Reduce 44 non-sealed Reduce 44 private Reduce 44 protected Reduce 44 public Reduce 44 static Reduce 44 strictfp Reduce 44 synchronized Reduce 44 transient Reduce 44 volatile Reduce 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 655 EQUAL_EQUAL Reduce 44 NOT_EQUAL Reduce 44 OR_OR Reduce 44 AND_AND Reduce 44 XOR Reduce 44 AND Reduce 44 OR Reduce 44 RPAREN Reduce 44 RBRACE Reduce 44 RBRACKET Reduce 44 SEMICOLON Reduce 44 QUESTION Reduce 44 COLON Reduce 44 COMMA Reduce 44 AT Reduce 44 ElidedSemicolonAndRightBrace Reduce 44 BeginCaseExpr Reduce 44 RestrictedIdentifiersealed Reduce 44 UNDERSCORE Reduce 44 $eof Reduce 44 Default reduction to rule 44 STATE 274 ---------------------------------------------------------------------- ( 69 75 125 141 147 150 151 155 184 190 192 204 276 291 350 352 356 360 364 420 424 438 443 496 513 514 518 542 559 577 649 670 671 712 713 727 824 825 863 884 885 888 923 951 952 ) ClassOrInterface ::= Name . (61) ArrayType ::= Name .Dims QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 656 DOT Shift 278 LBRACKET Shift 214 AT308 Shift 38 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dims Gt/Rd 67 Identifier Reduce 61 abstract Reduce 61 final Reduce 61 instanceof Reduce 61 native Reduce 61 non-sealed Reduce 61 private Reduce 61 protected Reduce 61 public Reduce 61 static Reduce 61 strictfp Reduce 61 synchronized Reduce 61 this Reduce 61 transient Reduce 61 volatile Reduce 61 EQUAL_EQUAL Reduce 61 NOT_EQUAL Reduce 61 RIGHT_SHIFT Reduce 61 UNSIGNED_RIGHT_SHIFT Reduce 61 OR_OR Reduce 61 AND_AND Reduce 61 XOR Reduce 61 AND Reduce 61 OR Reduce 61 GREATER Reduce 61 LESS Reduce 61 LPAREN Reduce 61 RPAREN Reduce 61 RBRACE Reduce 61 RBRACKET Reduce 61 SEMICOLON Reduce 61 QUESTION Reduce 61 COLON Reduce 61 COMMA Reduce 61 AT Reduce 61 ELLIPSIS Reduce 61 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 657 ElidedSemicolonAndRightBrace Reduce 61 AT308DOTDOTDOT Reduce 61 BeginCaseExpr Reduce 61 RestrictedIdentifiersealed Reduce 61 UNDERSCORE Reduce 61 $eof Reduce 61 Default reduction to rule 61 STATE 275 ---------------------------------------------------------------------- ( 69 125 141 147 150 151 155 184 190 192 204 291 350 352 356 360 364 420 424 438 443 496 542 559 577 649 670 671 863 ) Type ::= PrimitiveType . (43) ArrayType ::= PrimitiveType .Dims TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET LBRACKET Shift 214 AT308 Shift 38 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dims Gt/Rd 66 Identifier Reduce 43 abstract Reduce 43 final Reduce 43 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 658 instanceof Reduce 43 native Reduce 43 non-sealed Reduce 43 private Reduce 43 protected Reduce 43 public Reduce 43 static Reduce 43 strictfp Reduce 43 synchronized Reduce 43 this Reduce 43 transient Reduce 43 volatile Reduce 43 EQUAL_EQUAL Reduce 43 NOT_EQUAL Reduce 43 OR_OR Reduce 43 AND_AND Reduce 43 XOR Reduce 43 AND Reduce 43 OR Reduce 43 RPAREN Reduce 43 RBRACE Reduce 43 RBRACKET Reduce 43 SEMICOLON Reduce 43 QUESTION Reduce 43 COLON Reduce 43 COMMA Reduce 43 AT Reduce 43 ELLIPSIS Reduce 43 ElidedSemicolonAndRightBrace Reduce 43 AT308DOTDOTDOT Reduce 43 BeginCaseExpr Reduce 43 RestrictedIdentifiersealed Reduce 43 UNDERSCORE Reduce 43 $eof Reduce 43 Default reduction to rule 43 STATE 276 ---------------------------------------------------------------------- ( 71 ) GenericType ::= ClassOrInterface LESS .GREATER TypeArguments ::= LESS .TypeArgumentList1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 659 ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeArgumentList1 ::= .TypeArgumentList COMMA TypeArgument1 TypeArgumentList ::= .TypeArgumentList COMMA TypeArgument TypeArgument ::= .ReferenceType ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 GREATER Sh/Rd 64 AT308 Shift 38 Identifier Shift 1004 ReferenceType1 Gt/Rd 771 Wildcard1 Gt/Rd 771 TypeAnnotationsopt Goto 284 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1043 TypeAnnotations Goto 42 GenericType Goto 129 PrimitiveType Goto 283 Name Goto 274 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 660 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 282 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 281 TypeArgument Goto 280 TypeArgumentList Goto 280 Wildcard Goto 280 TypeArgument1 Gt/Rd 771 TypeArgumentList1 Gt/Rd 771 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 QUESTION Reduce 79 Default reduction to rule 79 STATE 277 ---------------------------------------------------------------------- ( 72 ) ClassOrInterface ::= GenericType DOT .Name Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 661 SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 Name Goto 512 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 512 STATE 278 ---------------------------------------------------------------------- ( 73 274 287 433 436 512 590 606 665 778 ) QualifiedName ::= Name DOT .SimpleName QualifiedName ::= Name DOT .TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Sh/Rd 77 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 SimpleName Gt/Rd 77 TypeAnnotations Goto 468 STATE 279 ---------------------------------------------------------------------- ( 74 603 725 837 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 662 ClassTypeList ::= ClassTypeList COMMA .ClassTypeElt ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ClassTypeElt ::= .ClassType AT308 Shift 38 Identifier Shift 1004 ClassOrInterfaceType Goto 1006 Name Goto 73 GenericType Goto 72 ClassOrInterface Goto 71 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 ClassType Gt/Rd 285 ClassTypeElt Gt/Rd 284 STATE 280 ---------------------------------------------------------------------- ( 75 276 490 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 663 TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 TypeArgumentList ::= TypeArgumentList .COMMA TypeArgument COMMA Shift 513 STATE 281 ---------------------------------------------------------------------- ( 75 276 490 513 ) TypeArgument ::= ReferenceType . (777) ReferenceType1 ::= ReferenceType .GREATER GREATER Sh/Rd 781 COMMA Reduce 777 Default reduction to rule 777 STATE 282 ---------------------------------------------------------------------- ( 75 276 490 513 712 713 727 888 ) ClassOrInterfaceType ::= ClassOrInterface . (59) GenericType ::= ClassOrInterface .TypeArguments GenericType ::= ClassOrInterface .LESS GREATER ReferenceType1 ::= ClassOrInterface .LESS TypeArgumentList2 TypeArguments ::= .LESS TypeArgumentList1 LESS Shift 514 TypeArguments Gt/Rd 63 AND Reduce 57 GREATER Reduce 57 COMMA Reduce 57 Default reduction to rule 59 STATE 283 ---------------------------------------------------------------------- ( 75 276 513 514 518 712 713 727 824 825 884 885 888 923 951 952 ) ArrayType ::= PrimitiveType .Dims TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 664 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET LBRACKET Shift 214 AT308 Shift 38 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dims Gt/Rd 66 STATE 284 ---------------------------------------------------------------------- ( 75 276 490 513 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void Wildcard ::= TypeAnnotationsopt .QUESTION Wildcard ::= TypeAnnotationsopt .QUESTION WildcardBounds Wildcard1 ::= TypeAnnotationsopt .QUESTION GREATER Wildcard1 ::= TypeAnnotationsopt .QUESTION WildcardBounds1 QUESTION Shift 515 void Sh/Rd 49 boolean Sh/Rd 48 double Sh/Rd 45 float Sh/Rd 45 char Sh/Rd 45 long Sh/Rd 45 int Sh/Rd 45 short Sh/Rd 45 byte Sh/Rd 45 IntegralType Gt/Rd 45 FloatingPointType Gt/Rd 45 NumericType Gt/Rd 45 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 665 STATE 285 ---------------------------------------------------------------------- ( 76 ) ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments DOT . ClassOrInterfaceType Dimsopt ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 Name Goto 73 GenericType Goto 72 ClassOrInterface Goto 71 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1005 ClassOrInterfaceType Goto 516 STATE 286 ---------------------------------------------------------------------- ( 77 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 666 ParenthesizedCastNameAndBounds ::= LPAREN CastNameAndBounds .RPAREN RPAREN Sh/Rd 645 STATE 287 ---------------------------------------------------------------------- ( 77 240 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName CastNameAndBounds ::= Name .AdditionalBoundList AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType DOT Shift 278 AND Shift 518 AdditionalBound Goto 517 AdditionalBoundList Goto 517 STATE 288 ---------------------------------------------------------------------- ( 78 ) LambdaParameterList ::= PushLPAREN FormalParameterListopt .PushRPAREN PushRPAREN ::= .RPAREN RPAREN Sh/Rd 525 PushRPAREN Gt/Rd 564 STATE 289 ---------------------------------------------------------------------- ( 78 136 142 143 157 189 ) FormalParameterList ::= FormalParameterList .COMMA FormalParameter FormalParameterListopt ::= FormalParameterList . (721) COMMA Shift 519 RPAREN Reduce 721 Default reduction to rule 721 STATE 290 ---------------------------------------------------------------------- ( 78 ) LambdaParameterList ::= PushLPAREN TypeElidedFormalParameterList .PushRPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 667 TypeElidedFormalParameterList ::= TypeElidedFormalParameterList .COMMA TypeElidedFormalParameter PushRPAREN ::= .RPAREN COMMA Shift 520 RPAREN Sh/Rd 525 PushRPAREN Gt/Rd 565 STATE 291 ---------------------------------------------------------------------- ( 78 ) FormalParameter ::= Modifiersopt .Type VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis TypeElidedFormalParameter ::= Modifiersopt .Identifier Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 668 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Identifier Shift 522 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 521 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 521 Type Goto 521 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 292 ---------------------------------------------------------------------- ( 79 ) YieldStatement ::= RestrictedIdentifierYield Expression .SEMICOLON SEMICOLON Sh/Rd 481 STATE 293 ---------------------------------------------------------------------- ( 80 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 669 SwitchLabelCaseLhs ::= case CaseLabelElements . (472) CaseLabelElements ::= CaseLabelElements .COMMA CaseLabelElement COMMA Shift 523 COLON Reduce 472 BeginCaseExpr Reduce 472 $eof Reduce 472 Default reduction to rule 472 STATE 294 ---------------------------------------------------------------------- ( 80 523 ) CaseLabelElementPattern ::= BeginCaseElement .Pattern Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation TypePattern ::= .Modifiersopt Type Identifier TypePattern ::= .Modifiersopt Type UNDERSCORE RecordPattern ::= .Modifiersopt ReferenceType PushLPAREN ComponentPatternListopt PushRPAREN Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 670 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifiersopt Goto 69 Modifier Goto 1002 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 TypePattern Gt/Rd 479 RecordPattern Gt/Rd 479 Pattern Gt/Rd 479 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 295 ---------------------------------------------------------------------- ( 80 523 ) CaseLabelElement ::= CaseLabelElementPattern . (477) CaseLabelElement ::= CaseLabelElementPattern .Guard Guard ::= .RestrictedIdentifierWhen Expression RestrictedIdentifierWhen Shift 524 Guard Gt/Rd 478 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 671 COLON Reduce 477 COMMA Reduce 477 BeginCaseExpr Reduce 477 $eof Reduce 477 Default reduction to rule 477 STATE 296 ---------------------------------------------------------------------- ( 81 298 305 308 ) ClassHeaderImplements ::= implements .InterfaceTypeList ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InterfaceTypeList ::= .InterfaceTypeList COMMA InterfaceType InterfaceType ::= .ClassOrInterfaceType AT308 Shift 38 Identifier Shift 1004 ClassOrInterfaceType Gt/Rd 220 Name Goto 73 GenericType Goto 72 ClassOrInterface Goto 71 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 672 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 InterfaceType Goto 525 InterfaceTypeList Goto 525 STATE 297 ---------------------------------------------------------------------- ( 82 ) EnumBody ::= LBRACE .EnumBodyDeclarationsopt RBRACE EnumBody ::= LBRACE .COMMA EnumBodyDeclarationsopt RBRACE EnumBody ::= LBRACE .EnumConstants COMMA EnumBodyDeclarationsopt RBRACE EnumBody ::= LBRACE .EnumConstants EnumBodyDeclarationsopt RBRACE Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumConstants ::= .EnumConstants COMMA EnumConstant EnumConstantHeaderName ::= .Modifiersopt Identifier EnumConstantHeader ::= .EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet EnumConstant ::= .EnumConstantHeader ForceNoDiet ClassBody RestoreDiet EnumConstant ::= .EnumConstantHeader EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (760) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 673 COMMA Shift 526 SEMICOLON Shift 528 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 EnumConstantHeader Goto 531 Modifiersopt Goto 530 Modifier Goto 1002 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 EnumConstantHeaderName Goto 188 EnumConstant Goto 529 EnumConstants Goto 529 EnumDeclarations Goto 527 EnumBodyDeclarationsopt Goto 527 RBRACE Reduce 760 Identifier Reduce 710 Default reduction to rule 760 STATE 298 ---------------------------------------------------------------------- ( 83 ) AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt . ClassHeaderImplementsopt ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (722) implements Shift 296 ClassHeaderImplements Gt/Rd 901 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 674 ClassHeaderImplementsopt Gt/Rd 901 abstract Reduce 722 final Reduce 722 native Reduce 722 non-sealed Reduce 722 private Reduce 722 protected Reduce 722 public Reduce 722 static Reduce 722 strictfp Reduce 722 synchronized Reduce 722 transient Reduce 722 volatile Reduce 722 LBRACE Reduce 722 AT Reduce 722 RestrictedIdentifiersealed Reduce 722 $eof Reduce 722 Default reduction to rule 722 STATE 299 ---------------------------------------------------------------------- ( 83 91 ) ClassHeaderExtends ::= extends .ClassType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 675 AT308 Shift 38 Identifier Shift 1004 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Gt/Rd 216 ClassType Gt/Rd 216 STATE 300 ---------------------------------------------------------------------- ( 84 ) AnnotationTypeBody ::= LBRACE .AnnotationTypeMemberDeclarationsopt RBRACE NestedType ::= . (733) AnnotationTypeMemberDeclarationsopt ::= . (904) AnnotationTypeMemberDeclarationsopt ::= .NestedType AnnotationTypeMemberDeclarations NestedType Goto 533 AnnotationTypeMemberDeclarationsopt Goto 532 RBRACE Reduce 904 Identifier Reduce 733 abstract Reduce 733 boolean Reduce 733 byte Reduce 733 char Reduce 733 class Reduce 733 double Reduce 733 enum Reduce 733 final Reduce 733 float Reduce 733 int Reduce 733 interface Reduce 733 long Reduce 733 native Reduce 733 non-sealed Reduce 733 private Reduce 733 protected Reduce 733 public Reduce 733 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 676 short Reduce 733 static Reduce 733 strictfp Reduce 733 synchronized Reduce 733 transient Reduce 733 void Reduce 733 volatile Reduce 733 LESS Reduce 733 SEMICOLON Reduce 733 AT Reduce 733 AT308 Reduce 733 RestrictedIdentifierrecord Reduce 733 RestrictedIdentifiersealed Reduce 733 Default reduction to rule 733 STATE 301 ---------------------------------------------------------------------- ( 85 ) InterfaceHeader ::= InterfaceHeaderName InterfaceHeaderExtendsopt . InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ::= . (728) InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= . RestrictedIdentifierpermits ClassTypeList RestrictedIdentifierpermits Shift 534 InterfaceHeaderPermittedSubClassesAndSubInterfaces Gt/Rd 305 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt Gt/Rd 305 abstract Reduce 728 final Reduce 728 native Reduce 728 non-sealed Reduce 728 private Reduce 728 protected Reduce 728 public Reduce 728 static Reduce 728 strictfp Reduce 728 synchronized Reduce 728 transient Reduce 728 volatile Reduce 728 LBRACE Reduce 728 AT Reduce 728 RestrictedIdentifiersealed Reduce 728 $eof Reduce 728 Default reduction to rule 728 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 677 STATE 302 ---------------------------------------------------------------------- ( 85 ) InterfaceHeaderExtends ::= extends .InterfaceTypeList ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InterfaceTypeList ::= .InterfaceTypeList COMMA InterfaceType InterfaceType ::= .ClassOrInterfaceType AT308 Shift 38 Identifier Shift 1004 ClassOrInterfaceType Gt/Rd 220 Name Goto 73 GenericType Goto 72 ClassOrInterface Goto 71 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 InterfaceType Goto 535 InterfaceTypeList Goto 535 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 678 STATE 303 ---------------------------------------------------------------------- ( 86 89 93 141 147 150 151 155 190 192 204 443 547 670 765 855 ) TypeParameters ::= LESS .TypeParameterList1 TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameterHeader ::= .TypeAnnotationsopt Identifier TypeParameterList ::= .TypeParameterList COMMA TypeParameter TypeParameter ::= .TypeParameterHeader TypeParameter ::= .TypeParameterHeader extends ReferenceType TypeParameter ::= .TypeParameterHeader extends ReferenceType AdditionalBoundList TypeParameterList1 ::= .TypeParameterList COMMA TypeParameter1 TypeParameter1 ::= .TypeParameterHeader GREATER TypeParameter1 ::= .TypeParameterHeader extends ReferenceType1 TypeParameter1 ::= .TypeParameterHeader extends ReferenceType AdditionalBoundList1 AT308 Shift 38 TypeParameterHeader Goto 538 TypeAnnotations Goto 537 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 537 TypeParameter Goto 536 TypeParameterList Goto 536 TypeParameter1 Gt/Rd 811 TypeParameterList1 Gt/Rd 811 Identifier Reduce 79 Default reduction to rule 79 STATE 304 ---------------------------------------------------------------------- ( 87 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 679 InterfaceBody ::= LBRACE .InterfaceMemberDeclarationsopt RBRACE InterfaceMemberDeclarationsopt ::= . (731) InterfaceMemberDeclarationsopt ::= .NestedType InterfaceMemberDeclarations NestedType ::= . (733) NestedType Goto 540 InterfaceMemberDeclarationsopt Goto 539 RBRACE Reduce 731 Identifier Reduce 733 abstract Reduce 733 boolean Reduce 733 byte Reduce 733 char Reduce 733 class Reduce 733 default Reduce 733 double Reduce 733 enum Reduce 733 final Reduce 733 float Reduce 733 int Reduce 733 interface Reduce 733 long Reduce 733 native Reduce 733 non-sealed Reduce 733 private Reduce 733 protected Reduce 733 public Reduce 733 short Reduce 733 static Reduce 733 strictfp Reduce 733 synchronized Reduce 733 transient Reduce 733 void Reduce 733 volatile Reduce 733 LESS Reduce 733 LBRACE Reduce 733 SEMICOLON Reduce 733 AT Reduce 733 AT308 Reduce 733 RestrictedIdentifierrecord Reduce 733 RestrictedIdentifiersealed Reduce 733 Default reduction to rule 733 STATE 305 ---------------------------------------------------------------------- ( 88 ) RecordHeaderPart ::= RecordHeaderName RecordHeader .ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 680 ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (722) implements Shift 296 ClassHeaderImplements Gt/Rd 331 ClassHeaderImplementsopt Gt/Rd 331 abstract Reduce 722 final Reduce 722 native Reduce 722 non-sealed Reduce 722 private Reduce 722 protected Reduce 722 public Reduce 722 static Reduce 722 strictfp Reduce 722 synchronized Reduce 722 transient Reduce 722 volatile Reduce 722 LBRACE Reduce 722 AT Reduce 722 RestrictedIdentifiersealed Reduce 722 $eof Reduce 722 Default reduction to rule 722 STATE 306 ---------------------------------------------------------------------- ( 88 ) RecordHeader ::= LPAREN .RecordComponentsopt RecordComponentHeaderRightParen Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation RecordComponentsopt ::= . (337) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 681 RecordComponentsopt ::= .RecordComponents RecordComponents ::= .RecordComponent RecordComponents ::= .RecordComponents COMMA RecordComponent RecordComponent ::= .VariableArityRecordComponent RecordComponent ::= .Modifiersopt Type VariableDeclaratorId VariableArityRecordComponent ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId VariableArityRecordComponent ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 RecordComponent Goto 1186 RecordComponents Goto 543 Modifiersopt Goto 542 Modifier Goto 1002 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 VariableArityRecordComponent Goto 1186 RecordComponentsopt Goto 541 RPAREN Reduce 337 Identifier Reduce 710 boolean Reduce 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 682 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 307 ---------------------------------------------------------------------- ( 90 ) RecordBody ::= LBRACE .RecordBodyDeclarationopt RBRACE Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (230) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 683 ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier RecordBodyDeclarationopt ::= . (346) RecordBodyDeclarationopt ::= .RecordBodyDeclarations RecordBodyDeclarations ::= .RecordBodyDeclaration RecordBodyDeclarations ::= .RecordBodyDeclarations RecordBodyDeclaration RecordBodyDeclaration ::= .ClassBodyDeclaration RecordBodyDeclaration ::= .CompactConstructorDeclaration CompactConstructorDeclaration ::= .CompactConstructorHeader MethodBody CompactConstructorHeader ::= .CompactConstructorHeaderName MethodHeaderThrowsClauseopt CompactConstructorHeaderName ::= .Modifiersopt Identifier CompactConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 684 EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 139 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 RecordBodyDeclaration Gt/Rd 348 RecordBodyDeclarations Goto 545 ClassMemberDeclaration Goto 1018 StaticInitializer Goto 1018 ConstructorDeclaration Goto 1018 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 147 ConstructorHeader Goto 137 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 685 StaticOnly Goto 138 Modifier Goto 1002 Modifiers Goto 145 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 AbstractMethodDeclaration Goto 1018 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 94 ClassHeaderName1 Goto 93 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 FieldDeclaration Goto 1018 MethodDeclaration Goto 1018 ClassDeclaration Goto 1018 InterfaceDeclaration Goto 1018 EnumDeclaration Goto 1018 AnnotationTypeDeclaration Goto 1018 RecordDeclaration Goto 1018 CompactConstructorHeader Goto 146 CompactConstructorHeaderName Goto 148 ClassBodyDeclaration Gt/Rd 350 CompactConstructorDeclaration Gt/Rd 351 RecordBodyDeclarationopt Goto 544 RBRACE Reduce 346 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 686 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 230 Default reduction to rule 710 STATE 308 ---------------------------------------------------------------------- ( 91 ) ClassHeader ::= ClassHeaderName ClassHeaderExtendsopt . ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (722) implements Shift 296 ClassHeaderImplements Goto 546 ClassHeaderImplementsopt Goto 546 abstract Reduce 722 final Reduce 722 native Reduce 722 non-sealed Reduce 722 private Reduce 722 protected Reduce 722 public Reduce 722 static Reduce 722 strictfp Reduce 722 synchronized Reduce 722 transient Reduce 722 volatile Reduce 722 LBRACE Reduce 722 AT Reduce 722 RestrictedIdentifiersealed Reduce 722 RestrictedIdentifierpermits Reduce 722 $eof Reduce 722 Default reduction to rule 722 STATE 309 ---------------------------------------------------------------------- ( 92 147 150 155 192 204 443 670 ) EnumHeaderName ::= Modifiersopt enum .Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 687 EnumHeaderName ::= Modifiersopt enum .Identifier TypeParameters Identifier Shift 547 STATE 310 ---------------------------------------------------------------------- ( 92 147 150 155 192 204 443 670 ) RecordHeaderName1 ::= Modifiersopt RestrictedIdentifierrecord .Identifier Identifier Sh/Rd 334 STATE 311 ---------------------------------------------------------------------- ( 92 147 150 155 192 204 443 670 ) InterfaceHeaderName1 ::= Modifiersopt interface .Identifier Identifier Sh/Rd 308 STATE 312 ---------------------------------------------------------------------- ( 92 147 150 155 192 204 443 670 ) ClassHeaderName1 ::= Modifiersopt class .Identifier Identifier Sh/Rd 215 STATE 313 ---------------------------------------------------------------------- ( 94 723 916 919 ) ClassBody ::= LBRACE .ClassBodyDeclarationsopt RBRACE ClassBodyDeclarationsopt ::= . (708) ClassBodyDeclarationsopt ::= .NestedType ClassBodyDeclarations NestedType ::= . (733) NestedType Goto 549 ClassBodyDeclarationsopt Goto 548 RBRACE Reduce 708 Identifier Reduce 733 abstract Reduce 733 boolean Reduce 733 byte Reduce 733 char Reduce 733 class Reduce 733 default Reduce 733 double Reduce 733 enum Reduce 733 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 688 final Reduce 733 float Reduce 733 int Reduce 733 interface Reduce 733 long Reduce 733 native Reduce 733 non-sealed Reduce 733 private Reduce 733 protected Reduce 733 public Reduce 733 short Reduce 733 static Reduce 733 strictfp Reduce 733 synchronized Reduce 733 transient Reduce 733 void Reduce 733 volatile Reduce 733 LESS Reduce 733 LBRACE Reduce 733 SEMICOLON Reduce 733 AT Reduce 733 AT308 Reduce 733 RestrictedIdentifierrecord Reduce 733 RestrictedIdentifiersealed Reduce 733 Default reduction to rule 733 STATE 314 ---------------------------------------------------------------------- ( 95 ) TryStatementWithResources ::= try ResourceSpecification .TryBlock Catchesopt TryStatementWithResources ::= try ResourceSpecification .TryBlock Catchesopt Finally Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) TryBlock ::= .Block ExitTryBlock OpenBlock Goto 114 Block Goto 316 TryBlock Goto 550 LBRACE Reduce 382 Default reduction to rule 382 STATE 315 ---------------------------------------------------------------------- ( 95 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 689 TryStatement ::= try TryBlock .Catches TryStatement ::= try TryBlock .Catchesopt Finally Catches ::= .CatchClause Catches ::= .Catches CatchClause CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block Catchesopt ::= . (740) Catchesopt ::= .Catches catch Shift 552 Catches Goto 553 CatchClause Goto 1187 Catchesopt Goto 551 finally Reduce 740 Default reduction to rule 740 STATE 316 ---------------------------------------------------------------------- ( 95 314 ) TryBlock ::= Block .ExitTryBlock ExitTryBlock ::= . (519) ExitTryBlock Gt/Rd 518 Identifier Reduce 519 abstract Reduce 519 assert Reduce 519 boolean Reduce 519 break Reduce 519 byte Reduce 519 case Reduce 519 catch Reduce 519 char Reduce 519 class Reduce 519 continue Reduce 519 default Reduce 519 do Reduce 519 double Reduce 519 else Reduce 519 enum Reduce 519 false Reduce 519 final Reduce 519 finally Reduce 519 float Reduce 519 for Reduce 519 if Reduce 519 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 690 int Reduce 519 interface Reduce 519 long Reduce 519 native Reduce 519 new Reduce 519 non-sealed Reduce 519 null Reduce 519 private Reduce 519 protected Reduce 519 public Reduce 519 return Reduce 519 short Reduce 519 static Reduce 519 strictfp Reduce 519 super Reduce 519 switch Reduce 519 synchronized Reduce 519 this Reduce 519 throw Reduce 519 transient Reduce 519 true Reduce 519 try Reduce 519 void Reduce 519 volatile Reduce 519 while Reduce 519 IntegerLiteral Reduce 519 LongLiteral Reduce 519 FloatingPointLiteral Reduce 519 DoubleLiteral Reduce 519 CharacterLiteral Reduce 519 StringLiteral Reduce 519 TextBlock Reduce 519 PLUS_PLUS Reduce 519 MINUS_MINUS Reduce 519 LESS Reduce 519 LPAREN Reduce 519 LBRACE Reduce 519 RBRACE Reduce 519 SEMICOLON Reduce 519 AT Reduce 519 BeginLambda Reduce 519 AT308 Reduce 519 RestrictedIdentifierYield Reduce 519 RestrictedIdentifierrecord Reduce 519 RestrictedIdentifiersealed Reduce 519 UNDERSCORE Reduce 519 $eof Reduce 519 Default reduction to rule 519 STATE 317 ---------------------------------------------------------------------- ( 95 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 691 ResourceSpecification ::= LPAREN .Resources ;opt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifiers Modifier Modifier ::= .Annotation Resources ::= .Resource IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 692 Resources ::= .Resources TrailingSemiColon Resource Resource ::= .Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization Resource ::= .Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization Resource ::= .Name Resource ::= .this Resource ::= .FieldAccess PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 693 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 694 MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 AT Shift 66 strictfp Shift 559 volatile Shift 559 transient Shift 559 synchronized Shift 559 RestrictedIdentifiersealed Shift 559 non-sealed Shift 559 native Shift 559 final Shift 559 abstract Shift 559 static Shift 559 private Shift 559 protected Shift 559 public Shift 559 null Shift 1188 TextBlock Shift 1188 StringLiteral Shift 1188 CharacterLiteral Shift 1188 DoubleLiteral Shift 1188 FloatingPointLiteral Shift 1188 LongLiteral Shift 1188 IntegerLiteral Shift 1188 false Shift 1188 true Shift 1188 LPAREN Sh/Rd 524 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Shift 557 Type Goto 560 Modifiers Goto 559 Name Goto 558 FieldAccess Goto 556 Literal Goto 1188 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 1194 PrimitiveType Goto 130 MethodInvocation Goto 1193 ArrayAccess Goto 1192 LambdaExpression Goto 1191 ReferenceExpression Goto 1190 Primary Goto 555 QualifiedSuperReceiver Goto 35 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 695 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1188 ArrayCreationWithoutArrayInitializer Goto 555 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 559 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 560 GenericType Goto 129 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1189 ReferenceType Goto 560 Resource Gt/Rd 510 Resources Goto 554 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 318 ---------------------------------------------------------------------- ( 96 ) ThrowStatement ::= throw Expression .SEMICOLON SEMICOLON Sh/Rd 499 STATE 319 ---------------------------------------------------------------------- ( 97 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 696 SynchronizedStatement ::= OnlySynchronized LPAREN .Expression RPAREN Block Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 697 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 698 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 699 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 700 MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 701 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 561 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 320 ---------------------------------------------------------------------- ( 98 ) ReturnStatement ::= return Expressionopt .SEMICOLON SEMICOLON Sh/Rd 498 STATE 321 ---------------------------------------------------------------------- ( 99 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 702 ContinueStatement ::= continue Identifier .SEMICOLON SEMICOLON Sh/Rd 497 STATE 322 ---------------------------------------------------------------------- ( 100 ) BreakStatement ::= break Identifier .SEMICOLON SEMICOLON Sh/Rd 495 STATE 323 ---------------------------------------------------------------------- ( 101 ) DoStatement ::= do Statement .while LPAREN Expression RPAREN SEMICOLON while Shift 562 STATE 324 ---------------------------------------------------------------------- ( 101 119 334 849 850 902 933 937 958 980 981 986 987 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName ExplicitConstructorInvocation ::= Name .DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON PrimaryNoNewArray ::= Name .DOT this QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT class PrimaryNoNewArray ::= Name .Dims DOT class ReferenceExpression ::= Name .Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ClassInstanceCreationExpressionName ::= Name .DOT new MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET PostfixExpression ::= Name . (620) TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 703 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims LPAREN Shift 224 BeginTypeArguments Shift 225 DOT Shift 343 LBRACKET Shift 228 AT308 Shift 38 Dims Goto 229 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Goto 226 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 PLUS_EQUAL Reduce 620 MINUS_EQUAL Reduce 620 MULTIPLY_EQUAL Reduce 620 DIVIDE_EQUAL Reduce 620 AND_EQUAL Reduce 620 OR_EQUAL Reduce 620 XOR_EQUAL Reduce 620 REMAINDER_EQUAL Reduce 620 LEFT_SHIFT_EQUAL Reduce 620 RIGHT_SHIFT_EQUAL Reduce 620 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 620 EQUAL Reduce 620 COLON_COLON Reduce 714 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 704 Default reduction to rule 620 STATE 325 ---------------------------------------------------------------------- ( 102 ) SwitchStatement ::= switch LPAREN .Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 705 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 706 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 707 CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 708 AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 709 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 563 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 326 ---------------------------------------------------------------------- ( 107 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 710 QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PrimaryNoNewArray ::= PushLPAREN Name .PushRPAREN PrimaryNoNewArray ::= Name .DOT this QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT class PrimaryNoNewArray ::= Name .Dims DOT class ReferenceExpression ::= Name .Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ClassInstanceCreationExpressionName ::= Name .DOT new MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET PostfixExpression ::= Name . (620) MultiplicativeExpression_NotName ::= Name .MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= Name .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= Name .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name .PLUS MultiplicativeExpression AdditiveExpression_NotName ::= Name .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name .LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name .LESS ShiftExpression RelationalExpression_NotName ::= Name .GREATER ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= Name .InstanceofRHS EqualityExpression_NotName ::= Name .EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= Name .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= Name .AND EqualityExpression ExclusiveOrExpression_NotName ::= Name .XOR AndExpression InclusiveOrExpression_NotName ::= Name .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= Name .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= Name .OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= Name .QUESTION Expression COLON ConditionalExpression TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 711 SingleMemberAnnotationMemberValue RPAREN InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern PushRPAREN ::= .RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims QUESTION Shift 393 OR_OR Shift 394 AND_AND Shift 395 OR Shift 396 XOR Shift 397 AND Shift 398 NOT_EQUAL Shift 399 EQUAL_EQUAL Shift 400 GREATER_EQUAL Shift 401 LESS_EQUAL Shift 402 GREATER Shift 403 LESS Shift 404 UNSIGNED_RIGHT_SHIFT Shift 405 RIGHT_SHIFT Shift 406 LEFT_SHIFT Shift 407 MINUS Shift 408 PLUS Shift 409 REMAINDER Shift 410 DIVIDE Shift 411 MULTIPLY Shift 412 LPAREN Shift 224 BeginTypeArguments Shift 225 DOT Shift 227 RPAREN Sh/Rd 525 LBRACKET Shift 228 AT308 Shift 38 instanceof Shift 256 InstanceofClassic Gt/Rd 869 InstanceofPattern Gt/Rd 869 Dims Goto 229 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 712 TypeAnnotations Goto 213 PushRPAREN Gt/Rd 532 Dimsopt Goto 226 InstanceofRHS Gt/Rd 869 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 PLUS_EQUAL Reduce 620 MINUS_EQUAL Reduce 620 MULTIPLY_EQUAL Reduce 620 DIVIDE_EQUAL Reduce 620 AND_EQUAL Reduce 620 OR_EQUAL Reduce 620 XOR_EQUAL Reduce 620 REMAINDER_EQUAL Reduce 620 LEFT_SHIFT_EQUAL Reduce 620 RIGHT_SHIFT_EQUAL Reduce 620 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 620 EQUAL Reduce 620 COLON_COLON Reduce 714 Default reduction to rule 620 STATE 327 ---------------------------------------------------------------------- ( 109 ) ExplicitConstructorInvocation ::= Primary DOT .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ClassInstanceCreationExpression ::= Primary DOT .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= Primary DOT .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt FieldAccess ::= Primary DOT .Identifier MethodInvocation ::= Primary DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= Primary DOT .Identifier LPAREN ArgumentListopt RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 474 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 713 new Shift 475 this Shift 564 super Shift 566 LESS Shift 75 OnlyTypeArguments Goto 565 STATE 328 ---------------------------------------------------------------------- ( 110 ) ExplicitConstructorInvocation ::= super LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 714 PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 715 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 716 PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 717 ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 718 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 567 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 719 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 329 ---------------------------------------------------------------------- ( 111 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 568 STATE 330 ---------------------------------------------------------------------- ( 111 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 569 STATE 331 ---------------------------------------------------------------------- ( 112 ) ExplicitConstructorInvocation ::= this LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 720 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 721 NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 722 MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 723 ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 724 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 725 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 570 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 332 ---------------------------------------------------------------------- ( 114 ) Block ::= OpenBlock LBRACE .BlockStatementsopt RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 726 PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 727 ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 728 VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 729 ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 730 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 731 PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers BlockStatementsopt ::= . (712) BlockStatementsopt ::= .BlockStatements EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RestrictedIdentifierYield Shift 79 try Shift 95 throw Shift 96 return Shift 98 continue Shift 99 break Shift 100 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 732 do Shift 101 switch Shift 102 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 BeginLambda Shift 31 UNDERSCORE Shift 32 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 super Shift 110 this Shift 112 LESS Shift 75 SEMICOLON Sh/Rd 428 assert Shift 115 if Shift 117 while Shift 118 for Shift 120 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 123 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 AT Shift 124 AT308 Shift 38 Identifier Shift 127 BlockStatement Gt/Rd 383 BlockStatements Goto 132 LocalVariableDeclaration Goto 131 PrimitiveType Goto 130 ReferenceType Goto 122 ClassOrInterface Goto 71 GenericType Goto 129 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 733 TypeAnnotations Goto 42 QualifiedName Goto 1016 Name Goto 128 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 34 Modifier Goto 1008 Modifiers Goto 125 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Type Goto 122 StatementWithoutTrailingSubstatement Goto 1017 LabeledStatement Goto 1017 IfThenStatement Goto 1017 IfThenElseStatement Goto 1017 WhileStatement Goto 1017 ForStatement Goto 1017 EnhancedForStatement Goto 1017 EnhancedForStatementHeaderInit Goto 121 EnhancedForStatementHeader Goto 119 Label Goto 116 OpenBlock Goto 114 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OnlyTypeArguments Goto 111 Primary Goto 109 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1015 BooleanLiteral Goto 1009 ClassInstanceCreationExpressionName Goto 43 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 Literal Goto 1009 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 106 FieldAccess Goto 1014 MethodInvocation Goto 105 ArrayAccess Goto 1013 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 734 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 OnlySynchronized Goto 97 AssertStatement Goto 1017 Block Goto 1017 EmptyStatement Goto 1017 ExpressionStatement Goto 1017 SwitchStatement Goto 1017 DoStatement Goto 1017 BreakStatement Goto 1017 ContinueStatement Goto 1017 ReturnStatement Goto 1017 SynchronizedStatement Goto 1017 ThrowStatement Goto 1017 TryStatement Goto 1017 TryStatementWithResources Goto 1017 YieldStatement Goto 1017 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiersopt Goto 92 ClassHeaderName Goto 91 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 EnumHeader Goto 82 EnumHeaderName Goto 81 LocalVariableDeclarationStatement Goto 1017 Statement Goto 1017 ClassDeclaration Goto 1017 RecordDeclaration Goto 1017 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 EnumDeclaration Gt/Rd 394 BlockStatementsopt Goto 571 RBRACE Reduce 712 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 382 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 735 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 333 ---------------------------------------------------------------------- ( 115 ) AssertStatement ::= assert Expression .SEMICOLON AssertStatement ::= assert Expression .COLON Expression SEMICOLON COLON Shift 572 SEMICOLON Sh/Rd 492 STATE 334 ---------------------------------------------------------------------- ( 116 ) LabeledStatement ::= Label COLON .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 736 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 737 PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 738 NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 739 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 120 while Shift 118 if Shift 117 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 740 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 AssertStatement Gt/Rd 429 Block Gt/Rd 429 EmptyStatement Gt/Rd 429 ExpressionStatement Gt/Rd 429 SwitchStatement Gt/Rd 429 DoStatement Gt/Rd 429 BreakStatement Gt/Rd 429 ContinueStatement Gt/Rd 429 ReturnStatement Gt/Rd 429 SynchronizedStatement Gt/Rd 429 ThrowStatement Gt/Rd 429 TryStatement Gt/Rd 429 TryStatementWithResources Gt/Rd 429 YieldStatement Gt/Rd 429 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 741 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 Label Goto 116 EnhancedForStatementHeader Goto 119 EnhancedForStatementHeaderInit Goto 121 StatementWithoutTrailingSubstatement Gt/Rd 429 LabeledStatement Gt/Rd 429 IfThenStatement Gt/Rd 429 IfThenElseStatement Gt/Rd 429 WhileStatement Gt/Rd 429 ForStatement Gt/Rd 429 EnhancedForStatement Gt/Rd 429 Statement Gt/Rd 429 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 335 ---------------------------------------------------------------------- ( 117 ) IfThenStatement ::= if LPAREN .Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= if LPAREN .Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement Literal ::= .IntegerLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 742 Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 743 PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 744 ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 745 CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 746 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 747 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 573 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 336 ---------------------------------------------------------------------- ( 118 ) WhileStatement ::= while LPAREN .Expression RPAREN PostExpressionInWhile Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 748 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 749 PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 750 FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 751 InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 752 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 753 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 574 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 337 ---------------------------------------------------------------------- ( 120 ) ForStatement ::= for LPAREN .ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement EnhancedForStatementHeaderInit ::= for LPAREN .Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= for LPAREN .Modifiers Type PushRealModifiers VariableDeclaratorId Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 754 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifiers Modifier Modifier ::= .Annotation LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 755 StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression ForInit ::= .StatementExpressionList StatementExpressionList ::= .StatementExpression StatementExpressionList ::= .StatementExpressionList COMMA StatementExpression PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 756 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 757 InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement ForInitopt ::= . (734) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 strictfp Shift 577 volatile Shift 577 transient Shift 577 synchronized Shift 577 RestrictedIdentifiersealed Shift 577 non-sealed Shift 577 native Shift 577 final Shift 577 abstract Shift 577 static Shift 577 private Shift 577 protected Shift 577 public Shift 577 AT Shift 66 StatementExpressionList Goto 579 LocalVariableDeclaration Goto 575 PrimitiveType Goto 130 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 758 ReferenceType Goto 576 ClassOrInterface Goto 71 GenericType Goto 129 Name Goto 578 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 576 Modifier Goto 577 Modifiers Goto 577 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Type Goto 576 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 44 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1016 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 StatementExpression Goto 1195 ForInit Goto 575 ForInitopt Goto 575 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 759 SEMICOLON Reduce 734 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 338 ---------------------------------------------------------------------- ( 121 ) EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON . Expression RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 760 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 761 ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 762 UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 763 InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 764 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 580 boolean Reduce 79 byte Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 765 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 339 ---------------------------------------------------------------------- ( 122 ) LocalVariableDeclaration ::= Type PushModifiers .VariableDeclarators VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Goto 583 VariableDeclarator Goto 581 VariableDeclarators Goto 581 STATE 340 ---------------------------------------------------------------------- ( 124 ) AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader .interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader .interface Identifier interface Shift 584 STATE 341 ---------------------------------------------------------------------- ( 125 ) LocalVariableDeclaration ::= Modifiers Type .PushRealModifiers VariableDeclarators PushRealModifiers ::= . (400) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 766 PushRealModifiers Goto 585 Identifier Reduce 400 UNDERSCORE Reduce 400 Default reduction to rule 400 STATE 342 ---------------------------------------------------------------------- ( 125 145 156 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT .PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers AT .PushRealModifiers interface Identifier TypeParameters AnnotationName ::= AT .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName PushRealModifiers ::= . (400) Identifier Shift 270 SimpleName Goto 270 UnannotatableName Goto 270 PushRealModifiers Goto 586 interface Reduce 400 Default reduction to rule 400 STATE 343 ---------------------------------------------------------------------- ( 128 324 ) QualifiedName ::= Name DOT .SimpleName QualifiedName ::= Name DOT .TypeAnnotations SimpleName ExplicitConstructorInvocation ::= Name DOT .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name DOT .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name DOT .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name DOT .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON PrimaryNoNewArray ::= Name DOT .this QualifiedSuperReceiver ::= Name DOT .super PrimaryNoNewArray ::= Name DOT .class ClassInstanceCreationExpressionName ::= Name DOT .new MethodInvocation ::= Name DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 767 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 new Sh/Rd 581 class Sh/Rd 537 this Shift 587 super Shift 589 Identifier Sh/Rd 77 AT308 Shift 38 LESS Shift 75 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 SimpleName Gt/Rd 77 TypeAnnotations Goto 468 OnlyTypeArguments Goto 588 STATE 344 ---------------------------------------------------------------------- ( 128 558 578 ) ArrayType ::= Name Dims . (67) PrimaryNoNewArray ::= Name Dims .DOT class Dimsopt ::= Dims . (715) DOT Shift 470 COLON_COLON Reduce 715 Identifier Reduce 67 GREATER Reduce 67 COMMA Reduce 67 UNDERSCORE Reduce 67 Default reduction to rule 67 STATE 345 ---------------------------------------------------------------------- ( 129 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 768 ClassOrInterface ::= GenericType DOT .Name ArrayTypeWithTypeArgumentsName ::= GenericType DOT .Name Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 Name Goto 590 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 590 STATE 346 ---------------------------------------------------------------------- ( 130 703 ) ArrayType ::= PrimitiveType Dims . (66) PrimaryNoNewArray ::= PrimitiveType Dims .DOT class ReferenceExpression ::= PrimitiveType Dims .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 448 DOT Shift 449 Identifier Reduce 66 GREATER Reduce 66 COMMA Reduce 66 UNDERSCORE Reduce 66 Default reduction to rule 66 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 769 STATE 347 ---------------------------------------------------------------------- ( 133 ) ArrayInitializer ::= LBRACE PushLeftBrace .,opt RBRACE ArrayInitializer ::= LBRACE PushLeftBrace .VariableInitializers RBRACE ArrayInitializer ::= LBRACE PushLeftBrace .VariableInitializers COMMA RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN VariableInitializer ::= .Expression VariableInitializer ::= .ArrayInitializer InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE VariableInitializers ::= .VariableInitializer VariableInitializers ::= .VariableInitializers COMMA VariableInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 770 UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 771 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 772 PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 773 ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ,opt ::= . (706) COMMA Shift 591 MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 LBRACE Shift 133 Expression Goto 1196 ArrayInitializer Goto 1196 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 774 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 VariableInitializer Gt/Rd 379 VariableInitializers Goto 592 ,opt Goto 591 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 775 RBRACE Reduce 706 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 348 ---------------------------------------------------------------------- ( 135 ) ClassBodyDeclaration ::= Diet NestedMethod .CreateInitializer Block CreateInitializer ::= . (232) CreateInitializer Goto 593 LBRACE Reduce 232 Default reduction to rule 232 STATE 349 ---------------------------------------------------------------------- ( 136 ) ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderThrowsClauseopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 268 MethodHeaderRightParen Goto 594 STATE 350 ---------------------------------------------------------------------- ( 136 142 143 157 189 519 ) FormalParameter ::= Modifiersopt .Type VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Type ::= .PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 776 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 521 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 777 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 521 Type Goto 521 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 351 ---------------------------------------------------------------------- ( 141 ) DefaultMethodHeaderName ::= ModifiersWithDefault Type .Identifier LPAREN Identifier Shift 595 STATE 352 ---------------------------------------------------------------------- ( 141 ) DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 778 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 596 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 596 Type Goto 596 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 779 Default reduction to rule 79 STATE 353 ---------------------------------------------------------------------- ( 142 ) DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 268 MethodHeaderRightParen Goto 597 STATE 354 ---------------------------------------------------------------------- ( 143 ) MethodHeader ::= MethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 268 MethodHeaderRightParen Goto 598 STATE 355 ---------------------------------------------------------------------- ( 147 150 151 192 204 443 670 ) ModifiersWithDefault ::= Modifiersopt default .Modifiersopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 780 Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifier Goto 1002 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Modifiersopt Gt/Rd 267 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 Default reduction to rule 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 781 STATE 356 ---------------------------------------------------------------------- ( 147 ) MethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN ConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier LPAREN CompactConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Identifier Shift 600 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 782 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 599 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 599 Type Goto 599 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 357 ---------------------------------------------------------------------- ( 147 150 443 670 ) FieldDeclaration ::= Modifiersopt Type .VariableDeclarators SEMICOLON MethodHeaderName ::= Modifiersopt Type .Identifier LPAREN VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 602 VariableDeclaratorId Goto 583 VariableDeclarator Goto 601 VariableDeclarators Goto 601 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 783 STATE 358 ---------------------------------------------------------------------- ( 147 ) SimpleName ::= Identifier . (74) ConstructorHeaderName ::= Modifiersopt Identifier .LPAREN CompactConstructorHeaderName ::= Modifiersopt Identifier . (354) LPAREN Sh/Rd 273 throws Reduce 354 LBRACE Reduce 354 Identifier Reduce 71 LESS Reduce 71 LBRACKET Reduce 71 DOT Reduce 71 AT308 Reduce 71 UNDERSCORE Reduce 71 Default reduction to rule 74 STATE 359 ---------------------------------------------------------------------- ( 148 594 774 775 790 ) MethodHeaderThrowsClause ::= throws .ClassTypeList ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 784 SingleMemberAnnotationMemberValue RPAREN ClassTypeList ::= .ClassTypeList COMMA ClassTypeElt ClassTypeElt ::= .ClassType AT308 Shift 38 Identifier Shift 1004 ClassType Gt/Rd 285 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 1006 ClassTypeElt Goto 603 ClassTypeList Goto 603 STATE 360 ---------------------------------------------------------------------- ( 150 151 ) MethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN ConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 785 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Identifier Shift 604 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 599 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 599 Type Goto 599 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 361 ---------------------------------------------------------------------- ( 150 151 155 204 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 786 SimpleName ::= Identifier . (74) ConstructorHeaderName ::= Modifiersopt Identifier .LPAREN LPAREN Sh/Rd 273 Identifier Reduce 71 LESS Reduce 71 LBRACKET Reduce 71 DOT Reduce 71 AT308 Reduce 71 UNDERSCORE Reduce 71 Default reduction to rule 74 STATE 362 ---------------------------------------------------------------------- ( 151 ) MethodHeaderName ::= Modifiersopt Type .Identifier LPAREN Identifier Shift 605 STATE 363 ---------------------------------------------------------------------- ( 153 ) PackageDeclarationName ::= PackageComment package .Name RejectTypeAnnotations Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 787 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 Name Goto 606 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 606 STATE 364 ---------------------------------------------------------------------- ( 155 ) ConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier LPAREN AnnotationMethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 788 Identifier Shift 604 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 607 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 607 Type Goto 607 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 365 ---------------------------------------------------------------------- ( 155 ) FieldDeclaration ::= Modifiersopt Type .VariableDeclarators SEMICOLON AnnotationMethodHeaderName ::= Modifiersopt Type .Identifier LPAREN VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 789 UNDERSCORE Sh/Rd 254 Identifier Shift 608 VariableDeclaratorId Goto 583 VariableDeclarator Goto 601 VariableDeclarators Goto 601 STATE 366 ---------------------------------------------------------------------- ( 156 ) PackageDeclarationName ::= Modifiers package .PushRealModifiers Name RejectTypeAnnotations PushRealModifiers ::= . (400) PushRealModifiers Goto 609 Identifier Reduce 400 AT308 Reduce 400 Default reduction to rule 400 STATE 367 ---------------------------------------------------------------------- ( 157 ) AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 268 MethodHeaderRightParen Goto 610 STATE 368 ---------------------------------------------------------------------- ( 161 ) SingleStaticImportDeclarationName ::= import static .Name RejectTypeAnnotations StaticImportOnDemandDeclarationName ::= import static .Name DOT RejectTypeAnnotations MULTIPLY Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 790 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 Name Goto 611 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 611 STATE 369 ---------------------------------------------------------------------- ( 161 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName SingleTypeImportDeclarationName ::= import Name .RejectTypeAnnotations TypeImportOnDemandDeclarationName ::= import Name .DOT RejectTypeAnnotations MULTIPLY RejectTypeAnnotations ::= . (91) DOT Shift 612 RejectTypeAnnotations Gt/Rd 186 SEMICOLON Reduce 91 Default reduction to rule 91 STATE 370 ---------------------------------------------------------------------- ( 163 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 791 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE . PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE . PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE . PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE . PushLeftBrace RBRACE PushLeftBrace ::= . (375) PushLeftBrace Goto 613 Identifier Reduce 375 boolean Reduce 375 byte Reduce 375 char Reduce 375 double Reduce 375 false Reduce 375 float Reduce 375 int Reduce 375 long Reduce 375 new Reduce 375 null Reduce 375 short Reduce 375 super Reduce 375 switch Reduce 375 this Reduce 375 true Reduce 375 void Reduce 375 IntegerLiteral Reduce 375 LongLiteral Reduce 375 FloatingPointLiteral Reduce 375 DoubleLiteral Reduce 375 CharacterLiteral Reduce 375 StringLiteral Reduce 375 TextBlock Reduce 375 PLUS_PLUS Reduce 375 MINUS_MINUS Reduce 375 PLUS Reduce 375 MINUS Reduce 375 NOT Reduce 375 TWIDDLE Reduce 375 LPAREN Reduce 375 LBRACE Reduce 375 RBRACE Reduce 375 COMMA Reduce 375 AT Reduce 375 BeginLambda Reduce 375 BeginIntersectionCast Reduce 375 AT308 Reduce 375 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 792 UNDERSCORE Reduce 375 Default reduction to rule 375 STATE 371 ---------------------------------------------------------------------- ( 164 ) UnaryExpressionNotPlusMinus_NotName ::= NOT PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 793 PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 794 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 795 PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 838 PostfixExpression Goto 446 CastExpression Gt/Rd 838 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 796 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 838 PreDecrementExpression Gt/Rd 838 UnaryExpressionNotPlusMinus Gt/Rd 838 UnaryExpression Gt/Rd 838 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 372 ---------------------------------------------------------------------- ( 165 ) UnaryExpressionNotPlusMinus_NotName ::= TWIDDLE PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 797 BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 798 ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 799 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 800 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 837 PostfixExpression Goto 446 CastExpression Gt/Rd 837 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 801 PreIncrementExpression Gt/Rd 837 PreDecrementExpression Gt/Rd 837 UnaryExpressionNotPlusMinus Gt/Rd 837 UnaryExpression Gt/Rd 837 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 373 ---------------------------------------------------------------------- ( 170 ) UnaryExpression_NotName ::= MINUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 802 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 803 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 804 UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 834 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 805 PostfixExpression Goto 446 CastExpression Gt/Rd 834 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 834 PreDecrementExpression Gt/Rd 834 UnaryExpressionNotPlusMinus Gt/Rd 834 UnaryExpression Gt/Rd 834 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 374 ---------------------------------------------------------------------- ( 171 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 806 UnaryExpression_NotName ::= PLUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 807 PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 808 ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 809 InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 833 PostfixExpression Goto 446 CastExpression Gt/Rd 833 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 810 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 833 PreDecrementExpression Gt/Rd 833 UnaryExpressionNotPlusMinus Gt/Rd 833 UnaryExpression Gt/Rd 833 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 375 ---------------------------------------------------------------------- ( 172 ) AdditiveExpression_NotName ::= AdditiveExpression_NotName MINUS . MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 811 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 812 LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 813 ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1088 true Shift 1088 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 814 null Shift 1088 TextBlock Shift 1088 StringLiteral Shift 1088 CharacterLiteral Shift 1088 DoubleLiteral Shift 1088 FloatingPointLiteral Shift 1088 LongLiteral Shift 1088 IntegerLiteral Shift 1088 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 PreIncrementExpression Goto 614 PreDecrementExpression Goto 614 UnaryExpressionNotPlusMinus Goto 614 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PostfixExpression Goto 446 Literal Goto 1088 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1095 FieldAccess Goto 1094 PrimitiveType Goto 30 MethodInvocation Goto 1093 ArrayAccess Goto 1092 LambdaExpression Goto 1091 ReferenceExpression Goto 1090 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1088 ArrayCreationWithoutArrayInitializer Goto 1089 SwitchExpression Goto 614 CastExpression Goto 614 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 815 UnaryExpression Goto 614 MultiplicativeExpression Goto 614 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 376 ---------------------------------------------------------------------- ( 172 ) AdditiveExpression_NotName ::= AdditiveExpression_NotName PLUS . MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 816 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 817 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 818 PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1088 true Shift 1088 null Shift 1088 TextBlock Shift 1088 StringLiteral Shift 1088 CharacterLiteral Shift 1088 DoubleLiteral Shift 1088 FloatingPointLiteral Shift 1088 LongLiteral Shift 1088 IntegerLiteral Shift 1088 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 819 PLUS_PLUS Shift 53 PreIncrementExpression Goto 615 PreDecrementExpression Goto 615 UnaryExpressionNotPlusMinus Goto 615 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PostfixExpression Goto 446 Literal Goto 1088 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1095 FieldAccess Goto 1094 PrimitiveType Goto 30 MethodInvocation Goto 1093 ArrayAccess Goto 1092 LambdaExpression Goto 1091 ReferenceExpression Goto 1090 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1088 ArrayCreationWithoutArrayInitializer Goto 1089 SwitchExpression Goto 615 CastExpression Goto 615 UnaryExpression Goto 615 MultiplicativeExpression Goto 615 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 820 STATE 377 ---------------------------------------------------------------------- ( 173 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName REMAINDER .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 821 PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 822 QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 823 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 845 PostfixExpression Goto 446 CastExpression Gt/Rd 845 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 824 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 845 PreDecrementExpression Gt/Rd 845 UnaryExpressionNotPlusMinus Gt/Rd 845 UnaryExpression Gt/Rd 845 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 378 ---------------------------------------------------------------------- ( 173 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName DIVIDE . UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 825 BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 826 NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 827 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 828 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 843 PostfixExpression Goto 446 CastExpression Gt/Rd 843 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 843 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 829 PreDecrementExpression Gt/Rd 843 UnaryExpressionNotPlusMinus Gt/Rd 843 UnaryExpression Gt/Rd 843 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 379 ---------------------------------------------------------------------- ( 173 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName MULTIPLY .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 830 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 831 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 832 UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 841 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 833 PostfixExpression Goto 446 CastExpression Gt/Rd 841 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 841 PreDecrementExpression Gt/Rd 841 UnaryExpressionNotPlusMinus Gt/Rd 841 UnaryExpression Gt/Rd 841 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 380 ---------------------------------------------------------------------- ( 174 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 834 RelationalExpression_NotName ::= RelationalExpression_NotName GREATER_EQUAL . ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 835 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 836 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 837 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 838 UnaryExpressionNotPlusMinus Goto 1099 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 616 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 381 ---------------------------------------------------------------------- ( 174 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 839 RelationalExpression_NotName ::= RelationalExpression_NotName LESS_EQUAL . ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 840 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 841 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 842 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 843 UnaryExpressionNotPlusMinus Goto 1099 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 617 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 382 ---------------------------------------------------------------------- ( 175 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 844 RelationalExpression_NotName ::= ShiftExpression_NotName GREATER . ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 845 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 846 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 847 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 848 UnaryExpressionNotPlusMinus Goto 1099 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 618 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 383 ---------------------------------------------------------------------- ( 175 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 849 RelationalExpression_NotName ::= ShiftExpression_NotName LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 850 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 851 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 852 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 853 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 619 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 384 ---------------------------------------------------------------------- ( 175 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 854 ShiftExpression_NotName ::= ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT . AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 855 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 856 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 857 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1077 true Shift 1077 null Shift 1077 TextBlock Shift 1077 StringLiteral Shift 1077 CharacterLiteral Shift 1077 DoubleLiteral Shift 1077 FloatingPointLiteral Shift 1077 LongLiteral Shift 1077 IntegerLiteral Shift 1077 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 UnaryExpression Goto 1078 MultiplicativeExpression Goto 54 SwitchExpression Goto 1078 PostfixExpression Goto 446 CastExpression Goto 1078 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 858 ArrayCreationWithoutArrayInitializer Goto 1087 BooleanLiteral Goto 1077 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1077 ClassInstanceCreationExpression Goto 1086 FieldAccess Goto 1085 MethodInvocation Goto 1084 ArrayAccess Goto 1083 LambdaExpression Goto 1082 ReferenceExpression Goto 1081 PostIncrementExpression Goto 1080 PostDecrementExpression Goto 1079 PreIncrementExpression Goto 1078 PreDecrementExpression Goto 1078 UnaryExpressionNotPlusMinus Goto 1078 AdditiveExpression Goto 620 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 385 ---------------------------------------------------------------------- ( 175 ) ShiftExpression_NotName ::= ShiftExpression_NotName RIGHT_SHIFT . AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 859 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 860 PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 861 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 862 PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1077 true Shift 1077 null Shift 1077 TextBlock Shift 1077 StringLiteral Shift 1077 CharacterLiteral Shift 1077 DoubleLiteral Shift 1077 FloatingPointLiteral Shift 1077 LongLiteral Shift 1077 IntegerLiteral Shift 1077 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 UnaryExpression Goto 1078 MultiplicativeExpression Goto 54 SwitchExpression Goto 1078 PostfixExpression Goto 446 CastExpression Goto 1078 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1087 BooleanLiteral Goto 1077 Primary Goto 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 863 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1077 ClassInstanceCreationExpression Goto 1086 FieldAccess Goto 1085 MethodInvocation Goto 1084 ArrayAccess Goto 1083 LambdaExpression Goto 1082 ReferenceExpression Goto 1081 PostIncrementExpression Goto 1080 PostDecrementExpression Goto 1079 PreIncrementExpression Goto 1078 PreDecrementExpression Goto 1078 UnaryExpressionNotPlusMinus Goto 1078 AdditiveExpression Goto 621 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 386 ---------------------------------------------------------------------- ( 175 ) ShiftExpression_NotName ::= ShiftExpression_NotName LEFT_SHIFT . AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 864 Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 865 PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 866 FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 867 InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1077 true Shift 1077 null Shift 1077 TextBlock Shift 1077 StringLiteral Shift 1077 CharacterLiteral Shift 1077 DoubleLiteral Shift 1077 FloatingPointLiteral Shift 1077 LongLiteral Shift 1077 IntegerLiteral Shift 1077 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 UnaryExpression Goto 1078 MultiplicativeExpression Goto 54 SwitchExpression Goto 1078 PostfixExpression Goto 446 CastExpression Goto 1078 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1087 BooleanLiteral Goto 1077 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 868 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1077 ClassInstanceCreationExpression Goto 1086 FieldAccess Goto 1085 MethodInvocation Goto 1084 ArrayAccess Goto 1083 LambdaExpression Goto 1082 ReferenceExpression Goto 1081 PostIncrementExpression Goto 1080 PostDecrementExpression Goto 1079 PreIncrementExpression Goto 1078 PreDecrementExpression Goto 1078 UnaryExpressionNotPlusMinus Goto 1078 AdditiveExpression Goto 622 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 387 ---------------------------------------------------------------------- ( 176 ) EqualityExpression_NotName ::= EqualityExpression_NotName NOT_EQUAL . InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 869 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 870 PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 871 FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 872 MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1120 true Shift 1120 null Shift 1120 TextBlock Shift 1120 StringLiteral Shift 1120 CharacterLiteral Shift 1120 DoubleLiteral Shift 1120 FloatingPointLiteral Shift 1120 LongLiteral Shift 1120 IntegerLiteral Shift 1120 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1121 PreDecrementExpression Goto 1121 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 873 UnaryExpressionNotPlusMinus Goto 1121 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1130 PostDecrementExpression Goto 1129 PostfixExpression Goto 446 Literal Goto 1120 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1128 FieldAccess Goto 1127 PrimitiveType Goto 30 MethodInvocation Goto 1126 ArrayAccess Goto 1125 LambdaExpression Goto 1124 ReferenceExpression Goto 1123 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1120 ArrayCreationWithoutArrayInitializer Goto 1122 SwitchExpression Goto 1121 CastExpression Goto 1121 UnaryExpression Goto 1121 InstanceofExpression Goto 623 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 388 ---------------------------------------------------------------------- ( 176 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 874 EqualityExpression_NotName ::= EqualityExpression_NotName EQUAL_EQUAL . InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 875 PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 876 ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 877 PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1120 true Shift 1120 null Shift 1120 TextBlock Shift 1120 StringLiteral Shift 1120 CharacterLiteral Shift 1120 DoubleLiteral Shift 1120 FloatingPointLiteral Shift 1120 LongLiteral Shift 1120 IntegerLiteral Shift 1120 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 878 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1121 PreDecrementExpression Goto 1121 UnaryExpressionNotPlusMinus Goto 1121 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1130 PostDecrementExpression Goto 1129 PostfixExpression Goto 446 Literal Goto 1120 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1128 FieldAccess Goto 1127 PrimitiveType Goto 30 MethodInvocation Goto 1126 ArrayAccess Goto 1125 LambdaExpression Goto 1124 ReferenceExpression Goto 1123 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1120 ArrayCreationWithoutArrayInitializer Goto 1122 SwitchExpression Goto 1121 CastExpression Goto 1121 UnaryExpression Goto 1121 InstanceofExpression Goto 624 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 879 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 389 ---------------------------------------------------------------------- ( 178 ) ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName XOR . AndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 880 PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 881 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 882 UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 883 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1142 true Shift 1142 null Shift 1142 TextBlock Shift 1142 StringLiteral Shift 1142 CharacterLiteral Shift 1142 DoubleLiteral Shift 1142 FloatingPointLiteral Shift 1142 LongLiteral Shift 1142 IntegerLiteral Shift 1142 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1143 PreDecrementExpression Goto 1143 UnaryExpressionNotPlusMinus Goto 1143 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1152 PostDecrementExpression Goto 1151 PostfixExpression Goto 446 Literal Goto 1142 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1150 FieldAccess Goto 1149 PrimitiveType Goto 30 MethodInvocation Goto 1148 ArrayAccess Goto 1147 LambdaExpression Goto 1146 ReferenceExpression Goto 1145 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 884 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1142 ArrayCreationWithoutArrayInitializer Goto 1144 SwitchExpression Goto 1143 CastExpression Goto 1143 UnaryExpression Goto 1143 AndExpression Goto 625 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 390 ---------------------------------------------------------------------- ( 179 ) AndExpression_NotName ::= AndExpression_NotName AND .EqualityExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 885 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 886 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 887 MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 888 RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1109 true Shift 1109 null Shift 1109 TextBlock Shift 1109 StringLiteral Shift 1109 CharacterLiteral Shift 1109 DoubleLiteral Shift 1109 FloatingPointLiteral Shift 1109 LongLiteral Shift 1109 IntegerLiteral Shift 1109 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1110 MultiplicativeExpression Goto 54 SwitchExpression Goto 1110 PostfixExpression Goto 446 CastExpression Goto 1110 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1119 BooleanLiteral Goto 1109 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 889 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1109 ClassInstanceCreationExpression Goto 1118 FieldAccess Goto 1117 MethodInvocation Goto 1116 ArrayAccess Goto 1115 LambdaExpression Goto 1114 ReferenceExpression Goto 1113 PostIncrementExpression Goto 1112 PostDecrementExpression Goto 1111 PreIncrementExpression Goto 1110 PreDecrementExpression Goto 1110 UnaryExpressionNotPlusMinus Goto 1110 EqualityExpression Goto 626 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 391 ---------------------------------------------------------------------- ( 180 ) ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName AND_AND .InclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 890 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 891 PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 892 FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 893 InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1164 true Shift 1164 null Shift 1164 TextBlock Shift 1164 StringLiteral Shift 1164 CharacterLiteral Shift 1164 DoubleLiteral Shift 1164 FloatingPointLiteral Shift 1164 LongLiteral Shift 1164 IntegerLiteral Shift 1164 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 894 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1165 PreDecrementExpression Goto 1165 UnaryExpressionNotPlusMinus Goto 1165 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1174 PostDecrementExpression Goto 1173 PostfixExpression Goto 446 Literal Goto 1164 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1172 FieldAccess Goto 1171 PrimitiveType Goto 30 MethodInvocation Goto 1170 ArrayAccess Goto 1169 LambdaExpression Goto 1168 ReferenceExpression Goto 1167 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1164 ArrayCreationWithoutArrayInitializer Goto 1166 SwitchExpression Goto 1165 CastExpression Goto 1165 UnaryExpression Goto 1165 InclusiveOrExpression Goto 627 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 895 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 392 ---------------------------------------------------------------------- ( 181 ) InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName OR . ExclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 896 SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 897 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 898 UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression MINUS Shift 27 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 899 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1131 true Shift 1131 null Shift 1131 TextBlock Shift 1131 StringLiteral Shift 1131 CharacterLiteral Shift 1131 DoubleLiteral Shift 1131 FloatingPointLiteral Shift 1131 LongLiteral Shift 1131 IntegerLiteral Shift 1131 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1132 MultiplicativeExpression Goto 54 SwitchExpression Goto 1132 PostfixExpression Goto 446 CastExpression Goto 1132 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1141 BooleanLiteral Goto 1131 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 900 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1131 ClassInstanceCreationExpression Goto 1140 FieldAccess Goto 1139 MethodInvocation Goto 1138 ArrayAccess Goto 1137 LambdaExpression Goto 1136 ReferenceExpression Goto 1135 PostIncrementExpression Goto 1134 PostDecrementExpression Goto 1133 PreIncrementExpression Goto 1132 PreDecrementExpression Goto 1132 UnaryExpressionNotPlusMinus Goto 1132 ExclusiveOrExpression Goto 628 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 393 ---------------------------------------------------------------------- ( 182 243 326 ) ConditionalExpression_NotName ::= Name QUESTION .Expression COLON ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 901 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 902 ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 903 MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 904 AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 905 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 906 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 629 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 394 ---------------------------------------------------------------------- ( 182 243 326 ) ConditionalOrExpression_NotName ::= Name OR_OR .ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 907 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 908 NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 909 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 910 ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1153 true Shift 1153 null Shift 1153 TextBlock Shift 1153 StringLiteral Shift 1153 CharacterLiteral Shift 1153 DoubleLiteral Shift 1153 FloatingPointLiteral Shift 1153 LongLiteral Shift 1153 IntegerLiteral Shift 1153 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 911 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1154 MultiplicativeExpression Goto 54 SwitchExpression Goto 1154 PostfixExpression Goto 446 CastExpression Goto 1154 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1163 BooleanLiteral Goto 1153 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1153 ClassInstanceCreationExpression Goto 1162 FieldAccess Goto 1161 MethodInvocation Goto 1160 ArrayAccess Goto 1159 LambdaExpression Goto 1158 ReferenceExpression Goto 1157 PostIncrementExpression Goto 1156 PostDecrementExpression Goto 1155 PreIncrementExpression Goto 1154 PreDecrementExpression Goto 1154 UnaryExpressionNotPlusMinus Goto 1154 ConditionalAndExpression Goto 630 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 912 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 395 ---------------------------------------------------------------------- ( 182 243 326 ) ConditionalAndExpression_NotName ::= Name AND_AND .InclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 913 Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 914 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 915 UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 916 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1164 true Shift 1164 null Shift 1164 TextBlock Shift 1164 StringLiteral Shift 1164 CharacterLiteral Shift 1164 DoubleLiteral Shift 1164 FloatingPointLiteral Shift 1164 LongLiteral Shift 1164 IntegerLiteral Shift 1164 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1165 PreDecrementExpression Goto 1165 UnaryExpressionNotPlusMinus Goto 1165 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1174 PostDecrementExpression Goto 1173 PostfixExpression Goto 446 Literal Goto 1164 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1172 FieldAccess Goto 1171 PrimitiveType Goto 30 MethodInvocation Goto 1170 ArrayAccess Goto 1169 LambdaExpression Goto 1168 ReferenceExpression Goto 1167 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 917 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1164 ArrayCreationWithoutArrayInitializer Goto 1166 SwitchExpression Goto 1165 CastExpression Goto 1165 UnaryExpression Goto 1165 InclusiveOrExpression Goto 631 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 396 ---------------------------------------------------------------------- ( 182 243 326 ) InclusiveOrExpression_NotName ::= Name OR .ExclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 918 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 919 ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 920 LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 921 ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1131 true Shift 1131 null Shift 1131 TextBlock Shift 1131 StringLiteral Shift 1131 CharacterLiteral Shift 1131 DoubleLiteral Shift 1131 FloatingPointLiteral Shift 1131 LongLiteral Shift 1131 IntegerLiteral Shift 1131 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1132 MultiplicativeExpression Goto 54 SwitchExpression Goto 1132 PostfixExpression Goto 446 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 922 CastExpression Goto 1132 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1141 BooleanLiteral Goto 1131 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1131 ClassInstanceCreationExpression Goto 1140 FieldAccess Goto 1139 MethodInvocation Goto 1138 ArrayAccess Goto 1137 LambdaExpression Goto 1136 ReferenceExpression Goto 1135 PostIncrementExpression Goto 1134 PostDecrementExpression Goto 1133 PreIncrementExpression Goto 1132 PreDecrementExpression Goto 1132 UnaryExpressionNotPlusMinus Goto 1132 ExclusiveOrExpression Goto 632 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 397 ---------------------------------------------------------------------- ( 182 243 326 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 923 ExclusiveOrExpression_NotName ::= Name XOR .AndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 924 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 925 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 926 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1142 true Shift 1142 null Shift 1142 TextBlock Shift 1142 StringLiteral Shift 1142 CharacterLiteral Shift 1142 DoubleLiteral Shift 1142 FloatingPointLiteral Shift 1142 LongLiteral Shift 1142 IntegerLiteral Shift 1142 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 927 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1143 PreDecrementExpression Goto 1143 UnaryExpressionNotPlusMinus Goto 1143 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1152 PostDecrementExpression Goto 1151 PostfixExpression Goto 446 Literal Goto 1142 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1150 FieldAccess Goto 1149 PrimitiveType Goto 30 MethodInvocation Goto 1148 ArrayAccess Goto 1147 LambdaExpression Goto 1146 ReferenceExpression Goto 1145 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1142 ArrayCreationWithoutArrayInitializer Goto 1144 SwitchExpression Goto 1143 CastExpression Goto 1143 UnaryExpression Goto 1143 AndExpression Goto 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 928 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 398 ---------------------------------------------------------------------- ( 182 243 326 ) AndExpression_NotName ::= Name AND .EqualityExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 929 SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 930 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 931 UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 932 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1109 true Shift 1109 null Shift 1109 TextBlock Shift 1109 StringLiteral Shift 1109 CharacterLiteral Shift 1109 DoubleLiteral Shift 1109 FloatingPointLiteral Shift 1109 LongLiteral Shift 1109 IntegerLiteral Shift 1109 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1110 MultiplicativeExpression Goto 54 SwitchExpression Goto 1110 PostfixExpression Goto 446 CastExpression Goto 1110 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1119 BooleanLiteral Goto 1109 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 933 PrimitiveType Goto 30 Literal Goto 1109 ClassInstanceCreationExpression Goto 1118 FieldAccess Goto 1117 MethodInvocation Goto 1116 ArrayAccess Goto 1115 LambdaExpression Goto 1114 ReferenceExpression Goto 1113 PostIncrementExpression Goto 1112 PostDecrementExpression Goto 1111 PreIncrementExpression Goto 1110 PreDecrementExpression Goto 1110 UnaryExpressionNotPlusMinus Goto 1110 EqualityExpression Goto 634 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 399 ---------------------------------------------------------------------- ( 182 243 326 ) EqualityExpression_NotName ::= Name NOT_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 934 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 935 LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 936 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 937 RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1120 true Shift 1120 null Shift 1120 TextBlock Shift 1120 StringLiteral Shift 1120 CharacterLiteral Shift 1120 DoubleLiteral Shift 1120 FloatingPointLiteral Shift 1120 LongLiteral Shift 1120 IntegerLiteral Shift 1120 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1121 PreDecrementExpression Goto 1121 UnaryExpressionNotPlusMinus Goto 1121 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1130 PostDecrementExpression Goto 1129 PostfixExpression Goto 446 Literal Goto 1120 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1128 FieldAccess Goto 1127 PrimitiveType Goto 30 MethodInvocation Goto 1126 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 938 ArrayAccess Goto 1125 LambdaExpression Goto 1124 ReferenceExpression Goto 1123 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1120 ArrayCreationWithoutArrayInitializer Goto 1122 SwitchExpression Goto 1121 CastExpression Goto 1121 UnaryExpression Goto 1121 InstanceofExpression Goto 635 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 400 ---------------------------------------------------------------------- ( 182 243 326 ) EqualityExpression_NotName ::= Name EQUAL_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 939 Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 940 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 941 MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 942 MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1120 true Shift 1120 null Shift 1120 TextBlock Shift 1120 StringLiteral Shift 1120 CharacterLiteral Shift 1120 DoubleLiteral Shift 1120 FloatingPointLiteral Shift 1120 LongLiteral Shift 1120 IntegerLiteral Shift 1120 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1121 PreDecrementExpression Goto 1121 UnaryExpressionNotPlusMinus Goto 1121 Primary Goto 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 943 Name Goto 41 PostIncrementExpression Goto 1130 PostDecrementExpression Goto 1129 PostfixExpression Goto 446 Literal Goto 1120 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1128 FieldAccess Goto 1127 PrimitiveType Goto 30 MethodInvocation Goto 1126 ArrayAccess Goto 1125 LambdaExpression Goto 1124 ReferenceExpression Goto 1123 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1120 ArrayCreationWithoutArrayInitializer Goto 1122 SwitchExpression Goto 1121 CastExpression Goto 1121 UnaryExpression Goto 1121 InstanceofExpression Goto 636 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 401 ---------------------------------------------------------------------- ( 182 243 326 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 944 RelationalExpression_NotName ::= Name GREATER_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 945 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 946 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 947 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 948 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 637 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 402 ---------------------------------------------------------------------- ( 182 243 326 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 949 RelationalExpression_NotName ::= Name LESS_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 950 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 951 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 952 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 953 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 638 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 403 ---------------------------------------------------------------------- ( 182 243 326 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 954 RelationalExpression_NotName ::= Name GREATER .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 955 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 956 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 957 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 958 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 639 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 404 ---------------------------------------------------------------------- ( 182 326 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 959 RelationalExpression_NotName ::= Name LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 960 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 961 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 962 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 963 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 30 MethodInvocation Goto 1104 ArrayAccess Goto 1103 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 640 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 405 ---------------------------------------------------------------------- ( 182 243 326 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 964 ShiftExpression_NotName ::= Name UNSIGNED_RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 965 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 966 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 967 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1077 true Shift 1077 null Shift 1077 TextBlock Shift 1077 StringLiteral Shift 1077 CharacterLiteral Shift 1077 DoubleLiteral Shift 1077 FloatingPointLiteral Shift 1077 LongLiteral Shift 1077 IntegerLiteral Shift 1077 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 UnaryExpression Goto 1078 MultiplicativeExpression Goto 54 SwitchExpression Goto 1078 PostfixExpression Goto 446 CastExpression Goto 1078 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1087 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 968 BooleanLiteral Goto 1077 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1077 ClassInstanceCreationExpression Goto 1086 FieldAccess Goto 1085 MethodInvocation Goto 1084 ArrayAccess Goto 1083 LambdaExpression Goto 1082 ReferenceExpression Goto 1081 PostIncrementExpression Goto 1080 PostDecrementExpression Goto 1079 PreIncrementExpression Goto 1078 PreDecrementExpression Goto 1078 UnaryExpressionNotPlusMinus Goto 1078 AdditiveExpression Goto 641 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 406 ---------------------------------------------------------------------- ( 182 243 326 ) ShiftExpression_NotName ::= Name RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 969 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 970 PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 971 DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 972 CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1077 true Shift 1077 null Shift 1077 TextBlock Shift 1077 StringLiteral Shift 1077 CharacterLiteral Shift 1077 DoubleLiteral Shift 1077 FloatingPointLiteral Shift 1077 LongLiteral Shift 1077 IntegerLiteral Shift 1077 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 UnaryExpression Goto 1078 MultiplicativeExpression Goto 54 SwitchExpression Goto 1078 PostfixExpression Goto 446 CastExpression Goto 1078 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1087 BooleanLiteral Goto 1077 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 973 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1077 ClassInstanceCreationExpression Goto 1086 FieldAccess Goto 1085 MethodInvocation Goto 1084 ArrayAccess Goto 1083 LambdaExpression Goto 1082 ReferenceExpression Goto 1081 PostIncrementExpression Goto 1080 PostDecrementExpression Goto 1079 PreIncrementExpression Goto 1078 PreDecrementExpression Goto 1078 UnaryExpressionNotPlusMinus Goto 1078 AdditiveExpression Goto 642 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 407 ---------------------------------------------------------------------- ( 182 243 326 ) ShiftExpression_NotName ::= Name LEFT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 974 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 975 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 976 MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 977 MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1077 true Shift 1077 null Shift 1077 TextBlock Shift 1077 StringLiteral Shift 1077 CharacterLiteral Shift 1077 DoubleLiteral Shift 1077 FloatingPointLiteral Shift 1077 LongLiteral Shift 1077 IntegerLiteral Shift 1077 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 UnaryExpression Goto 1078 MultiplicativeExpression Goto 54 SwitchExpression Goto 1078 PostfixExpression Goto 446 CastExpression Goto 1078 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1087 BooleanLiteral Goto 1077 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 978 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1077 ClassInstanceCreationExpression Goto 1086 FieldAccess Goto 1085 MethodInvocation Goto 1084 ArrayAccess Goto 1083 LambdaExpression Goto 1082 ReferenceExpression Goto 1081 PostIncrementExpression Goto 1080 PostDecrementExpression Goto 1079 PreIncrementExpression Goto 1078 PreDecrementExpression Goto 1078 UnaryExpressionNotPlusMinus Goto 1078 AdditiveExpression Goto 643 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 408 ---------------------------------------------------------------------- ( 182 243 326 ) AdditiveExpression_NotName ::= Name MINUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 979 BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 980 NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 981 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 982 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1088 true Shift 1088 null Shift 1088 TextBlock Shift 1088 StringLiteral Shift 1088 CharacterLiteral Shift 1088 DoubleLiteral Shift 1088 FloatingPointLiteral Shift 1088 LongLiteral Shift 1088 IntegerLiteral Shift 1088 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 PreIncrementExpression Goto 644 PreDecrementExpression Goto 644 UnaryExpressionNotPlusMinus Goto 644 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PostfixExpression Goto 446 Literal Goto 1088 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1095 FieldAccess Goto 1094 PrimitiveType Goto 30 MethodInvocation Goto 1093 ArrayAccess Goto 1092 LambdaExpression Goto 1091 ReferenceExpression Goto 1090 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 983 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1088 ArrayCreationWithoutArrayInitializer Goto 1089 SwitchExpression Goto 644 CastExpression Goto 644 UnaryExpression Goto 644 MultiplicativeExpression Goto 644 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 409 ---------------------------------------------------------------------- ( 182 243 326 ) AdditiveExpression_NotName ::= Name PLUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 984 TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 985 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 986 PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1088 true Shift 1088 null Shift 1088 TextBlock Shift 1088 StringLiteral Shift 1088 CharacterLiteral Shift 1088 DoubleLiteral Shift 1088 FloatingPointLiteral Shift 1088 LongLiteral Shift 1088 IntegerLiteral Shift 1088 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 987 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 PreIncrementExpression Goto 645 PreDecrementExpression Goto 645 UnaryExpressionNotPlusMinus Goto 645 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PostfixExpression Goto 446 Literal Goto 1088 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1095 FieldAccess Goto 1094 PrimitiveType Goto 30 MethodInvocation Goto 1093 ArrayAccess Goto 1092 LambdaExpression Goto 1091 ReferenceExpression Goto 1090 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1088 ArrayCreationWithoutArrayInitializer Goto 1089 SwitchExpression Goto 645 CastExpression Goto 645 UnaryExpression Goto 645 MultiplicativeExpression Goto 645 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 988 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 410 ---------------------------------------------------------------------- ( 182 243 326 ) MultiplicativeExpression_NotName ::= Name REMAINDER .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 989 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 990 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 991 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 846 PostfixExpression Goto 446 CastExpression Gt/Rd 846 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 992 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 846 PreDecrementExpression Gt/Rd 846 UnaryExpressionNotPlusMinus Gt/Rd 846 UnaryExpression Gt/Rd 846 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 411 ---------------------------------------------------------------------- ( 182 243 326 ) MultiplicativeExpression_NotName ::= Name DIVIDE .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 993 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 994 ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 995 MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 996 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 844 PostfixExpression Goto 446 CastExpression Gt/Rd 844 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 997 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 844 PreDecrementExpression Gt/Rd 844 UnaryExpressionNotPlusMinus Gt/Rd 844 UnaryExpression Gt/Rd 844 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 412 ---------------------------------------------------------------------- ( 182 243 326 ) MultiplicativeExpression_NotName ::= Name MULTIPLY .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 998 TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 999 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1000 PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1001 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 842 PostfixExpression Goto 446 CastExpression Gt/Rd 842 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 842 PreDecrementExpression Gt/Rd 842 UnaryExpressionNotPlusMinus Gt/Rd 842 UnaryExpression Gt/Rd 842 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1002 STATE 413 ---------------------------------------------------------------------- ( 183 ) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION . Expression COLON ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1003 PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1004 OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1005 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1006 Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1007 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 646 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 414 ---------------------------------------------------------------------- ( 183 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1008 ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName OR_OR . ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1009 PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1010 ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1011 PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1153 true Shift 1153 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1012 null Shift 1153 TextBlock Shift 1153 StringLiteral Shift 1153 CharacterLiteral Shift 1153 DoubleLiteral Shift 1153 FloatingPointLiteral Shift 1153 LongLiteral Shift 1153 IntegerLiteral Shift 1153 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1154 MultiplicativeExpression Goto 54 SwitchExpression Goto 1154 PostfixExpression Goto 446 CastExpression Goto 1154 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1163 BooleanLiteral Goto 1153 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1153 ClassInstanceCreationExpression Goto 1162 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1013 FieldAccess Goto 1161 MethodInvocation Goto 1160 ArrayAccess Goto 1159 LambdaExpression Goto 1158 ReferenceExpression Goto 1157 PostIncrementExpression Goto 1156 PostDecrementExpression Goto 1155 PreIncrementExpression Goto 1154 PreDecrementExpression Goto 1154 UnaryExpressionNotPlusMinus Goto 1154 ConditionalAndExpression Goto 647 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 415 ---------------------------------------------------------------------- ( 184 ) FieldDeclaration ::= Modifiersopt Type .VariableDeclarators SEMICOLON VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Goto 583 VariableDeclarator Goto 601 VariableDeclarators Goto 601 STATE 416 ---------------------------------------------------------------------- ( 186 ) CatchHeader ::= catch LPAREN .CatchFormalParameter RPAREN LBRACE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1014 Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation CatchFormalParameter ::= .Modifiersopt CatchType VariableDeclaratorId Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1015 Modifiersopt Goto 649 CatchFormalParameter Goto 648 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 417 ---------------------------------------------------------------------- ( 188 ) EnumConstantHeader ::= EnumConstantHeaderName ForceNoDiet .Argumentsopt RestoreDiet Arguments ::= .LPAREN ArgumentListopt RPAREN Argumentsopt ::= . (757) LPAREN Shift 651 Arguments Goto 650 Argumentsopt Goto 650 abstract Reduce 757 final Reduce 757 native Reduce 757 non-sealed Reduce 757 private Reduce 757 protected Reduce 757 public Reduce 757 static Reduce 757 strictfp Reduce 757 synchronized Reduce 757 transient Reduce 757 volatile Reduce 757 LBRACE Reduce 757 RBRACE Reduce 757 SEMICOLON Reduce 757 COMMA Reduce 757 AT Reduce 757 RestrictedIdentifiersealed Reduce 757 $eof Reduce 757 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1016 Default reduction to rule 757 STATE 418 ---------------------------------------------------------------------- ( 189 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 268 MethodHeaderRightParen Goto 652 STATE 419 ---------------------------------------------------------------------- ( 190 ) RecoveryMethodHeaderName ::= ModifiersWithDefault Type .Identifier LPAREN Identifier Shift 653 STATE 420 ---------------------------------------------------------------------- ( 190 ) RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1017 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 654 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 654 Type Goto 654 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1018 void Reduce 79 Default reduction to rule 79 STATE 421 ---------------------------------------------------------------------- ( 191 ) ArrayCreationHeader ::= new PrimitiveType .DimWithOrWithOutExprs TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExprs ::= .DimWithOrWithOutExpr DimWithOrWithOutExprs ::= .DimWithOrWithOutExprs DimWithOrWithOutExpr DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 38 TypeAnnotationsopt Goto 478 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 478 DimWithOrWithOutExpr Gt/Rd 596 DimWithOrWithOutExprs Goto 655 LBRACKET Reduce 79 Default reduction to rule 79 STATE 422 ---------------------------------------------------------------------- ( 191 ) AllocationHeader ::= new ClassType .LPAREN ArgumentListopt RPAREN LPAREN Shift 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1019 STATE 423 ---------------------------------------------------------------------- ( 191 ) ClassType ::= ClassOrInterfaceType . (70) ArrayCreationHeader ::= new ClassOrInterfaceType .DimWithOrWithOutExprs TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExprs ::= .DimWithOrWithOutExpr DimWithOrWithOutExprs ::= .DimWithOrWithOutExprs DimWithOrWithOutExpr DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 38 TypeAnnotationsopt Goto 478 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 478 DimWithOrWithOutExpr Gt/Rd 596 DimWithOrWithOutExprs Goto 657 LPAREN Reduce 70 LBRACKET Reduce 79 Default reduction to rule 70 STATE 424 ---------------------------------------------------------------------- ( 192 ) RecoveryMethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1020 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 658 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1021 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 658 Type Goto 658 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 425 ---------------------------------------------------------------------- ( 192 204 ) FieldDeclaration ::= Modifiersopt Type .VariableDeclarators SEMICOLON RecoveryMethodHeaderName ::= Modifiersopt Type .Identifier LPAREN VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 659 VariableDeclaratorId Goto 583 VariableDeclarator Goto 601 VariableDeclarators Goto 601 STATE 426 ---------------------------------------------------------------------- ( 192 204 443 ) ModuleHeader ::= Modifiersopt ModuleModifieropt .module UnannotatableName module Shift 660 STATE 427 ---------------------------------------------------------------------- ( 192 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1022 SimpleName ::= Identifier . (74) EnumConstantHeaderName ::= Modifiersopt Identifier . (752) abstract Reduce 752 final Reduce 752 native Reduce 752 non-sealed Reduce 752 private Reduce 752 protected Reduce 752 public Reduce 752 static Reduce 752 strictfp Reduce 752 synchronized Reduce 752 transient Reduce 752 volatile Reduce 752 LPAREN Reduce 752 AT Reduce 752 RestrictedIdentifiersealed Reduce 752 $eof Reduce 752 Identifier Reduce 71 LESS Reduce 71 LBRACKET Reduce 71 DOT Reduce 71 AT308 Reduce 71 UNDERSCORE Reduce 71 Default reduction to rule 752 STATE 428 ---------------------------------------------------------------------- ( 194 ) SingleRequiresModuleName ::= requires RequiresModifiersopt .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 661 SimpleName Goto 661 UnannotatableName Goto 661 STATE 429 ---------------------------------------------------------------------- ( 194 ) RequiresModifiersopt ::= RequiresModifiers . (124) RequiresModifiers ::= RequiresModifiers .RequiresModifier static Sh/Rd 127 transitive Sh/Rd 127 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1023 RequiresModifier Gt/Rd 127 Identifier Reduce 124 Default reduction to rule 124 STATE 430 ---------------------------------------------------------------------- ( 195 ) ExportsStatement ::= ExportsHeader TargetModuleListopt .SEMICOLON SEMICOLON Sh/Rd 130 STATE 431 ---------------------------------------------------------------------- ( 195 201 ) TargetModuleListopt ::= to .TargetModuleNameList SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName TargetModuleName ::= .UnannotatableName TargetModuleNameList ::= .TargetModuleNameList COMMA TargetModuleName Identifier Shift 1197 UnannotatableName Goto 663 SimpleName Goto 1197 TargetModuleName Goto 662 TargetModuleNameList Goto 662 STATE 432 ---------------------------------------------------------------------- ( 196 202 ) UnannotatableName ::= UnannotatableName .DOT SimpleName SinglePkgName ::= UnannotatableName . (137) DOT Shift 458 to Reduce 137 SEMICOLON Reduce 137 Default reduction to rule 137 STATE 433 ---------------------------------------------------------------------- ( 198 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1024 QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName UsesHeader ::= uses Name . (141) DOT Shift 278 SEMICOLON Reduce 141 Default reduction to rule 141 STATE 434 ---------------------------------------------------------------------- ( 199 ) ProvidesStatement ::= ProvidesInterface WithClause .SEMICOLON SEMICOLON Sh/Rd 142 STATE 435 ---------------------------------------------------------------------- ( 199 ) WithClause ::= with .ServiceImplNameList Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ServiceImplName ::= .Name ServiceImplNameList ::= .ServiceImplNameList COMMA ServiceImplName AT308 Shift 38 Identifier Shift 1004 Name Goto 665 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1025 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1198 ServiceImplName Goto 664 ServiceImplNameList Goto 664 STATE 436 ---------------------------------------------------------------------- ( 200 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName ProvidesInterface ::= provides Name . (143) DOT Shift 278 with Reduce 143 Default reduction to rule 143 STATE 437 ---------------------------------------------------------------------- ( 201 ) OpensStatement ::= OpensHeader TargetModuleListopt .SEMICOLON SEMICOLON Sh/Rd 138 STATE 438 ---------------------------------------------------------------------- ( 204 ) ConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier LPAREN RecoveryMethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1026 ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Identifier Shift 604 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 658 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 658 Type Goto 658 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1027 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 439 ---------------------------------------------------------------------- ( 205 ) Initializer ::= Diet NestedMethod .CreateInitializer Block CreateInitializer ::= . (232) CreateInitializer Goto 666 LBRACE Reduce 232 Default reduction to rule 232 STATE 440 ---------------------------------------------------------------------- ( 206 ) MethodBody ::= NestedMethod LBRACE .BlockStatementsopt RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1028 ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1029 ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1030 StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1031 PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1032 ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1033 BlockStatementsopt ::= . (712) BlockStatementsopt ::= .BlockStatements EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RestrictedIdentifierYield Shift 79 try Shift 95 throw Shift 96 return Shift 98 continue Shift 99 break Shift 100 do Shift 101 switch Shift 102 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 BeginLambda Shift 31 UNDERSCORE Shift 32 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1034 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 super Shift 110 this Shift 112 LESS Shift 75 SEMICOLON Sh/Rd 428 assert Shift 115 if Shift 117 while Shift 118 for Shift 120 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 123 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 AT Shift 124 AT308 Shift 38 Identifier Shift 127 BlockStatement Gt/Rd 383 BlockStatements Goto 132 LocalVariableDeclaration Goto 131 PrimitiveType Goto 130 ReferenceType Goto 122 ClassOrInterface Goto 71 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1016 Name Goto 128 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1035 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 34 Modifier Goto 1008 Modifiers Goto 125 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Type Goto 122 StatementWithoutTrailingSubstatement Goto 1017 LabeledStatement Goto 1017 IfThenStatement Goto 1017 IfThenElseStatement Goto 1017 WhileStatement Goto 1017 ForStatement Goto 1017 EnhancedForStatement Goto 1017 EnhancedForStatementHeaderInit Goto 121 EnhancedForStatementHeader Goto 119 Label Goto 116 OpenBlock Goto 114 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OnlyTypeArguments Goto 111 Primary Goto 109 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1015 BooleanLiteral Goto 1009 ClassInstanceCreationExpressionName Goto 43 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 Literal Goto 1009 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 106 FieldAccess Goto 1014 MethodInvocation Goto 105 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 OnlySynchronized Goto 97 AssertStatement Goto 1017 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1036 Block Goto 1017 EmptyStatement Goto 1017 ExpressionStatement Goto 1017 SwitchStatement Goto 1017 DoStatement Goto 1017 BreakStatement Goto 1017 ContinueStatement Goto 1017 ReturnStatement Goto 1017 SynchronizedStatement Goto 1017 ThrowStatement Goto 1017 TryStatement Goto 1017 TryStatementWithResources Goto 1017 YieldStatement Goto 1017 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiersopt Goto 92 ClassHeaderName Goto 91 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 EnumHeader Goto 82 EnumHeaderName Goto 81 LocalVariableDeclarationStatement Goto 1017 Statement Goto 1017 ClassDeclaration Goto 1017 RecordDeclaration Goto 1017 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 EnumDeclaration Gt/Rd 394 BlockStatementsopt Goto 667 RBRACE Reduce 712 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1037 Default reduction to rule 79 STATE 441 ---------------------------------------------------------------------- ( 207 ) InternalCompilationUnit ::= PackageDeclaration . (97) InternalCompilationUnit ::= PackageDeclaration .ImportDeclarations ReduceImports InternalCompilationUnit ::= PackageDeclaration .ImportDeclarations ReduceImports TypeDeclarations InternalCompilationUnit ::= PackageDeclaration .TypeDeclarations ImportDeclarations ::= .ImportDeclarations ImportDeclaration TypeDeclarations ::= .TypeDeclarations TypeDeclaration SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1038 RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN import Shift 161 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 1008 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1039 public Shift 1008 AT Shift 124 SEMICOLON Sh/Rd 191 ClassDeclaration Goto 669 InterfaceDeclaration Goto 669 EnumDeclaration Goto 669 AnnotationTypeDeclaration Goto 669 RecordDeclaration Goto 669 RecordHeaderName Goto 88 Modifiersopt Goto 92 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 84 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 ClassHeaderName Goto 91 Modifier Goto 1008 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 ClassHeaderName1 Goto 93 ClassHeader Goto 94 TypeDeclaration Goto 669 TypeDeclarations Goto 669 SingleTypeImportDeclaration Goto 668 TypeImportOnDemandDeclaration Goto 668 SingleStaticImportDeclaration Goto 668 StaticImportOnDemandDeclaration Goto 668 StaticImportOnDemandDeclarationName Goto 158 SingleStaticImportDeclarationName Goto 159 TypeImportOnDemandDeclarationName Goto 160 SingleTypeImportDeclarationName Goto 162 ImportDeclaration Goto 668 ImportDeclarations Goto 668 $eof Reduce 97 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 442 ---------------------------------------------------------------------- ( 207 442 673 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1040 ImplicitlyDeclaredClassBodyDeclarations ::= ClassMemberDeclaration . (227) ImplicitlyDeclaredClassBodyDeclarations ::= ClassMemberDeclaration . ImplicitlyDeclaredClassBodyDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ImplicitlyDeclaredClassBodyDeclarations ::= .ClassMemberDeclaration ImplicitlyDeclaredClassBodyDeclarations ::= .ClassMemberDeclaration ImplicitlyDeclaredClassBodyDeclarations ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1041 Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1042 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 FieldDeclaration Goto 1205 MethodDeclaration Goto 1199 ClassDeclaration Goto 1204 InterfaceDeclaration Goto 1203 EnumDeclaration Goto 1202 AnnotationTypeDeclaration Goto 1201 RecordDeclaration Goto 1200 RecordHeaderName Goto 88 Modifiersopt Goto 670 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 84 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 ClassHeaderName Goto 91 ClassHeaderName1 Goto 93 ClassHeader Goto 94 MethodHeader Goto 144 MethodHeaderName Goto 143 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 AbstractMethodDeclaration Goto 1199 DefaultMethodHeader Goto 140 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 ClassMemberDeclaration Goto 442 ImplicitlyDeclaredClassBodyDeclarations Gt/Rd 228 $eof Reduce 227 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1043 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 443 ---------------------------------------------------------------------- ( 207 673 ) ModuleHeader ::= Modifiersopt .ModuleModifieropt module UnannotatableName ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON MethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .Type Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default Modifiersopt InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1044 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ModuleModifieropt ::= . (109) ModuleModifieropt ::= .ModuleModifier ModuleModifier ::= .open TypeParameters ::= .LESS TypeParameterList1 enum Shift 309 RestrictedIdentifierrecord Shift 310 interface Shift 311 default Shift 355 class Shift 312 open Shift 1046 Identifier Shift 1004 AT308 Shift 38 LESS Shift 303 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 357 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 357 ModuleModifier Gt/Rd 110 ModuleModifieropt Goto 426 Type Goto 357 TypeParameters Goto 671 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1045 module Reduce 109 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 444 ---------------------------------------------------------------------- ( 207 673 ) ModuleDeclaration ::= ModuleHeader .ModuleBody ModuleBody ::= .LBRACE ModuleStatementsOpt RBRACE LBRACE Shift 672 ModuleBody Gt/Rd 105 STATE 445 ---------------------------------------------------------------------- ( 207 ) InternalCompilationUnit ::= ImportDeclarations .ReduceImports InternalCompilationUnit ::= ImportDeclarations .ReduceImports ModuleDeclaration InternalCompilationUnit ::= ImportDeclarations .ReduceImports ImplicitlyDeclaredClassBodyDeclarations ImportDeclarations ::= ImportDeclarations .ImportDeclaration ReduceImports ::= . (148) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY import Shift 161 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1046 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Gt/Rd 174 TypeImportOnDemandDeclaration Gt/Rd 174 SingleStaticImportDeclaration Gt/Rd 174 StaticImportOnDemandDeclaration Gt/Rd 174 ReduceImports Goto 673 ImportDeclaration Gt/Rd 174 Identifier Reduce 148 abstract Reduce 148 boolean Reduce 148 byte Reduce 148 char Reduce 148 class Reduce 148 default Reduce 148 double Reduce 148 enum Reduce 148 final Reduce 148 float Reduce 148 int Reduce 148 interface Reduce 148 long Reduce 148 native Reduce 148 non-sealed Reduce 148 private Reduce 148 protected Reduce 148 public Reduce 148 short Reduce 148 static Reduce 148 strictfp Reduce 148 synchronized Reduce 148 transient Reduce 148 void Reduce 148 volatile Reduce 148 module Reduce 148 open Reduce 148 LESS Reduce 148 SEMICOLON Reduce 148 AT Reduce 148 AT308 Reduce 148 RestrictedIdentifierrecord Reduce 148 RestrictedIdentifiersealed Reduce 148 $eof Reduce 148 Default reduction to rule 148 STATE 446 ---------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1047 262 263 264 265 267 268 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 414 490 701 705 784 785 818 877 880 922 969 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS UnaryExpressionNotPlusMinus ::= PostfixExpression . (633) MINUS_MINUS Sh/Rd 624 PLUS_PLUS Sh/Rd 623 abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 volatile Reduce 633 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1048 AT Reduce 633 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 447 ---------------------------------------------------------------------- ( 210 ) SwitchExpression ::= switch LPAREN Expression .RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock RPAREN Shift 674 STATE 448 ---------------------------------------------------------------------- ( 212 346 486 ) ReferenceExpression ::= PrimitiveType Dims COLON_COLON . NonWildTypeArgumentsopt IdentifierOrNew NonWildTypeArgumentsopt ::= . (554) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 75 OnlyTypeArguments Goto 675 NonWildTypeArgumentsopt Goto 675 Identifier Reduce 554 new Reduce 554 Default reduction to rule 554 STATE 449 ---------------------------------------------------------------------- ( 212 346 486 ) PrimaryNoNewArray ::= PrimitiveType Dims DOT .class class Sh/Rd 539 STATE 450 ---------------------------------------------------------------------- ( 213 ) OneDimLoop ::= TypeAnnotations LBRACKET .RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1049 RBRACKET Sh/Rd 604 STATE 451 ---------------------------------------------------------------------- ( 217 ) LambdaBody ::= ElidedLeftBraceAndReturn .Expression ElidedSemicolonAndRightBrace Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1050 PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1051 ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1052 PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1053 AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1054 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 676 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 452 ---------------------------------------------------------------------- ( 218 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1055 MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 677 STATE 453 ---------------------------------------------------------------------- ( 218 ) FieldAccess ::= QualifiedSuperReceiver DOT Identifier . (607) MethodInvocation ::= QualifiedSuperReceiver DOT Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 678 abstract Reduce 607 final Reduce 607 instanceof Reduce 607 native Reduce 607 non-sealed Reduce 607 private Reduce 607 protected Reduce 607 public Reduce 607 static Reduce 607 strictfp Reduce 607 synchronized Reduce 607 transient Reduce 607 volatile Reduce 607 PLUS_PLUS Reduce 607 MINUS_MINUS Reduce 607 EQUAL_EQUAL Reduce 607 LESS_EQUAL Reduce 607 GREATER_EQUAL Reduce 607 NOT_EQUAL Reduce 607 LEFT_SHIFT Reduce 607 RIGHT_SHIFT Reduce 607 UNSIGNED_RIGHT_SHIFT Reduce 607 PLUS_EQUAL Reduce 607 MINUS_EQUAL Reduce 607 MULTIPLY_EQUAL Reduce 607 DIVIDE_EQUAL Reduce 607 AND_EQUAL Reduce 607 OR_EQUAL Reduce 607 XOR_EQUAL Reduce 607 REMAINDER_EQUAL Reduce 607 LEFT_SHIFT_EQUAL Reduce 607 RIGHT_SHIFT_EQUAL Reduce 607 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 607 OR_OR Reduce 607 AND_AND Reduce 607 PLUS Reduce 607 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1056 MINUS Reduce 607 REMAINDER Reduce 607 XOR Reduce 607 AND Reduce 607 MULTIPLY Reduce 607 OR Reduce 607 DIVIDE Reduce 607 GREATER Reduce 607 LESS Reduce 607 RPAREN Reduce 607 RBRACE Reduce 607 LBRACKET Reduce 607 RBRACKET Reduce 607 SEMICOLON Reduce 607 QUESTION Reduce 607 COLON Reduce 607 COMMA Reduce 607 DOT Reduce 607 EQUAL Reduce 607 AT Reduce 607 COLON_COLON Reduce 607 ElidedSemicolonAndRightBrace Reduce 607 BeginCaseExpr Reduce 607 RestrictedIdentifiersealed Reduce 607 $eof Reduce 607 Default reduction to rule 607 STATE 454 ---------------------------------------------------------------------- ( 219 ) ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt .Identifier Identifier Sh/Rd 552 STATE 455 ---------------------------------------------------------------------- ( 220 ) MethodInvocation ::= super DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 679 STATE 456 ---------------------------------------------------------------------- ( 220 ) FieldAccess ::= super DOT Identifier . (606) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1057 MethodInvocation ::= super DOT Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 680 abstract Reduce 606 final Reduce 606 instanceof Reduce 606 native Reduce 606 non-sealed Reduce 606 private Reduce 606 protected Reduce 606 public Reduce 606 static Reduce 606 strictfp Reduce 606 synchronized Reduce 606 transient Reduce 606 volatile Reduce 606 PLUS_PLUS Reduce 606 MINUS_MINUS Reduce 606 EQUAL_EQUAL Reduce 606 LESS_EQUAL Reduce 606 GREATER_EQUAL Reduce 606 NOT_EQUAL Reduce 606 LEFT_SHIFT Reduce 606 RIGHT_SHIFT Reduce 606 UNSIGNED_RIGHT_SHIFT Reduce 606 PLUS_EQUAL Reduce 606 MINUS_EQUAL Reduce 606 MULTIPLY_EQUAL Reduce 606 DIVIDE_EQUAL Reduce 606 AND_EQUAL Reduce 606 OR_EQUAL Reduce 606 XOR_EQUAL Reduce 606 REMAINDER_EQUAL Reduce 606 LEFT_SHIFT_EQUAL Reduce 606 RIGHT_SHIFT_EQUAL Reduce 606 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 606 OR_OR Reduce 606 AND_AND Reduce 606 PLUS Reduce 606 MINUS Reduce 606 REMAINDER Reduce 606 XOR Reduce 606 AND Reduce 606 MULTIPLY Reduce 606 OR Reduce 606 DIVIDE Reduce 606 GREATER Reduce 606 LESS Reduce 606 RPAREN Reduce 606 RBRACE Reduce 606 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1058 LBRACKET Reduce 606 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 606 COLON Reduce 606 COMMA Reduce 606 DOT Reduce 606 EQUAL Reduce 606 AT Reduce 606 COLON_COLON Reduce 606 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 RestrictedIdentifiersealed Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 457 ---------------------------------------------------------------------- ( 221 ) ReferenceExpression ::= super COLON_COLON NonWildTypeArgumentsopt .Identifier Identifier Sh/Rd 553 STATE 458 ---------------------------------------------------------------------- ( 222 270 432 661 663 794 ) UnannotatableName ::= UnannotatableName DOT .SimpleName Identifier Sh/Rd 76 SimpleName Gt/Rd 76 STATE 459 ---------------------------------------------------------------------- ( 223 ) SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN RPAREN Sh/Rd 90 STATE 460 ---------------------------------------------------------------------- ( 223 ) NormalTypeAnnotation ::= TypeAnnotationName LPAREN MemberValuePairsopt .RPAREN RPAREN Sh/Rd 88 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1059 STATE 461 ---------------------------------------------------------------------- ( 223 271 ) MemberValuePairsopt ::= MemberValuePairs . (924) MemberValuePairs ::= MemberValuePairs .COMMA MemberValuePair COMMA Shift 681 RPAREN Reduce 924 Default reduction to rule 924 STATE 462 ---------------------------------------------------------------------- ( 223 271 ) Name ::= SimpleName . (71) MemberValuePair ::= SimpleName .EQUAL EnterMemberValue MemberValue ExitMemberValue EQUAL Shift 682 instanceof Reduce 71 PLUS_PLUS Reduce 71 MINUS_MINUS Reduce 71 EQUAL_EQUAL Reduce 71 LESS_EQUAL Reduce 71 GREATER_EQUAL Reduce 71 NOT_EQUAL Reduce 71 LEFT_SHIFT Reduce 71 RIGHT_SHIFT Reduce 71 UNSIGNED_RIGHT_SHIFT Reduce 71 OR_OR Reduce 71 AND_AND Reduce 71 PLUS Reduce 71 MINUS Reduce 71 REMAINDER Reduce 71 XOR Reduce 71 AND Reduce 71 MULTIPLY Reduce 71 OR Reduce 71 DIVIDE Reduce 71 GREATER Reduce 71 LESS Reduce 71 LPAREN Reduce 71 RPAREN Reduce 71 LBRACKET Reduce 71 QUESTION Reduce 71 DOT Reduce 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1060 COLON_COLON Reduce 71 BeginTypeArguments Reduce 71 AT308 Reduce 71 Default reduction to rule 71 STATE 463 ---------------------------------------------------------------------- ( 224 ) MethodInvocation ::= Name LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 608 STATE 464 ---------------------------------------------------------------------- ( 224 328 331 568 569 651 656 678 680 688 690 694 748 751 768 771 801 803 808 809 811 817 844 845 857 858 873 918 ) ArgumentList ::= ArgumentList .COMMA Expression ArgumentListopt ::= ArgumentList . (717) COMMA Shift 683 RPAREN Reduce 717 Default reduction to rule 717 STATE 465 ---------------------------------------------------------------------- ( 225 ) ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 684 STATE 466 ---------------------------------------------------------------------- ( 226 ) ReferenceExpression ::= Name Dimsopt COLON_COLON .NonWildTypeArgumentsopt IdentifierOrNew NonWildTypeArgumentsopt ::= . (554) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 75 OnlyTypeArguments Goto 685 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1061 NonWildTypeArgumentsopt Goto 685 Identifier Reduce 554 new Reduce 554 Default reduction to rule 554 STATE 467 ---------------------------------------------------------------------- ( 227 ) MethodInvocation ::= Name DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 686 STATE 468 ---------------------------------------------------------------------- ( 227 278 343 612 780 ) QualifiedName ::= Name DOT TypeAnnotations .SimpleName Identifier Sh/Rd 78 SimpleName Gt/Rd 78 STATE 469 ---------------------------------------------------------------------- ( 228 ) ArrayAccess ::= Name LBRACKET Expression .RBRACKET RBRACKET Sh/Rd 616 STATE 470 ---------------------------------------------------------------------- ( 229 344 489 ) PrimaryNoNewArray ::= Name Dims DOT .class class Sh/Rd 538 STATE 471 ---------------------------------------------------------------------- ( 230 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1062 EnterInstanceCreationArgumentList ::= . (580) EnterInstanceCreationArgumentList Goto 687 LPAREN Reduce 580 Default reduction to rule 580 STATE 472 ---------------------------------------------------------------------- ( 231 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 688 STATE 473 ---------------------------------------------------------------------- ( 232 ) MethodInvocation ::= Primary DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 689 STATE 474 ---------------------------------------------------------------------- ( 232 327 ) FieldAccess ::= Primary DOT Identifier . (605) MethodInvocation ::= Primary DOT Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 690 abstract Reduce 605 final Reduce 605 instanceof Reduce 605 native Reduce 605 non-sealed Reduce 605 private Reduce 605 protected Reduce 605 public Reduce 605 static Reduce 605 strictfp Reduce 605 synchronized Reduce 605 transient Reduce 605 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1063 volatile Reduce 605 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 605 LESS_EQUAL Reduce 605 GREATER_EQUAL Reduce 605 NOT_EQUAL Reduce 605 LEFT_SHIFT Reduce 605 RIGHT_SHIFT Reduce 605 UNSIGNED_RIGHT_SHIFT Reduce 605 PLUS_EQUAL Reduce 605 MINUS_EQUAL Reduce 605 MULTIPLY_EQUAL Reduce 605 DIVIDE_EQUAL Reduce 605 AND_EQUAL Reduce 605 OR_EQUAL Reduce 605 XOR_EQUAL Reduce 605 REMAINDER_EQUAL Reduce 605 LEFT_SHIFT_EQUAL Reduce 605 RIGHT_SHIFT_EQUAL Reduce 605 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 605 OR_OR Reduce 605 AND_AND Reduce 605 PLUS Reduce 605 MINUS Reduce 605 REMAINDER Reduce 605 XOR Reduce 605 AND Reduce 605 MULTIPLY Reduce 605 OR Reduce 605 DIVIDE Reduce 605 GREATER Reduce 605 LESS Reduce 605 RPAREN Reduce 605 RBRACE Reduce 605 LBRACKET Reduce 605 RBRACKET Reduce 605 SEMICOLON Reduce 605 QUESTION Reduce 605 COLON Reduce 605 COMMA Reduce 605 DOT Reduce 605 EQUAL Reduce 605 AT Reduce 605 COLON_COLON Reduce 605 ElidedSemicolonAndRightBrace Reduce 605 BeginCaseExpr Reduce 605 RestrictedIdentifiersealed Reduce 605 $eof Reduce 605 Default reduction to rule 605 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1064 STATE 475 ---------------------------------------------------------------------- ( 232 327 ) ClassInstanceCreationExpression ::= Primary DOT new .OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= Primary DOT new .ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 1004 AT308 Shift 38 LESS Shift 75 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1065 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 691 OnlyTypeArguments Goto 692 ClassType Goto 691 STATE 476 ---------------------------------------------------------------------- ( 233 ) ReferenceExpression ::= Primary COLON_COLON NonWildTypeArgumentsopt . Identifier Identifier Sh/Rd 551 STATE 477 ---------------------------------------------------------------------- ( 234 ) ArrayCreationWithoutArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs . (592) ArrayCreationWithArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs .ArrayInitializer DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET LBRACE Shift 133 AT308 Shift 38 TypeAnnotations Goto 478 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1066 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 478 ArrayInitializer Gt/Rd 593 DimWithOrWithOutExpr Gt/Rd 597 abstract Reduce 592 final Reduce 592 instanceof Reduce 592 native Reduce 592 non-sealed Reduce 592 private Reduce 592 protected Reduce 592 public Reduce 592 static Reduce 592 strictfp Reduce 592 synchronized Reduce 592 transient Reduce 592 volatile Reduce 592 PLUS_PLUS Reduce 592 MINUS_MINUS Reduce 592 EQUAL_EQUAL Reduce 592 LESS_EQUAL Reduce 592 GREATER_EQUAL Reduce 592 NOT_EQUAL Reduce 592 LEFT_SHIFT Reduce 592 RIGHT_SHIFT Reduce 592 UNSIGNED_RIGHT_SHIFT Reduce 592 PLUS_EQUAL Reduce 592 MINUS_EQUAL Reduce 592 MULTIPLY_EQUAL Reduce 592 DIVIDE_EQUAL Reduce 592 AND_EQUAL Reduce 592 OR_EQUAL Reduce 592 XOR_EQUAL Reduce 592 REMAINDER_EQUAL Reduce 592 LEFT_SHIFT_EQUAL Reduce 592 RIGHT_SHIFT_EQUAL Reduce 592 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 592 OR_OR Reduce 592 AND_AND Reduce 592 PLUS Reduce 592 MINUS Reduce 592 REMAINDER Reduce 592 XOR Reduce 592 AND Reduce 592 MULTIPLY Reduce 592 OR Reduce 592 DIVIDE Reduce 592 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1067 GREATER Reduce 592 LESS Reduce 592 RPAREN Reduce 592 RBRACE Reduce 592 RBRACKET Reduce 592 SEMICOLON Reduce 592 QUESTION Reduce 592 COLON Reduce 592 COMMA Reduce 592 DOT Reduce 592 EQUAL Reduce 592 AT Reduce 592 COLON_COLON Reduce 592 ElidedSemicolonAndRightBrace Reduce 592 BeginCaseExpr Reduce 592 RestrictedIdentifiersealed Reduce 592 $eof Reduce 592 LBRACKET Reduce 79 Default reduction to rule 592 STATE 478 ---------------------------------------------------------------------- ( 234 237 421 423 477 481 655 657 ) DimWithOrWithOutExpr ::= TypeAnnotationsopt .LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= TypeAnnotationsopt .LBRACKET RBRACKET LBRACKET Shift 693 STATE 479 ---------------------------------------------------------------------- ( 235 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt LPAREN Shift 694 STATE 480 ---------------------------------------------------------------------- ( 236 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (580) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1068 EnterInstanceCreationArgumentList Goto 695 LPAREN Reduce 580 Default reduction to rule 580 STATE 481 ---------------------------------------------------------------------- ( 237 ) ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs . (594) ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs .ArrayInitializer DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET LBRACE Shift 133 AT308 Shift 38 TypeAnnotations Goto 478 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 478 ArrayInitializer Gt/Rd 595 DimWithOrWithOutExpr Gt/Rd 597 abstract Reduce 594 final Reduce 594 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1069 instanceof Reduce 594 native Reduce 594 non-sealed Reduce 594 private Reduce 594 protected Reduce 594 public Reduce 594 static Reduce 594 strictfp Reduce 594 synchronized Reduce 594 transient Reduce 594 volatile Reduce 594 PLUS_PLUS Reduce 594 MINUS_MINUS Reduce 594 EQUAL_EQUAL Reduce 594 LESS_EQUAL Reduce 594 GREATER_EQUAL Reduce 594 NOT_EQUAL Reduce 594 LEFT_SHIFT Reduce 594 RIGHT_SHIFT Reduce 594 UNSIGNED_RIGHT_SHIFT Reduce 594 PLUS_EQUAL Reduce 594 MINUS_EQUAL Reduce 594 MULTIPLY_EQUAL Reduce 594 DIVIDE_EQUAL Reduce 594 AND_EQUAL Reduce 594 OR_EQUAL Reduce 594 XOR_EQUAL Reduce 594 REMAINDER_EQUAL Reduce 594 LEFT_SHIFT_EQUAL Reduce 594 RIGHT_SHIFT_EQUAL Reduce 594 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 594 OR_OR Reduce 594 AND_AND Reduce 594 PLUS Reduce 594 MINUS Reduce 594 REMAINDER Reduce 594 XOR Reduce 594 AND Reduce 594 MULTIPLY Reduce 594 OR Reduce 594 DIVIDE Reduce 594 GREATER Reduce 594 LESS Reduce 594 RPAREN Reduce 594 RBRACE Reduce 594 RBRACKET Reduce 594 SEMICOLON Reduce 594 QUESTION Reduce 594 COLON Reduce 594 COMMA Reduce 594 DOT Reduce 594 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1070 EQUAL Reduce 594 AT Reduce 594 COLON_COLON Reduce 594 ElidedSemicolonAndRightBrace Reduce 594 BeginCaseExpr Reduce 594 RestrictedIdentifiersealed Reduce 594 $eof Reduce 594 LBRACKET Reduce 79 Default reduction to rule 594 STATE 482 ---------------------------------------------------------------------- ( 238 ) ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET Expression . RBRACKET RBRACKET Sh/Rd 618 STATE 483 ---------------------------------------------------------------------- ( 239 ) ArrayAccess ::= PrimaryNoNewArray LBRACKET Expression .RBRACKET RBRACKET Sh/Rd 617 STATE 484 ---------------------------------------------------------------------- ( 240 ) CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds . PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 525 PushRPAREN Goto 696 STATE 485 ---------------------------------------------------------------------- ( 242 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt .AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression AdditionalBoundsListOpt ::= . (643) AdditionalBoundsListOpt ::= .AdditionalBoundList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1071 AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 518 AdditionalBound Goto 1206 AdditionalBoundList Goto 698 AdditionalBoundsListOpt Goto 697 RPAREN Reduce 643 Default reduction to rule 643 STATE 486 ---------------------------------------------------------------------- ( 242 ) PrimaryNoNewArray ::= PrimitiveType Dims .DOT class ReferenceExpression ::= PrimitiveType Dims .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew Dimsopt ::= Dims . (715) COLON_COLON Shift 448 DOT Shift 449 AND Reduce 715 RPAREN Reduce 715 Default reduction to rule 715 STATE 487 ---------------------------------------------------------------------- ( 243 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression .Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression .DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1072 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) DOT Shift 699 AT308 Shift 38 LBRACKET Shift 214 DimsLoop Goto 215 TypeAnnotations Goto 213 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 OneDimLoop Goto 1030 Dims Goto 700 Dimsopt Goto 700 AND Reduce 714 RPAREN Reduce 714 Default reduction to rule 714 STATE 488 ---------------------------------------------------------------------- ( 243 ) PrimaryNoNewArray ::= PushLPAREN Name PushRPAREN . (532) CastExpression ::= PushLPAREN Name PushRPAREN .InsideCastExpressionLL1 UnaryExpressionNotPlusMinus InsideCastExpressionLL1 ::= . (649) InsideCastExpressionLL1 Goto 701 abstract Reduce 532 final Reduce 532 instanceof Reduce 532 native Reduce 532 non-sealed Reduce 532 private Reduce 532 protected Reduce 532 public Reduce 532 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1073 static Reduce 532 strictfp Reduce 532 synchronized Reduce 532 transient Reduce 532 volatile Reduce 532 PLUS_PLUS Reduce 532 MINUS_MINUS Reduce 532 EQUAL_EQUAL Reduce 532 LESS_EQUAL Reduce 532 GREATER_EQUAL Reduce 532 NOT_EQUAL Reduce 532 LEFT_SHIFT Reduce 532 RIGHT_SHIFT Reduce 532 UNSIGNED_RIGHT_SHIFT Reduce 532 PLUS_EQUAL Reduce 532 MINUS_EQUAL Reduce 532 MULTIPLY_EQUAL Reduce 532 DIVIDE_EQUAL Reduce 532 AND_EQUAL Reduce 532 OR_EQUAL Reduce 532 XOR_EQUAL Reduce 532 REMAINDER_EQUAL Reduce 532 LEFT_SHIFT_EQUAL Reduce 532 RIGHT_SHIFT_EQUAL Reduce 532 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 532 OR_OR Reduce 532 AND_AND Reduce 532 PLUS Reduce 532 MINUS Reduce 532 REMAINDER Reduce 532 XOR Reduce 532 AND Reduce 532 MULTIPLY Reduce 532 OR Reduce 532 DIVIDE Reduce 532 GREATER Reduce 532 LESS Reduce 532 RPAREN Reduce 532 RBRACE Reduce 532 LBRACKET Reduce 532 RBRACKET Reduce 532 SEMICOLON Reduce 532 QUESTION Reduce 532 COLON Reduce 532 COMMA Reduce 532 DOT Reduce 532 EQUAL Reduce 532 AT Reduce 532 COLON_COLON Reduce 532 ElidedSemicolonAndRightBrace Reduce 532 BeginCaseExpr Reduce 532 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1074 RestrictedIdentifiersealed Reduce 532 $eof Reduce 532 Identifier Reduce 649 boolean Reduce 649 byte Reduce 649 char Reduce 649 double Reduce 649 false Reduce 649 float Reduce 649 int Reduce 649 long Reduce 649 new Reduce 649 null Reduce 649 short Reduce 649 super Reduce 649 switch Reduce 649 this Reduce 649 true Reduce 649 void Reduce 649 IntegerLiteral Reduce 649 LongLiteral Reduce 649 FloatingPointLiteral Reduce 649 DoubleLiteral Reduce 649 CharacterLiteral Reduce 649 StringLiteral Reduce 649 TextBlock Reduce 649 NOT Reduce 649 TWIDDLE Reduce 649 LPAREN Reduce 649 BeginLambda Reduce 649 BeginIntersectionCast Reduce 649 AT308 Reduce 649 UNDERSCORE Reduce 649 Default reduction to rule 532 STATE 489 ---------------------------------------------------------------------- ( 243 ) PrimaryNoNewArray ::= Name Dims .DOT class CastExpression ::= PushLPAREN Name Dims .AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus Dimsopt ::= Dims . (715) AdditionalBoundsListOpt ::= . (643) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1075 DOT Shift 470 AND Shift 518 AdditionalBound Goto 1206 AdditionalBoundList Goto 698 AdditionalBoundsListOpt Goto 702 COLON_COLON Reduce 715 RPAREN Reduce 643 Default reduction to rule 715 STATE 490 ---------------------------------------------------------------------- ( 243 ) OnlyTypeArguments ::= LESS .TypeArgumentList1 RelationalExpression_NotName ::= Name LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1076 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1077 LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1078 ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression TypeArgumentList1 ::= .TypeArgumentList COMMA TypeArgument1 TypeArgumentList ::= .TypeArgumentList COMMA TypeArgument TypeArgument ::= .ReferenceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1079 ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1098 true Shift 1098 null Shift 1098 TextBlock Shift 1098 StringLiteral Shift 1098 CharacterLiteral Shift 1098 DoubleLiteral Shift 1098 FloatingPointLiteral Shift 1098 LongLiteral Shift 1098 IntegerLiteral Shift 1098 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 1099 PreDecrementExpression Goto 1099 UnaryExpressionNotPlusMinus Goto 1099 Primary Goto 44 Name Goto 578 PostIncrementExpression Goto 1108 PostDecrementExpression Goto 1107 PostfixExpression Goto 446 Literal Goto 1098 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1106 FieldAccess Goto 1105 PrimitiveType Goto 703 MethodInvocation Goto 1104 ArrayAccess Goto 1103 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1080 LambdaExpression Goto 1102 ReferenceExpression Goto 1101 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1098 ArrayCreationWithoutArrayInitializer Goto 1100 SwitchExpression Goto 1099 CastExpression Goto 1099 UnaryExpression Goto 1099 ShiftExpression Goto 640 ReferenceType1 Gt/Rd 772 Wildcard1 Gt/Rd 772 TypeAnnotationsopt Goto 284 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1043 TypeAnnotations Goto 42 GenericType Goto 129 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 282 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1016 ReferenceType Goto 281 TypeArgument Goto 280 TypeArgumentList Goto 280 Wildcard Goto 280 TypeArgument1 Gt/Rd 772 TypeArgumentList1 Gt/Rd 772 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 QUESTION Reduce 79 Default reduction to rule 79 STATE 491 ---------------------------------------------------------------------- ( 251 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1081 AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression . (662) MINUS Shift 254 PLUS Shift 255 abstract Reduce 662 final Reduce 662 instanceof Reduce 662 native Reduce 662 non-sealed Reduce 662 private Reduce 662 protected Reduce 662 public Reduce 662 static Reduce 662 strictfp Reduce 662 synchronized Reduce 662 transient Reduce 662 volatile Reduce 662 EQUAL_EQUAL Reduce 662 LESS_EQUAL Reduce 662 GREATER_EQUAL Reduce 662 NOT_EQUAL Reduce 662 LEFT_SHIFT Reduce 662 RIGHT_SHIFT Reduce 662 UNSIGNED_RIGHT_SHIFT Reduce 662 OR_OR Reduce 662 AND_AND Reduce 662 XOR Reduce 662 AND Reduce 662 OR Reduce 662 GREATER Reduce 662 LESS Reduce 662 RPAREN Reduce 662 RBRACE Reduce 662 RBRACKET Reduce 662 SEMICOLON Reduce 662 QUESTION Reduce 662 COLON Reduce 662 COMMA Reduce 662 AT Reduce 662 ElidedSemicolonAndRightBrace Reduce 662 BeginCaseExpr Reduce 662 RestrictedIdentifiersealed Reduce 662 $eof Reduce 662 Default reduction to rule 662 STATE 492 ---------------------------------------------------------------------- ( 252 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1082 AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= ShiftExpression RIGHT_SHIFT AdditiveExpression . (661) MINUS Shift 254 PLUS Shift 255 abstract Reduce 661 final Reduce 661 instanceof Reduce 661 native Reduce 661 non-sealed Reduce 661 private Reduce 661 protected Reduce 661 public Reduce 661 static Reduce 661 strictfp Reduce 661 synchronized Reduce 661 transient Reduce 661 volatile Reduce 661 EQUAL_EQUAL Reduce 661 LESS_EQUAL Reduce 661 GREATER_EQUAL Reduce 661 NOT_EQUAL Reduce 661 LEFT_SHIFT Reduce 661 RIGHT_SHIFT Reduce 661 UNSIGNED_RIGHT_SHIFT Reduce 661 OR_OR Reduce 661 AND_AND Reduce 661 XOR Reduce 661 AND Reduce 661 OR Reduce 661 GREATER Reduce 661 LESS Reduce 661 RPAREN Reduce 661 RBRACE Reduce 661 RBRACKET Reduce 661 SEMICOLON Reduce 661 QUESTION Reduce 661 COLON Reduce 661 COMMA Reduce 661 AT Reduce 661 ElidedSemicolonAndRightBrace Reduce 661 BeginCaseExpr Reduce 661 RestrictedIdentifiersealed Reduce 661 $eof Reduce 661 Default reduction to rule 661 STATE 493 ---------------------------------------------------------------------- ( 253 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1083 AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= ShiftExpression LEFT_SHIFT AdditiveExpression . (660) MINUS Shift 254 PLUS Shift 255 abstract Reduce 660 final Reduce 660 instanceof Reduce 660 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 EQUAL_EQUAL Reduce 660 LESS_EQUAL Reduce 660 GREATER_EQUAL Reduce 660 NOT_EQUAL Reduce 660 LEFT_SHIFT Reduce 660 RIGHT_SHIFT Reduce 660 UNSIGNED_RIGHT_SHIFT Reduce 660 OR_OR Reduce 660 AND_AND Reduce 660 XOR Reduce 660 AND Reduce 660 OR Reduce 660 GREATER Reduce 660 LESS Reduce 660 RPAREN Reduce 660 RBRACE Reduce 660 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 AT Reduce 660 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 494 ---------------------------------------------------------------------- ( 254 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1084 MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression ::= AdditiveExpression MINUS MultiplicativeExpression . (658) REMAINDER Shift 248 DIVIDE Shift 249 MULTIPLY Shift 250 abstract Reduce 658 final Reduce 658 instanceof Reduce 658 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 EQUAL_EQUAL Reduce 658 LESS_EQUAL Reduce 658 GREATER_EQUAL Reduce 658 NOT_EQUAL Reduce 658 LEFT_SHIFT Reduce 658 RIGHT_SHIFT Reduce 658 UNSIGNED_RIGHT_SHIFT Reduce 658 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 658 MINUS Reduce 658 XOR Reduce 658 AND Reduce 658 OR Reduce 658 GREATER Reduce 658 LESS Reduce 658 RPAREN Reduce 658 RBRACE Reduce 658 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 AT Reduce 658 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1085 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 495 ---------------------------------------------------------------------- ( 255 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression ::= AdditiveExpression PLUS MultiplicativeExpression . (657) REMAINDER Shift 248 DIVIDE Shift 249 MULTIPLY Shift 250 abstract Reduce 657 final Reduce 657 instanceof Reduce 657 native Reduce 657 non-sealed Reduce 657 private Reduce 657 protected Reduce 657 public Reduce 657 static Reduce 657 strictfp Reduce 657 synchronized Reduce 657 transient Reduce 657 volatile Reduce 657 EQUAL_EQUAL Reduce 657 LESS_EQUAL Reduce 657 GREATER_EQUAL Reduce 657 NOT_EQUAL Reduce 657 LEFT_SHIFT Reduce 657 RIGHT_SHIFT Reduce 657 UNSIGNED_RIGHT_SHIFT Reduce 657 OR_OR Reduce 657 AND_AND Reduce 657 PLUS Reduce 657 MINUS Reduce 657 XOR Reduce 657 AND Reduce 657 OR Reduce 657 GREATER Reduce 657 LESS Reduce 657 RPAREN Reduce 657 RBRACE Reduce 657 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1086 RBRACKET Reduce 657 SEMICOLON Reduce 657 QUESTION Reduce 657 COLON Reduce 657 COMMA Reduce 657 AT Reduce 657 ElidedSemicolonAndRightBrace Reduce 657 BeginCaseExpr Reduce 657 RestrictedIdentifiersealed Reduce 657 $eof Reduce 657 Default reduction to rule 657 STATE 496 ---------------------------------------------------------------------- ( 256 ) InstanceofClassic ::= instanceof Modifiersopt .Type TypePattern ::= Modifiersopt .Type Identifier TypePattern ::= Modifiersopt .Type UNDERSCORE RecordPattern ::= Modifiersopt .ReferenceType PushLPAREN ComponentPatternListopt PushRPAREN Type ::= .PrimitiveType Type ::= .ReferenceType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1087 TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1042 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 273 Type Goto 704 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 497 ---------------------------------------------------------------------- ( 257 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1088 ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression GREATER_EQUAL ShiftExpression . (667) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 667 final Reduce 667 instanceof Reduce 667 native Reduce 667 non-sealed Reduce 667 private Reduce 667 protected Reduce 667 public Reduce 667 static Reduce 667 strictfp Reduce 667 synchronized Reduce 667 transient Reduce 667 volatile Reduce 667 EQUAL_EQUAL Reduce 667 LESS_EQUAL Reduce 667 GREATER_EQUAL Reduce 667 NOT_EQUAL Reduce 667 OR_OR Reduce 667 AND_AND Reduce 667 XOR Reduce 667 AND Reduce 667 OR Reduce 667 GREATER Reduce 667 LESS Reduce 667 RPAREN Reduce 667 RBRACE Reduce 667 RBRACKET Reduce 667 SEMICOLON Reduce 667 QUESTION Reduce 667 COLON Reduce 667 COMMA Reduce 667 AT Reduce 667 ElidedSemicolonAndRightBrace Reduce 667 BeginCaseExpr Reduce 667 RestrictedIdentifiersealed Reduce 667 $eof Reduce 667 Default reduction to rule 667 STATE 498 ---------------------------------------------------------------------- ( 258 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1089 ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression LESS_EQUAL ShiftExpression . (666) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 666 final Reduce 666 instanceof Reduce 666 native Reduce 666 non-sealed Reduce 666 private Reduce 666 protected Reduce 666 public Reduce 666 static Reduce 666 strictfp Reduce 666 synchronized Reduce 666 transient Reduce 666 volatile Reduce 666 EQUAL_EQUAL Reduce 666 LESS_EQUAL Reduce 666 GREATER_EQUAL Reduce 666 NOT_EQUAL Reduce 666 OR_OR Reduce 666 AND_AND Reduce 666 XOR Reduce 666 AND Reduce 666 OR Reduce 666 GREATER Reduce 666 LESS Reduce 666 RPAREN Reduce 666 RBRACE Reduce 666 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 666 COLON Reduce 666 COMMA Reduce 666 AT Reduce 666 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 RestrictedIdentifiersealed Reduce 666 $eof Reduce 666 Default reduction to rule 666 STATE 499 ---------------------------------------------------------------------- ( 259 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1090 ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression GREATER ShiftExpression . (665) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 665 final Reduce 665 instanceof Reduce 665 native Reduce 665 non-sealed Reduce 665 private Reduce 665 protected Reduce 665 public Reduce 665 static Reduce 665 strictfp Reduce 665 synchronized Reduce 665 transient Reduce 665 volatile Reduce 665 EQUAL_EQUAL Reduce 665 LESS_EQUAL Reduce 665 GREATER_EQUAL Reduce 665 NOT_EQUAL Reduce 665 OR_OR Reduce 665 AND_AND Reduce 665 XOR Reduce 665 AND Reduce 665 OR Reduce 665 GREATER Reduce 665 LESS Reduce 665 RPAREN Reduce 665 RBRACE Reduce 665 RBRACKET Reduce 665 SEMICOLON Reduce 665 QUESTION Reduce 665 COLON Reduce 665 COMMA Reduce 665 AT Reduce 665 ElidedSemicolonAndRightBrace Reduce 665 BeginCaseExpr Reduce 665 RestrictedIdentifiersealed Reduce 665 $eof Reduce 665 Default reduction to rule 665 STATE 500 ---------------------------------------------------------------------- ( 260 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1091 ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression LESS ShiftExpression . (664) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 664 final Reduce 664 instanceof Reduce 664 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 EQUAL_EQUAL Reduce 664 LESS_EQUAL Reduce 664 GREATER_EQUAL Reduce 664 NOT_EQUAL Reduce 664 OR_OR Reduce 664 AND_AND Reduce 664 XOR Reduce 664 AND Reduce 664 OR Reduce 664 GREATER Reduce 664 LESS Reduce 664 RPAREN Reduce 664 RBRACE Reduce 664 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 664 COLON Reduce 664 COMMA Reduce 664 AT Reduce 664 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 501 ---------------------------------------------------------------------- ( 261 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1092 EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression ::= AndExpression AND EqualityExpression . (672) NOT_EQUAL Shift 262 EQUAL_EQUAL Shift 263 abstract Reduce 672 final Reduce 672 native Reduce 672 non-sealed Reduce 672 private Reduce 672 protected Reduce 672 public Reduce 672 static Reduce 672 strictfp Reduce 672 synchronized Reduce 672 transient Reduce 672 volatile Reduce 672 OR_OR Reduce 672 AND_AND Reduce 672 XOR Reduce 672 AND Reduce 672 OR Reduce 672 RPAREN Reduce 672 RBRACE Reduce 672 RBRACKET Reduce 672 SEMICOLON Reduce 672 QUESTION Reduce 672 COLON Reduce 672 COMMA Reduce 672 AT Reduce 672 ElidedSemicolonAndRightBrace Reduce 672 BeginCaseExpr Reduce 672 RestrictedIdentifiersealed Reduce 672 $eof Reduce 672 Default reduction to rule 672 STATE 502 ---------------------------------------------------------------------- ( 262 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression ::= EqualityExpression NOT_EQUAL InstanceofExpression . (670) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern instanceof Shift 256 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1093 InstanceofClassic Gt/Rd 357 InstanceofPattern Gt/Rd 357 InstanceofRHS Gt/Rd 357 abstract Reduce 670 final Reduce 670 native Reduce 670 non-sealed Reduce 670 private Reduce 670 protected Reduce 670 public Reduce 670 static Reduce 670 strictfp Reduce 670 synchronized Reduce 670 transient Reduce 670 volatile Reduce 670 EQUAL_EQUAL Reduce 670 NOT_EQUAL Reduce 670 OR_OR Reduce 670 AND_AND Reduce 670 XOR Reduce 670 AND Reduce 670 OR Reduce 670 RPAREN Reduce 670 RBRACE Reduce 670 RBRACKET Reduce 670 SEMICOLON Reduce 670 QUESTION Reduce 670 COLON Reduce 670 COMMA Reduce 670 AT Reduce 670 ElidedSemicolonAndRightBrace Reduce 670 BeginCaseExpr Reduce 670 RestrictedIdentifiersealed Reduce 670 $eof Reduce 670 Default reduction to rule 670 STATE 503 ---------------------------------------------------------------------- ( 263 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression ::= EqualityExpression EQUAL_EQUAL InstanceofExpression . (669) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern instanceof Shift 256 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1094 InstanceofClassic Gt/Rd 357 InstanceofPattern Gt/Rd 357 InstanceofRHS Gt/Rd 357 abstract Reduce 669 final Reduce 669 native Reduce 669 non-sealed Reduce 669 private Reduce 669 protected Reduce 669 public Reduce 669 static Reduce 669 strictfp Reduce 669 synchronized Reduce 669 transient Reduce 669 volatile Reduce 669 EQUAL_EQUAL Reduce 669 NOT_EQUAL Reduce 669 OR_OR Reduce 669 AND_AND Reduce 669 XOR Reduce 669 AND Reduce 669 OR Reduce 669 RPAREN Reduce 669 RBRACE Reduce 669 RBRACKET Reduce 669 SEMICOLON Reduce 669 QUESTION Reduce 669 COLON Reduce 669 COMMA Reduce 669 AT Reduce 669 ElidedSemicolonAndRightBrace Reduce 669 BeginCaseExpr Reduce 669 RestrictedIdentifiersealed Reduce 669 $eof Reduce 669 Default reduction to rule 669 STATE 504 ---------------------------------------------------------------------- ( 264 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression ::= InclusiveOrExpression OR ExclusiveOrExpression . (676) XOR Shift 265 abstract Reduce 676 final Reduce 676 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1095 native Reduce 676 non-sealed Reduce 676 private Reduce 676 protected Reduce 676 public Reduce 676 static Reduce 676 strictfp Reduce 676 synchronized Reduce 676 transient Reduce 676 volatile Reduce 676 OR_OR Reduce 676 AND_AND Reduce 676 OR Reduce 676 RPAREN Reduce 676 RBRACE Reduce 676 RBRACKET Reduce 676 SEMICOLON Reduce 676 QUESTION Reduce 676 COLON Reduce 676 COMMA Reduce 676 AT Reduce 676 ElidedSemicolonAndRightBrace Reduce 676 BeginCaseExpr Reduce 676 RestrictedIdentifiersealed Reduce 676 $eof Reduce 676 Default reduction to rule 676 STATE 505 ---------------------------------------------------------------------- ( 265 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression ::= ExclusiveOrExpression XOR AndExpression . (674) AND Shift 261 abstract Reduce 674 final Reduce 674 native Reduce 674 non-sealed Reduce 674 private Reduce 674 protected Reduce 674 public Reduce 674 static Reduce 674 strictfp Reduce 674 synchronized Reduce 674 transient Reduce 674 volatile Reduce 674 OR_OR Reduce 674 AND_AND Reduce 674 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1096 XOR Reduce 674 OR Reduce 674 RPAREN Reduce 674 RBRACE Reduce 674 RBRACKET Reduce 674 SEMICOLON Reduce 674 QUESTION Reduce 674 COLON Reduce 674 COMMA Reduce 674 AT Reduce 674 ElidedSemicolonAndRightBrace Reduce 674 BeginCaseExpr Reduce 674 RestrictedIdentifiersealed Reduce 674 $eof Reduce 674 Default reduction to rule 674 STATE 506 ---------------------------------------------------------------------- ( 266 ) ConditionalExpression ::= ConditionalOrExpression QUESTION Expression .COLON ConditionalExpression COLON Shift 705 STATE 507 ---------------------------------------------------------------------- ( 267 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression ::= ConditionalOrExpression OR_OR ConditionalAndExpression . (680) AND_AND Shift 268 abstract Reduce 680 final Reduce 680 native Reduce 680 non-sealed Reduce 680 private Reduce 680 protected Reduce 680 public Reduce 680 static Reduce 680 strictfp Reduce 680 synchronized Reduce 680 transient Reduce 680 volatile Reduce 680 OR_OR Reduce 680 RPAREN Reduce 680 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1097 RBRACE Reduce 680 RBRACKET Reduce 680 SEMICOLON Reduce 680 QUESTION Reduce 680 COLON Reduce 680 COMMA Reduce 680 AT Reduce 680 ElidedSemicolonAndRightBrace Reduce 680 BeginCaseExpr Reduce 680 RestrictedIdentifiersealed Reduce 680 $eof Reduce 680 Default reduction to rule 680 STATE 508 ---------------------------------------------------------------------- ( 268 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression ::= ConditionalAndExpression AND_AND InclusiveOrExpression . (678) OR Shift 264 abstract Reduce 678 final Reduce 678 native Reduce 678 non-sealed Reduce 678 private Reduce 678 protected Reduce 678 public Reduce 678 static Reduce 678 strictfp Reduce 678 synchronized Reduce 678 transient Reduce 678 volatile Reduce 678 OR_OR Reduce 678 AND_AND Reduce 678 RPAREN Reduce 678 RBRACE Reduce 678 RBRACKET Reduce 678 SEMICOLON Reduce 678 QUESTION Reduce 678 COLON Reduce 678 COMMA Reduce 678 AT Reduce 678 ElidedSemicolonAndRightBrace Reduce 678 BeginCaseExpr Reduce 678 RestrictedIdentifiersealed Reduce 678 $eof Reduce 678 Default reduction to rule 678 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1098 STATE 509 ---------------------------------------------------------------------- ( 271 ) SingleMemberAnnotation ::= AnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN RPAREN Sh/Rd 943 STATE 510 ---------------------------------------------------------------------- ( 271 ) NormalAnnotation ::= AnnotationName LPAREN MemberValuePairsopt .RPAREN RPAREN Sh/Rd 922 STATE 511 ---------------------------------------------------------------------- ( 273 ) RecordPattern ::= Modifiersopt ReferenceType PushLPAREN . ComponentPatternListopt PushRPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Pattern ::= .TypePattern Pattern ::= .RecordPattern TypePattern ::= .Modifiersopt Type Identifier TypePattern ::= .Modifiersopt Type UNDERSCORE RecordPattern ::= .Modifiersopt ReferenceType PushLPAREN ComponentPatternListopt PushRPAREN ComponentPatternListopt ::= . (367) ComponentPatternListopt ::= .ComponentPatternList ComponentPatternList ::= .ComponentPattern ComponentPatternList ::= .ComponentPatternList COMMA ComponentPattern IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1099 ComponentPattern ::= .Pattern ComponentPattern ::= .UnnamedPattern UnnamedPattern ::= .UNDERSCORE Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UNDERSCORE Sh/Rd 373 AT Shift 66 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 ComponentPattern Goto 1207 ComponentPatternList Goto 707 TypePattern Goto 1207 RecordPattern Goto 1207 Modifiersopt Goto 69 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Pattern Goto 1207 UnnamedPattern Goto 1207 ComponentPatternListopt Goto 706 RPAREN Reduce 367 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1100 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 512 ---------------------------------------------------------------------- ( 277 ) ClassOrInterface ::= GenericType DOT Name . (62) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName DOT Shift 278 abstract Reduce 62 final Reduce 62 implements Reduce 62 native Reduce 62 non-sealed Reduce 62 private Reduce 62 protected Reduce 62 public Reduce 62 static Reduce 62 strictfp Reduce 62 synchronized Reduce 62 transient Reduce 62 volatile Reduce 62 AND Reduce 62 LESS Reduce 62 LPAREN Reduce 62 RPAREN Reduce 62 LBRACE Reduce 62 LBRACKET Reduce 62 SEMICOLON Reduce 62 COMMA Reduce 62 AT Reduce 62 COLON_COLON Reduce 62 AT308 Reduce 62 RestrictedIdentifiersealed Reduce 62 RestrictedIdentifierpermits Reduce 62 $eof Reduce 62 Default reduction to rule 62 STATE 513 ---------------------------------------------------------------------- ( 280 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1101 TypeArgumentList1 ::= TypeArgumentList COMMA .TypeArgument1 TypeArgumentList ::= TypeArgumentList COMMA .TypeArgument PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeArgument ::= .ReferenceType ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 284 ReferenceType Goto 281 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1102 Wildcard Gt/Rd 776 ClassOrInterface Goto 282 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1043 ReferenceType1 Gt/Rd 774 Wildcard1 Gt/Rd 774 TypeArgument1 Gt/Rd 774 TypeArgument Gt/Rd 776 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 QUESTION Reduce 79 Default reduction to rule 79 STATE 514 ---------------------------------------------------------------------- ( 282 ) GenericType ::= ClassOrInterface LESS .GREATER TypeArguments ::= LESS .TypeArgumentList1 ReferenceType1 ::= ClassOrInterface LESS .TypeArgumentList2 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1103 ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeArgumentList1 ::= .TypeArgumentList COMMA TypeArgument1 TypeArgumentList ::= .TypeArgumentList COMMA TypeArgument TypeArgument ::= .ReferenceType ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 TypeArgumentList2 ::= .TypeArgumentList COMMA TypeArgument2 ReferenceType2 ::= .ReferenceType RIGHT_SHIFT ReferenceType2 ::= .ClassOrInterface LESS TypeArgumentList3 Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 Wildcard2 ::= .TypeAnnotationsopt QUESTION RIGHT_SHIFT Wildcard2 ::= .TypeAnnotationsopt QUESTION WildcardBounds2 GREATER Sh/Rd 64 AT308 Shift 38 Identifier Shift 1004 ReferenceType2 Gt/Rd 782 Wildcard2 Gt/Rd 782 TypeAnnotationsopt Goto 711 ReferenceType Goto 710 ClassOrInterface Goto 709 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1104 TypeArgument2 Gt/Rd 782 TypeArgumentList Goto 708 ReferenceType1 Gt/Rd 771 Wildcard1 Gt/Rd 771 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1043 TypeAnnotations Goto 42 GenericType Goto 129 PrimitiveType Goto 283 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1041 TypeArgument Goto 708 Wildcard Goto 708 TypeArgument1 Gt/Rd 771 TypeArgumentList1 Gt/Rd 771 TypeArgumentList2 Gt/Rd 782 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 QUESTION Reduce 79 Default reduction to rule 79 STATE 515 ---------------------------------------------------------------------- ( 284 ) Wildcard ::= TypeAnnotationsopt QUESTION . (794) Wildcard ::= TypeAnnotationsopt QUESTION .WildcardBounds Wildcard1 ::= TypeAnnotationsopt QUESTION .GREATER Wildcard1 ::= TypeAnnotationsopt QUESTION .WildcardBounds1 WildcardBounds ::= .extends ReferenceType WildcardBounds ::= .super ReferenceType WildcardBounds1 ::= .extends ReferenceType1 WildcardBounds1 ::= .super ReferenceType1 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1105 GREATER Sh/Rd 798 super Shift 712 extends Shift 713 WildcardBounds Gt/Rd 795 WildcardBounds1 Gt/Rd 799 COMMA Reduce 794 Default reduction to rule 794 STATE 516 ---------------------------------------------------------------------- ( 285 ) ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments DOT ClassOrInterfaceType .Dimsopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) LBRACKET Shift 214 AT308 Shift 38 DimsLoop Goto 215 TypeAnnotations Goto 213 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 OneDimLoop Goto 1030 Dims Gt/Rd 547 Dimsopt Gt/Rd 547 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1106 COLON_COLON Reduce 714 $eof Reduce 714 Default reduction to rule 714 STATE 517 ---------------------------------------------------------------------- ( 287 ) CastNameAndBounds ::= Name AdditionalBoundList . (646) AdditionalBoundList ::= AdditionalBoundList .AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 518 AdditionalBound Gt/Rd 818 RPAREN Reduce 646 Default reduction to rule 646 STATE 518 ---------------------------------------------------------------------- ( 287 485 489 517 698 700 878 ) AdditionalBound ::= AND .ReferenceType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1107 TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 ClassOrInterface Goto 71 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotationsopt Goto 34 ClassOrInterfaceType Gt/Rd 57 ArrayType Gt/Rd 819 ReferenceType Gt/Rd 819 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 519 ---------------------------------------------------------------------- ( 289 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1108 FormalParameterList ::= FormalParameterList COMMA .FormalParameter Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifiers Goto 68 Annotation Gt/Rd 210 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1109 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 350 FormalParameter Gt/Rd 275 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 520 ---------------------------------------------------------------------- ( 290 ) TypeElidedFormalParameterList ::= TypeElidedFormalParameterList COMMA . TypeElidedFormalParameter Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation TypeElidedFormalParameter ::= .Modifiersopt Identifier TypeElidedFormalParameter ::= .UNDERSCORE Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1110 Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 66 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 UNDERSCORE Sh/Rd 569 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 714 TypeElidedFormalParameter Gt/Rd 567 Identifier Reduce 710 Default reduction to rule 710 STATE 521 ---------------------------------------------------------------------- ( 291 350 ) FormalParameter ::= Modifiersopt Type .VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt Type .PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt Type .AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis SimpleName ::= .Identifier UnannotatableName ::= .UnannotatableName DOT SimpleName PushZeroTypeAnnotations ::= . (92) VariableDeclaratorIdOrThis ::= .this IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1111 VariableDeclaratorIdOrThis ::= .UnannotatableName DOT this VariableDeclaratorIdOrThis ::= .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE AT308DOTDOTDOT Shift 715 this Sh/Rd 93 UNDERSCORE Sh/Rd 254 Identifier Shift 717 SimpleName Goto 718 UnannotatableName Goto 718 VariableDeclaratorId Gt/Rd 95 VariableDeclaratorIdOrThis Gt/Rd 276 PushZeroTypeAnnotations Goto 716 ELLIPSIS Reduce 92 Default reduction to rule 92 STATE 522 ---------------------------------------------------------------------- ( 291 ) SimpleName ::= Identifier . (74) TypeElidedFormalParameter ::= Modifiersopt Identifier . (568) RPAREN Reduce 568 COMMA Reduce 568 Identifier Reduce 71 this Reduce 71 LESS Reduce 71 LBRACKET Reduce 71 DOT Reduce 71 ELLIPSIS Reduce 71 AT308 Reduce 71 AT308DOTDOTDOT Reduce 71 UNDERSCORE Reduce 71 Default reduction to rule 74 STATE 523 ---------------------------------------------------------------------- ( 293 ) CaseLabelElements ::= CaseLabelElements COMMA .CaseLabelElement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1112 Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock CaseLabelElement ::= .ConstantExpression CaseLabelElement ::= .default CaseLabelElement ::= .CaseLabelElementPattern CaseLabelElement ::= .CaseLabelElementPattern Guard CaseLabelElementPattern ::= .BeginCaseElement Pattern PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1113 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1114 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1115 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ConstantExpression ::= .Expression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1116 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 NOT Shift 50 TWIDDLE Shift 51 BeginIntersectionCast Shift 48 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 MINUS Shift 27 PLUS Shift 28 BeginCaseElement Shift 294 default Sh/Rd 476 Expression Goto 1045 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1117 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ConstantExpression Gt/Rd 475 CaseLabelElementPattern Goto 295 CaseLabelElement Gt/Rd 474 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 524 ---------------------------------------------------------------------- ( 295 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1118 Guard ::= RestrictedIdentifierWhen .Expression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1119 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1120 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1121 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1122 MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1123 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Gt/Rd 480 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 525 ---------------------------------------------------------------------- ( 296 ) ClassHeaderImplements ::= implements InterfaceTypeList . (217) InterfaceTypeList ::= InterfaceTypeList .COMMA InterfaceType COMMA Shift 719 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1124 abstract Reduce 217 final Reduce 217 native Reduce 217 non-sealed Reduce 217 private Reduce 217 protected Reduce 217 public Reduce 217 static Reduce 217 strictfp Reduce 217 synchronized Reduce 217 transient Reduce 217 volatile Reduce 217 LBRACE Reduce 217 AT Reduce 217 RestrictedIdentifiersealed Reduce 217 RestrictedIdentifierpermits Reduce 217 $eof Reduce 217 Default reduction to rule 217 STATE 526 ---------------------------------------------------------------------- ( 297 ) EnumBody ::= LBRACE COMMA .EnumBodyDeclarationsopt RBRACE EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (760) SEMICOLON Shift 528 EnumDeclarations Goto 720 EnumBodyDeclarationsopt Goto 720 RBRACE Reduce 760 Default reduction to rule 760 STATE 527 ---------------------------------------------------------------------- ( 297 ) EnumBody ::= LBRACE EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 746 STATE 528 ---------------------------------------------------------------------- ( 297 526 529 722 ) EnumDeclarations ::= SEMICOLON .ClassBodyDeclarationsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1125 ClassBodyDeclarationsopt ::= . (708) ClassBodyDeclarationsopt ::= .NestedType ClassBodyDeclarations NestedType ::= . (733) NestedType Goto 549 ClassBodyDeclarationsopt Gt/Rd 759 RBRACE Reduce 708 Identifier Reduce 733 abstract Reduce 733 boolean Reduce 733 byte Reduce 733 char Reduce 733 class Reduce 733 default Reduce 733 double Reduce 733 enum Reduce 733 final Reduce 733 float Reduce 733 int Reduce 733 interface Reduce 733 long Reduce 733 native Reduce 733 non-sealed Reduce 733 private Reduce 733 protected Reduce 733 public Reduce 733 short Reduce 733 static Reduce 733 strictfp Reduce 733 synchronized Reduce 733 transient Reduce 733 void Reduce 733 volatile Reduce 733 LESS Reduce 733 LBRACE Reduce 733 SEMICOLON Reduce 733 AT Reduce 733 AT308 Reduce 733 RestrictedIdentifierrecord Reduce 733 RestrictedIdentifiersealed Reduce 733 Default reduction to rule 733 STATE 529 ---------------------------------------------------------------------- ( 297 ) EnumBody ::= LBRACE EnumConstants .COMMA EnumBodyDeclarationsopt RBRACE EnumBody ::= LBRACE EnumConstants .EnumBodyDeclarationsopt RBRACE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1126 EnumConstants ::= EnumConstants .COMMA EnumConstant EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (760) COMMA Shift 722 SEMICOLON Shift 528 EnumDeclarations Goto 721 EnumBodyDeclarationsopt Goto 721 RBRACE Reduce 760 Default reduction to rule 760 STATE 530 ---------------------------------------------------------------------- ( 297 722 ) EnumConstantHeaderName ::= Modifiersopt .Identifier Identifier Sh/Rd 752 STATE 531 ---------------------------------------------------------------------- ( 297 722 ) EnumConstant ::= EnumConstantHeader .ForceNoDiet ClassBody RestoreDiet EnumConstant ::= EnumConstantHeader . (755) ForceNoDiet ::= . (251) ForceNoDiet Goto 723 RBRACE Reduce 755 SEMICOLON Reduce 755 COMMA Reduce 755 LBRACE Reduce 251 Default reduction to rule 755 STATE 532 ---------------------------------------------------------------------- ( 300 ) AnnotationTypeBody ::= LBRACE AnnotationTypeMemberDeclarationsopt .RBRACE RBRACE Sh/Rd 903 STATE 533 ---------------------------------------------------------------------- ( 300 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1127 AnnotationTypeMemberDeclarationsopt ::= NestedType . AnnotationTypeMemberDeclarations TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1128 interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody AnnotationTypeMemberDeclarations ::= .AnnotationTypeMemberDeclarations AnnotationTypeMemberDeclaration AnnotationMethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN AnnotationMethodHeaderName ::= .Modifiersopt Type Identifier LPAREN AnnotationMethodHeader ::= .AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt AnnotationTypeMemberDeclaration ::= .AnnotationMethodHeader SEMICOLON Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 191 AT Shift 124 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AnnotationMethodHeader Goto 154 ConstantDeclaration Goto 724 ConstructorDeclaration Goto 724 TypeDeclaration Goto 724 ClassHeader Goto 94 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1129 ClassHeaderName1 Goto 93 Modifiersopt Goto 155 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 Modifiers Goto 145 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 ClassDeclaration Goto 724 InterfaceDeclaration Goto 724 EnumDeclaration Goto 724 AnnotationTypeDeclaration Goto 724 RecordDeclaration Goto 724 ConstructorHeaderName Goto 136 ConstructorHeader Goto 137 FieldDeclaration Goto 724 Modifier Goto 1002 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 AnnotationMethodHeaderName Goto 157 AnnotationTypeMemberDeclaration Goto 724 AnnotationTypeMemberDeclarations Goto 724 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 534 ---------------------------------------------------------------------- ( 301 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1130 InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= RestrictedIdentifierpermits . ClassTypeList ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ClassTypeList ::= .ClassTypeList COMMA ClassTypeElt ClassTypeElt ::= .ClassType AT308 Shift 38 Identifier Shift 1004 ClassType Gt/Rd 285 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 1006 ClassTypeElt Goto 725 ClassTypeList Goto 725 STATE 535 ---------------------------------------------------------------------- ( 302 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1131 InterfaceTypeList ::= InterfaceTypeList .COMMA InterfaceType InterfaceHeaderExtends ::= extends InterfaceTypeList . (309) COMMA Shift 719 abstract Reduce 309 final Reduce 309 native Reduce 309 non-sealed Reduce 309 private Reduce 309 protected Reduce 309 public Reduce 309 static Reduce 309 strictfp Reduce 309 synchronized Reduce 309 transient Reduce 309 volatile Reduce 309 LBRACE Reduce 309 AT Reduce 309 RestrictedIdentifiersealed Reduce 309 RestrictedIdentifierpermits Reduce 309 $eof Reduce 309 Default reduction to rule 309 STATE 536 ---------------------------------------------------------------------- ( 303 ) TypeParameterList ::= TypeParameterList .COMMA TypeParameter TypeParameterList1 ::= TypeParameterList .COMMA TypeParameter1 COMMA Shift 726 STATE 537 ---------------------------------------------------------------------- ( 303 726 ) TypeParameterHeader ::= TypeAnnotationsopt .Identifier Identifier Sh/Rd 810 STATE 538 ---------------------------------------------------------------------- ( 303 726 ) TypeParameter ::= TypeParameterHeader . (814) TypeParameter ::= TypeParameterHeader .extends ReferenceType TypeParameter ::= TypeParameterHeader .extends ReferenceType AdditionalBoundList TypeParameter1 ::= TypeParameterHeader .GREATER IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1132 TypeParameter1 ::= TypeParameterHeader .extends ReferenceType1 TypeParameter1 ::= TypeParameterHeader .extends ReferenceType AdditionalBoundList1 GREATER Sh/Rd 822 extends Shift 727 COMMA Reduce 814 Default reduction to rule 814 STATE 539 ---------------------------------------------------------------------- ( 304 ) InterfaceBody ::= LBRACE InterfaceMemberDeclarationsopt .RBRACE RBRACE Sh/Rd 310 STATE 540 ---------------------------------------------------------------------- ( 304 ) InterfaceMemberDeclarationsopt ::= NestedType .InterfaceMemberDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier Diet ::= . (230) Initializer ::= .Diet NestedMethod CreateInitializer Block FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON AbstractMethodDeclaration ::= .MethodHeader SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1133 MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier InterfaceMemberDeclarations ::= .InterfaceMemberDeclarations InterfaceMemberDeclaration InterfaceMemberDeclaration ::= .SEMICOLON InterfaceMemberDeclaration ::= .DefaultMethodHeader MethodBody InterfaceMemberDeclaration ::= .MethodHeader MethodBody InterfaceMemberDeclaration ::= .DefaultMethodHeader SEMICOLON InvalidConstructorDeclaration ::= .ConstructorHeader MethodBody InvalidConstructorDeclaration ::= .ConstructorHeader SEMICOLON RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1134 AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 static Shift 139 AT Shift 124 SEMICOLON Sh/Rd 313 ConstantDeclaration Goto 728 DefaultMethodHeader Goto 731 MethodHeader Goto 730 AbstractMethodDeclaration Goto 728 InvalidConstructorDeclaration Goto 728 InvalidInitializer Goto 728 ClassDeclaration Goto 728 InterfaceDeclaration Goto 728 EnumDeclaration Goto 728 AnnotationTypeDeclaration Goto 728 RecordDeclaration Goto 728 RecordHeaderName Goto 88 Modifiersopt Goto 150 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 84 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1135 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 ClassHeaderName Goto 91 ClassHeaderName1 Goto 93 ClassHeader Goto 94 StaticOnly Goto 138 Diet Goto 205 StaticInitializer Goto 728 Initializer Goto 728 ConstructorHeaderName Goto 136 ConstructorHeader Goto 729 MethodHeaderName Goto 143 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 Modifier Goto 1002 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 FieldDeclaration Goto 728 InterfaceMemberDeclaration Goto 728 InterfaceMemberDeclarations Goto 728 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 230 Default reduction to rule 710 STATE 541 ---------------------------------------------------------------------- ( 306 ) RecordHeader ::= LPAREN RecordComponentsopt .RecordComponentHeaderRightParen IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1136 RecordComponentHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 335 RecordComponentHeaderRightParen Gt/Rd 336 STATE 542 ---------------------------------------------------------------------- ( 306 733 ) RecordComponent ::= Modifiersopt .Type VariableDeclaratorId VariableArityRecordComponent ::= Modifiersopt .Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId VariableArityRecordComponent ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1137 AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 732 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 732 Type Goto 732 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 543 ---------------------------------------------------------------------- ( 306 ) RecordComponentsopt ::= RecordComponents . (338) RecordComponents ::= RecordComponents .COMMA RecordComponent COMMA Shift 733 RPAREN Reduce 338 Default reduction to rule 338 STATE 544 ---------------------------------------------------------------------- ( 307 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1138 RecordBody ::= LBRACE RecordBodyDeclarationopt .RBRACE RBRACE Sh/Rd 345 STATE 545 ---------------------------------------------------------------------- ( 307 ) RecordBodyDeclarationopt ::= RecordBodyDeclarations . (347) RecordBodyDeclarations ::= RecordBodyDeclarations .RecordBodyDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (230) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1139 MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier RecordBodyDeclaration ::= .ClassBodyDeclaration RecordBodyDeclaration ::= .CompactConstructorDeclaration CompactConstructorDeclaration ::= .CompactConstructorHeader MethodBody CompactConstructorHeader ::= .CompactConstructorHeaderName MethodHeaderThrowsClauseopt CompactConstructorHeaderName ::= .Modifiersopt Identifier CompactConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1140 Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 139 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 ClassMemberDeclaration Goto 1018 StaticInitializer Goto 1018 ConstructorDeclaration Goto 1018 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 147 ConstructorHeader Goto 137 StaticOnly Goto 138 Modifier Goto 1002 Modifiers Goto 145 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 AbstractMethodDeclaration Goto 1018 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1141 MethodHeaderName Goto 143 ClassHeader Goto 94 ClassHeaderName1 Goto 93 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 FieldDeclaration Goto 1018 MethodDeclaration Goto 1018 ClassDeclaration Goto 1018 InterfaceDeclaration Goto 1018 EnumDeclaration Goto 1018 AnnotationTypeDeclaration Goto 1018 RecordDeclaration Goto 1018 CompactConstructorHeader Goto 146 CompactConstructorHeaderName Goto 148 ClassBodyDeclaration Gt/Rd 350 CompactConstructorDeclaration Gt/Rd 351 RecordBodyDeclaration Gt/Rd 349 RBRACE Reduce 347 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 230 Default reduction to rule 710 STATE 546 ---------------------------------------------------------------------- ( 308 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1142 ClassHeader ::= ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt .ClassHeaderPermittedSubclassesopt ClassHeaderPermittedSubclassesopt ::= . (724) ClassHeaderPermittedSubclasses ::= .RestrictedIdentifierpermits ClassTypeList RestrictedIdentifierpermits Shift 734 ClassHeaderPermittedSubclasses Gt/Rd 212 ClassHeaderPermittedSubclassesopt Gt/Rd 212 abstract Reduce 724 final Reduce 724 native Reduce 724 non-sealed Reduce 724 private Reduce 724 protected Reduce 724 public Reduce 724 static Reduce 724 strictfp Reduce 724 synchronized Reduce 724 transient Reduce 724 volatile Reduce 724 LBRACE Reduce 724 AT Reduce 724 RestrictedIdentifiersealed Reduce 724 $eof Reduce 724 Default reduction to rule 724 STATE 547 ---------------------------------------------------------------------- ( 309 ) EnumHeaderName ::= Modifiersopt enum Identifier . (744) EnumHeaderName ::= Modifiersopt enum Identifier .TypeParameters TypeParameters ::= .LESS TypeParameterList1 LESS Shift 303 TypeParameters Gt/Rd 745 abstract Reduce 744 final Reduce 744 implements Reduce 744 native Reduce 744 non-sealed Reduce 744 private Reduce 744 protected Reduce 744 public Reduce 744 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1143 static Reduce 744 strictfp Reduce 744 synchronized Reduce 744 transient Reduce 744 volatile Reduce 744 LBRACE Reduce 744 AT Reduce 744 RestrictedIdentifiersealed Reduce 744 $eof Reduce 744 Default reduction to rule 744 STATE 548 ---------------------------------------------------------------------- ( 313 ) ClassBody ::= LBRACE ClassBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 221 STATE 549 ---------------------------------------------------------------------- ( 313 528 ) ClassBodyDeclarationsopt ::= NestedType .ClassBodyDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclarations ::= .ClassBodyDeclaration ClassBodyDeclarations ::= .ClassBodyDeclarations ClassBodyDeclaration ClassBodyDeclaration ::= .ClassMemberDeclaration IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1144 ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (230) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1145 EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 139 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 ClassMemberDeclaration Goto 1019 StaticInitializer Goto 1019 ConstructorDeclaration Goto 1019 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 150 ConstructorHeader Goto 137 StaticOnly Goto 138 Modifier Goto 1002 Modifiers Goto 145 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1146 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 AbstractMethodDeclaration Goto 1019 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 94 ClassHeaderName1 Goto 93 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 FieldDeclaration Goto 1019 MethodDeclaration Goto 1019 ClassDeclaration Goto 1019 InterfaceDeclaration Goto 1019 EnumDeclaration Goto 1019 AnnotationTypeDeclaration Goto 1019 RecordDeclaration Goto 1019 ClassBodyDeclaration Gt/Rd 222 ClassBodyDeclarations Goto 735 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1147 LBRACE Reduce 230 Default reduction to rule 710 STATE 550 ---------------------------------------------------------------------- ( 314 ) TryStatementWithResources ::= try ResourceSpecification TryBlock .Catchesopt TryStatementWithResources ::= try ResourceSpecification TryBlock .Catchesopt Finally Catches ::= .CatchClause Catches ::= .Catches CatchClause CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block Catchesopt ::= . (740) Catchesopt ::= .Catches catch Shift 552 CatchClause Goto 1208 Catches Goto 737 Catchesopt Goto 736 Identifier Reduce 740 abstract Reduce 740 assert Reduce 740 boolean Reduce 740 break Reduce 740 byte Reduce 740 case Reduce 740 char Reduce 740 class Reduce 740 continue Reduce 740 default Reduce 740 do Reduce 740 double Reduce 740 else Reduce 740 enum Reduce 740 false Reduce 740 final Reduce 740 finally Reduce 740 float Reduce 740 for Reduce 740 if Reduce 740 int Reduce 740 interface Reduce 740 long Reduce 740 native Reduce 740 new Reduce 740 non-sealed Reduce 740 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1148 null Reduce 740 private Reduce 740 protected Reduce 740 public Reduce 740 return Reduce 740 short Reduce 740 static Reduce 740 strictfp Reduce 740 super Reduce 740 switch Reduce 740 synchronized Reduce 740 this Reduce 740 throw Reduce 740 transient Reduce 740 true Reduce 740 try Reduce 740 void Reduce 740 volatile Reduce 740 while Reduce 740 IntegerLiteral Reduce 740 LongLiteral Reduce 740 FloatingPointLiteral Reduce 740 DoubleLiteral Reduce 740 CharacterLiteral Reduce 740 StringLiteral Reduce 740 TextBlock Reduce 740 PLUS_PLUS Reduce 740 MINUS_MINUS Reduce 740 LESS Reduce 740 LPAREN Reduce 740 LBRACE Reduce 740 RBRACE Reduce 740 SEMICOLON Reduce 740 AT Reduce 740 BeginLambda Reduce 740 AT308 Reduce 740 RestrictedIdentifierYield Reduce 740 RestrictedIdentifierrecord Reduce 740 RestrictedIdentifiersealed Reduce 740 UNDERSCORE Reduce 740 $eof Reduce 740 Default reduction to rule 740 STATE 551 ---------------------------------------------------------------------- ( 315 ) TryStatement ::= try TryBlock Catchesopt .Finally Finally ::= .finally Block IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1149 finally Shift 738 Finally Gt/Rd 504 STATE 552 ---------------------------------------------------------------------- ( 315 550 553 737 ) CatchClause ::= catch .LPAREN CatchFormalParameter RPAREN Block LPAREN Shift 739 STATE 553 ---------------------------------------------------------------------- ( 315 ) TryStatement ::= try TryBlock Catches . (503) Catches ::= Catches .CatchClause Catchesopt ::= Catches . (741) CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block catch Shift 552 CatchClause Gt/Rd 521 finally Reduce 741 Identifier Reduce 503 abstract Reduce 503 assert Reduce 503 boolean Reduce 503 break Reduce 503 byte Reduce 503 case Reduce 503 char Reduce 503 class Reduce 503 continue Reduce 503 default Reduce 503 do Reduce 503 double Reduce 503 else Reduce 503 enum Reduce 503 false Reduce 503 final Reduce 503 float Reduce 503 for Reduce 503 if Reduce 503 int Reduce 503 interface Reduce 503 long Reduce 503 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1150 native Reduce 503 new Reduce 503 non-sealed Reduce 503 null Reduce 503 private Reduce 503 protected Reduce 503 public Reduce 503 return Reduce 503 short Reduce 503 static Reduce 503 strictfp Reduce 503 super Reduce 503 switch Reduce 503 synchronized Reduce 503 this Reduce 503 throw Reduce 503 transient Reduce 503 true Reduce 503 try Reduce 503 void Reduce 503 volatile Reduce 503 while Reduce 503 IntegerLiteral Reduce 503 LongLiteral Reduce 503 FloatingPointLiteral Reduce 503 DoubleLiteral Reduce 503 CharacterLiteral Reduce 503 StringLiteral Reduce 503 TextBlock Reduce 503 PLUS_PLUS Reduce 503 MINUS_MINUS Reduce 503 LESS Reduce 503 LPAREN Reduce 503 LBRACE Reduce 503 RBRACE Reduce 503 SEMICOLON Reduce 503 AT Reduce 503 BeginLambda Reduce 503 AT308 Reduce 503 RestrictedIdentifierYield Reduce 503 RestrictedIdentifierrecord Reduce 503 RestrictedIdentifiersealed Reduce 503 UNDERSCORE Reduce 503 $eof Reduce 503 Default reduction to rule 503 STATE 554 ---------------------------------------------------------------------- ( 317 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1151 ResourceSpecification ::= LPAREN Resources .;opt RPAREN Resources ::= Resources .TrailingSemiColon Resource ;opt ::= . (508) ;opt ::= .SEMICOLON TrailingSemiColon ::= .SEMICOLON SEMICOLON Shift 742 ;opt Goto 741 TrailingSemiColon Goto 740 RPAREN Reduce 508 Default reduction to rule 508 STATE 555 ---------------------------------------------------------------------- ( 317 740 ) ReferenceExpression ::= Primary .COLON_COLON NonWildTypeArgumentsopt Identifier ClassInstanceCreationExpression ::= Primary .DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= Primary .DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt FieldAccess ::= Primary .DOT Identifier MethodInvocation ::= Primary .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= Primary .DOT Identifier LPAREN ArgumentListopt RPAREN DOT Shift 232 COLON_COLON Shift 233 STATE 556 ---------------------------------------------------------------------- ( 317 740 ) Resource ::= FieldAccess . (517) PrimaryNoNewArray ::= FieldAccess . (534) LBRACKET Reduce 534 DOT Reduce 526 COLON_COLON Reduce 526 RPAREN Reduce 517 SEMICOLON Reduce 517 Default reduction to rule 534 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1152 STATE 557 ---------------------------------------------------------------------- ( 317 740 ) Resource ::= this . (516) PrimaryNoNewArray ::= this . (530) LBRACKET Reduce 530 DOT Reduce 530 COLON_COLON Reduce 530 RPAREN Reduce 516 SEMICOLON Reduce 516 Default reduction to rule 530 STATE 558 ---------------------------------------------------------------------- ( 317 740 ) ClassOrInterface ::= Name . (61) ArrayType ::= Name .Dims QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName Resource ::= Name . (515) PrimaryNoNewArray ::= Name .DOT this QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT class PrimaryNoNewArray ::= Name .Dims DOT class ReferenceExpression ::= Name .Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ClassInstanceCreationExpressionName ::= Name .DOT new MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1153 Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims LPAREN Shift 224 BeginTypeArguments Shift 225 DOT Shift 227 LBRACKET Shift 228 AT308 Shift 38 Dims Goto 344 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Goto 226 RPAREN Reduce 515 SEMICOLON Reduce 515 Identifier Reduce 61 LESS Reduce 61 UNDERSCORE Reduce 61 COLON_COLON Reduce 714 Default reduction to rule 61 STATE 559 ---------------------------------------------------------------------- ( 317 740 ) Modifiers ::= Modifiers .Modifier Resource ::= Modifiers .Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1154 ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifier ::= .Annotation Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Sh/Rd 196 volatile Sh/Rd 196 transient Sh/Rd 196 synchronized Sh/Rd 196 RestrictedIdentifiersealed Sh/Rd 196 non-sealed Sh/Rd 196 native Sh/Rd 196 final Sh/Rd 196 abstract Sh/Rd 196 static Sh/Rd 196 private Sh/Rd 196 protected Sh/Rd 196 public Sh/Rd 196 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1155 AT Shift 66 Identifier Shift 1004 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 743 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 743 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Modifier Gt/Rd 196 Type Goto 743 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 560 ---------------------------------------------------------------------- ( 317 740 ) Resource ::= Type .PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization PushModifiers ::= . (398) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1156 PushModifiers Goto 744 Identifier Reduce 398 UNDERSCORE Reduce 398 Default reduction to rule 398 STATE 561 ---------------------------------------------------------------------- ( 319 ) SynchronizedStatement ::= OnlySynchronized LPAREN Expression .RPAREN Block RPAREN Shift 745 STATE 562 ---------------------------------------------------------------------- ( 323 ) DoStatement ::= do Statement while .LPAREN Expression RPAREN SEMICOLON LPAREN Shift 746 STATE 563 ---------------------------------------------------------------------- ( 325 ) SwitchStatement ::= switch LPAREN Expression .RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock RPAREN Shift 747 STATE 564 ---------------------------------------------------------------------- ( 327 ) ExplicitConstructorInvocation ::= Primary DOT this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 748 STATE 565 ---------------------------------------------------------------------- ( 327 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments .this LPAREN ArgumentListopt RPAREN SEMICOLON MethodInvocation ::= Primary DOT OnlyTypeArguments .Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1157 ArgumentListopt RPAREN Identifier Shift 689 this Shift 749 super Shift 750 STATE 566 ---------------------------------------------------------------------- ( 327 ) ExplicitConstructorInvocation ::= Primary DOT super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 751 STATE 567 ---------------------------------------------------------------------- ( 328 ) ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 752 STATE 568 ---------------------------------------------------------------------- ( 329 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1158 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1159 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1160 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1161 RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1162 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1163 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 753 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 569 ---------------------------------------------------------------------- ( 330 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1164 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1165 ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1166 ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1167 ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1168 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1169 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 754 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 570 ---------------------------------------------------------------------- ( 331 ) ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 755 STATE 571 ---------------------------------------------------------------------- ( 332 ) Block ::= OpenBlock LBRACE BlockStatementsopt .RBRACE RBRACE Sh/Rd 381 STATE 572 ---------------------------------------------------------------------- ( 333 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1170 AssertStatement ::= assert Expression COLON .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1171 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1172 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1173 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1174 MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1175 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 756 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 573 ---------------------------------------------------------------------- ( 335 ) IfThenStatement ::= if LPAREN Expression .RPAREN PostExpressionInIf Statement IfThenElseStatement ::= if LPAREN Expression .RPAREN PostExpressionInIf StatementNoShortIf else Statement RPAREN Shift 757 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1176 STATE 574 ---------------------------------------------------------------------- ( 336 ) WhileStatement ::= while LPAREN Expression .RPAREN PostExpressionInWhile Statement RPAREN Shift 758 STATE 575 ---------------------------------------------------------------------- ( 337 ) ForStatement ::= for LPAREN ForInitopt .SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement SEMICOLON Shift 759 STATE 576 ---------------------------------------------------------------------- ( 337 934 ) LocalVariableDeclaration ::= Type .PushModifiers VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Type .PushModifiers VariableDeclaratorId PushModifiers ::= . (398) PushModifiers Goto 760 Identifier Reduce 398 UNDERSCORE Reduce 398 Default reduction to rule 398 STATE 577 ---------------------------------------------------------------------- ( 337 934 ) Modifiers ::= Modifiers .Modifier LocalVariableDeclaration ::= Modifiers .Type PushRealModifiers VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Modifiers .Type PushRealModifiers VariableDeclaratorId Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1177 ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifier ::= .Annotation Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Sh/Rd 196 volatile Sh/Rd 196 transient Sh/Rd 196 synchronized Sh/Rd 196 RestrictedIdentifiersealed Sh/Rd 196 non-sealed Sh/Rd 196 native Sh/Rd 196 final Sh/Rd 196 abstract Sh/Rd 196 static Sh/Rd 196 private Sh/Rd 196 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1178 protected Sh/Rd 196 public Sh/Rd 196 AT Shift 66 Identifier Shift 1004 AT308 Shift 38 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 761 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 761 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Modifier Gt/Rd 196 Type Goto 761 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 578 ---------------------------------------------------------------------- ( 337 490 934 ) ClassOrInterface ::= Name . (61) ArrayType ::= Name .Dims QualifiedName ::= Name .DOT SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1179 QualifiedName ::= Name .DOT TypeAnnotations SimpleName PrimaryNoNewArray ::= Name .DOT this QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT class PrimaryNoNewArray ::= Name .Dims DOT class ReferenceExpression ::= Name .Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ClassInstanceCreationExpressionName ::= Name .DOT new MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET PostfixExpression ::= Name . (620) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims LPAREN Shift 224 BeginTypeArguments Shift 225 DOT Shift 227 LBRACKET Shift 228 AT308 Shift 38 Dims Goto 344 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1180 TypeAnnotations Goto 213 Dimsopt Goto 226 instanceof Reduce 620 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 EQUAL_EQUAL Reduce 620 LESS_EQUAL Reduce 620 GREATER_EQUAL Reduce 620 NOT_EQUAL Reduce 620 LEFT_SHIFT Reduce 620 RIGHT_SHIFT Reduce 620 UNSIGNED_RIGHT_SHIFT Reduce 620 PLUS_EQUAL Reduce 620 MINUS_EQUAL Reduce 620 MULTIPLY_EQUAL Reduce 620 DIVIDE_EQUAL Reduce 620 AND_EQUAL Reduce 620 OR_EQUAL Reduce 620 XOR_EQUAL Reduce 620 REMAINDER_EQUAL Reduce 620 LEFT_SHIFT_EQUAL Reduce 620 RIGHT_SHIFT_EQUAL Reduce 620 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 620 OR_OR Reduce 620 AND_AND Reduce 620 PLUS Reduce 620 MINUS Reduce 620 REMAINDER Reduce 620 XOR Reduce 620 AND Reduce 620 MULTIPLY Reduce 620 OR Reduce 620 DIVIDE Reduce 620 RPAREN Reduce 620 QUESTION Reduce 620 EQUAL Reduce 620 Identifier Reduce 61 GREATER Reduce 61 LESS Reduce 61 COMMA Reduce 61 UNDERSCORE Reduce 61 COLON_COLON Reduce 714 Default reduction to rule 620 STATE 579 ---------------------------------------------------------------------- ( 337 934 ) ForInit ::= StatementExpressionList . (487) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1181 StatementExpressionList ::= StatementExpressionList .COMMA StatementExpression COMMA Shift 762 SEMICOLON Reduce 487 Default reduction to rule 487 STATE 580 ---------------------------------------------------------------------- ( 338 ) EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON Expression .RPAREN RPAREN Sh/Rd 766 STATE 581 ---------------------------------------------------------------------- ( 339 760 ) VariableDeclarators ::= VariableDeclarators .COMMA VariableDeclarator LocalVariableDeclaration ::= Type PushModifiers VariableDeclarators . (396) COMMA Shift 763 SEMICOLON Reduce 396 Default reduction to rule 396 STATE 582 ---------------------------------------------------------------------- ( 339 415 585 732 744 760 763 787 839 853 890 928 ) VariableDeclaratorId ::= Identifier .Dimsopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1182 OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) LBRACKET Shift 214 AT308 Shift 38 DimsLoop Goto 215 TypeAnnotations Goto 213 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 OneDimLoop Goto 1030 Dims Gt/Rd 253 Dimsopt Gt/Rd 253 RPAREN Reduce 714 SEMICOLON Reduce 714 COLON Reduce 714 COMMA Reduce 714 EQUAL Reduce 714 Default reduction to rule 714 STATE 583 ---------------------------------------------------------------------- ( 339 357 365 415 425 585 763 ) VariableDeclarator ::= VariableDeclaratorId .EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= VariableDeclaratorId .EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EnterVariable ::= . (248) EnterVariable Goto 764 SEMICOLON Reduce 248 COMMA Reduce 248 EQUAL Reduce 248 Default reduction to rule 248 STATE 584 ---------------------------------------------------------------------- ( 340 ) AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface . IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1183 Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface . Identifier Identifier Shift 765 STATE 585 ---------------------------------------------------------------------- ( 341 ) LocalVariableDeclaration ::= Modifiers Type PushRealModifiers . VariableDeclarators VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Goto 583 VariableDeclarator Goto 766 VariableDeclarators Goto 766 STATE 586 ---------------------------------------------------------------------- ( 342 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers . interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers . interface Identifier TypeParameters interface Shift 767 STATE 587 ---------------------------------------------------------------------- ( 343 ) ExplicitConstructorInvocation ::= Name DOT this .LPAREN ArgumentListopt RPAREN SEMICOLON PrimaryNoNewArray ::= Name DOT this . (535) LPAREN Shift 768 PLUS_PLUS Reduce 535 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1184 MINUS_MINUS Reduce 535 PLUS_EQUAL Reduce 535 MINUS_EQUAL Reduce 535 MULTIPLY_EQUAL Reduce 535 DIVIDE_EQUAL Reduce 535 AND_EQUAL Reduce 535 OR_EQUAL Reduce 535 XOR_EQUAL Reduce 535 REMAINDER_EQUAL Reduce 535 LEFT_SHIFT_EQUAL Reduce 535 RIGHT_SHIFT_EQUAL Reduce 535 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 535 LBRACKET Reduce 535 DOT Reduce 535 EQUAL Reduce 535 COLON_COLON Reduce 535 Default reduction to rule 535 STATE 588 ---------------------------------------------------------------------- ( 343 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments .this LPAREN ArgumentListopt RPAREN SEMICOLON MethodInvocation ::= Name DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 686 this Shift 769 super Shift 770 STATE 589 ---------------------------------------------------------------------- ( 343 ) ExplicitConstructorInvocation ::= Name DOT super .LPAREN ArgumentListopt RPAREN SEMICOLON QualifiedSuperReceiver ::= Name DOT super . (536) LPAREN Shift 771 DOT Reduce 536 COLON_COLON Reduce 536 Default reduction to rule 536 STATE 590 ---------------------------------------------------------------------- ( 345 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1185 ClassOrInterface ::= GenericType DOT Name . (62) ArrayTypeWithTypeArgumentsName ::= GenericType DOT Name . (65) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName DOT Shift 278 LBRACKET Reduce 65 AT308 Reduce 65 Identifier Reduce 62 abstract Reduce 62 final Reduce 62 instanceof Reduce 62 native Reduce 62 non-sealed Reduce 62 private Reduce 62 protected Reduce 62 public Reduce 62 static Reduce 62 strictfp Reduce 62 synchronized Reduce 62 this Reduce 62 transient Reduce 62 volatile Reduce 62 EQUAL_EQUAL Reduce 62 NOT_EQUAL Reduce 62 RIGHT_SHIFT Reduce 62 UNSIGNED_RIGHT_SHIFT Reduce 62 OR_OR Reduce 62 AND_AND Reduce 62 XOR Reduce 62 AND Reduce 62 OR Reduce 62 GREATER Reduce 62 LESS Reduce 62 LPAREN Reduce 62 RPAREN Reduce 62 RBRACE Reduce 62 RBRACKET Reduce 62 SEMICOLON Reduce 62 QUESTION Reduce 62 COLON Reduce 62 COMMA Reduce 62 AT Reduce 62 ELLIPSIS Reduce 62 ElidedSemicolonAndRightBrace Reduce 62 AT308DOTDOTDOT Reduce 62 BeginCaseExpr Reduce 62 RestrictedIdentifiersealed Reduce 62 UNDERSCORE Reduce 62 $eof Reduce 62 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1186 Default reduction to rule 62 STATE 591 ---------------------------------------------------------------------- ( 347 ) ArrayInitializer ::= LBRACE PushLeftBrace ,opt .RBRACE RBRACE Sh/Rd 376 STATE 592 ---------------------------------------------------------------------- ( 347 ) ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .RBRACE ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .COMMA RBRACE VariableInitializers ::= VariableInitializers .COMMA VariableInitializer COMMA Shift 772 RBRACE Sh/Rd 377 STATE 593 ---------------------------------------------------------------------- ( 348 ) ClassBodyDeclaration ::= Diet NestedMethod CreateInitializer .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) OpenBlock Goto 114 Block Gt/Rd 229 LBRACE Reduce 382 Default reduction to rule 382 STATE 594 ---------------------------------------------------------------------- ( 349 ) ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (718) throws Shift 359 MethodHeaderThrowsClause Gt/Rd 271 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1187 MethodHeaderThrowsClauseopt Gt/Rd 271 abstract Reduce 718 final Reduce 718 native Reduce 718 non-sealed Reduce 718 private Reduce 718 protected Reduce 718 public Reduce 718 static Reduce 718 strictfp Reduce 718 synchronized Reduce 718 transient Reduce 718 volatile Reduce 718 LBRACE Reduce 718 SEMICOLON Reduce 718 AT Reduce 718 RestrictedIdentifiersealed Reduce 718 $eof Reduce 718 Default reduction to rule 718 STATE 595 ---------------------------------------------------------------------- ( 351 ) DefaultMethodHeaderName ::= ModifiersWithDefault Type Identifier .LPAREN LPAREN Sh/Rd 266 STATE 596 ---------------------------------------------------------------------- ( 352 ) DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type . Identifier LPAREN Identifier Shift 773 STATE 597 ---------------------------------------------------------------------- ( 353 ) DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims MethodHeaderThrowsClauseopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1188 TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MethodHeaderExtendedDims ::= .Dimsopt Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims LBRACKET Shift 214 AT308 Shift 38 Dims Goto 1209 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Gt/Rd 269 MethodHeaderExtendedDims Goto 774 throws Reduce 714 LBRACE Reduce 714 SEMICOLON Reduce 714 Default reduction to rule 714 STATE 598 ---------------------------------------------------------------------- ( 354 ) MethodHeader ::= MethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims MethodHeaderThrowsClauseopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1189 TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MethodHeaderExtendedDims ::= .Dimsopt Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims LBRACKET Shift 214 AT308 Shift 38 Dims Goto 1209 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Gt/Rd 269 MethodHeaderExtendedDims Goto 775 throws Reduce 714 LBRACE Reduce 714 SEMICOLON Reduce 714 Default reduction to rule 714 STATE 599 ---------------------------------------------------------------------- ( 356 360 671 ) MethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN Identifier Shift 776 STATE 600 ---------------------------------------------------------------------- ( 356 ) SimpleName ::= Identifier . (74) ConstructorHeaderName ::= Modifiersopt TypeParameters Identifier .LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1190 CompactConstructorHeaderName ::= Modifiersopt TypeParameters Identifier . (355) LPAREN Sh/Rd 272 throws Reduce 355 LBRACE Reduce 355 Identifier Reduce 71 LESS Reduce 71 LBRACKET Reduce 71 DOT Reduce 71 AT308 Reduce 71 Default reduction to rule 74 STATE 601 ---------------------------------------------------------------------- ( 357 365 415 425 ) FieldDeclaration ::= Modifiersopt Type VariableDeclarators .SEMICOLON VariableDeclarators ::= VariableDeclarators .COMMA VariableDeclarator COMMA Shift 763 SEMICOLON Sh/Rd 243 STATE 602 ---------------------------------------------------------------------- ( 357 ) VariableDeclaratorId ::= Identifier .Dimsopt MethodHeaderName ::= Modifiersopt Type Identifier .LPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) LPAREN Sh/Rd 264 AT308 Shift 38 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1191 LBRACKET Shift 214 DimsLoop Goto 215 TypeAnnotations Goto 213 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 OneDimLoop Goto 1030 Dims Gt/Rd 253 Dimsopt Gt/Rd 253 SEMICOLON Reduce 714 COMMA Reduce 714 EQUAL Reduce 714 Default reduction to rule 714 STATE 603 ---------------------------------------------------------------------- ( 359 ) MethodHeaderThrowsClause ::= throws ClassTypeList . (270) ClassTypeList ::= ClassTypeList .COMMA ClassTypeElt COMMA Shift 279 abstract Reduce 270 final Reduce 270 native Reduce 270 non-sealed Reduce 270 private Reduce 270 protected Reduce 270 public Reduce 270 static Reduce 270 strictfp Reduce 270 synchronized Reduce 270 transient Reduce 270 volatile Reduce 270 LBRACE Reduce 270 SEMICOLON Reduce 270 AT Reduce 270 RestrictedIdentifiersealed Reduce 270 $eof Reduce 270 Default reduction to rule 270 STATE 604 ---------------------------------------------------------------------- ( 360 364 438 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1192 SimpleName ::= Identifier . (74) ConstructorHeaderName ::= Modifiersopt TypeParameters Identifier .LPAREN LPAREN Sh/Rd 272 Identifier Reduce 71 LESS Reduce 71 LBRACKET Reduce 71 DOT Reduce 71 AT308 Reduce 71 Default reduction to rule 74 STATE 605 ---------------------------------------------------------------------- ( 362 ) MethodHeaderName ::= Modifiersopt Type Identifier .LPAREN LPAREN Sh/Rd 264 STATE 606 ---------------------------------------------------------------------- ( 363 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PackageDeclarationName ::= PackageComment package Name .RejectTypeAnnotations RejectTypeAnnotations ::= . (91) DOT Shift 278 RejectTypeAnnotations Gt/Rd 179 SEMICOLON Reduce 91 Default reduction to rule 91 STATE 607 ---------------------------------------------------------------------- ( 364 ) AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN Identifier Shift 777 STATE 608 ---------------------------------------------------------------------- ( 365 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1193 VariableDeclaratorId ::= Identifier .Dimsopt AnnotationMethodHeaderName ::= Modifiersopt Type Identifier .LPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) LPAREN Sh/Rd 909 AT308 Shift 38 LBRACKET Shift 214 DimsLoop Goto 215 TypeAnnotations Goto 213 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 OneDimLoop Goto 1030 Dims Gt/Rd 253 Dimsopt Gt/Rd 253 SEMICOLON Reduce 714 COMMA Reduce 714 EQUAL Reduce 714 Default reduction to rule 714 STATE 609 ---------------------------------------------------------------------- ( 366 ) PackageDeclarationName ::= Modifiers package PushRealModifiers .Name RejectTypeAnnotations Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1194 Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 Name Goto 778 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 778 STATE 610 ---------------------------------------------------------------------- ( 367 ) AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MethodHeaderExtendedDims ::= .Dimsopt Dims ::= .DimsLoop IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1195 DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims LBRACKET Shift 214 AT308 Shift 38 Dims Goto 1209 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Gt/Rd 269 MethodHeaderExtendedDims Goto 779 default Reduce 714 SEMICOLON Reduce 714 Default reduction to rule 714 STATE 611 ---------------------------------------------------------------------- ( 368 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName SingleStaticImportDeclarationName ::= import static Name . RejectTypeAnnotations StaticImportOnDemandDeclarationName ::= import static Name .DOT RejectTypeAnnotations MULTIPLY RejectTypeAnnotations ::= . (91) DOT Shift 780 RejectTypeAnnotations Gt/Rd 768 SEMICOLON Reduce 91 Default reduction to rule 91 STATE 612 ---------------------------------------------------------------------- ( 369 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1196 QualifiedName ::= Name DOT .SimpleName QualifiedName ::= Name DOT .TypeAnnotations SimpleName TypeImportOnDemandDeclarationName ::= import Name DOT .RejectTypeAnnotations MULTIPLY TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RejectTypeAnnotations ::= . (91) AT308 Shift 38 Identifier Sh/Rd 77 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 SimpleName Gt/Rd 77 TypeAnnotations Goto 468 RejectTypeAnnotations Goto 781 MULTIPLY Reduce 91 Default reduction to rule 91 STATE 613 ---------------------------------------------------------------------- ( 370 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace .MemberValues COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace .MemberValues RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace .COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace .RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1197 Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1198 PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1199 FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1200 UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1201 InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValue ::= .Name MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (938) MemberValues ::= .MemberValues COMMA MemberValue MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RBRACE Sh/Rd 937 COMMA Shift 782 MINUS Shift 170 PLUS Shift 171 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1202 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1210 true Shift 1210 null Shift 1210 TextBlock Shift 1210 StringLiteral Shift 1210 CharacterLiteral Shift 1210 DoubleLiteral Shift 1210 FloatingPointLiteral Shift 1210 LongLiteral Shift 1210 IntegerLiteral Shift 1210 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AT Shift 66 ConditionalExpression_NotName Goto 783 Name Goto 182 Annotation Goto 783 MemberValueArrayInitializer Goto 783 EnterMemberValueArrayInitializer Goto 163 AnnotationName Goto 67 NormalAnnotation Goto 783 MarkerAnnotation Goto 783 SingleMemberAnnotation Goto 783 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 ShiftExpression_NotName Goto 175 UnaryExpression_NotName Goto 1211 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1211 PostfixExpression_NotName Goto 1211 CastExpression Goto 1211 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1218 BooleanLiteral Goto 1210 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1203 Primary Goto 169 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1023 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1210 ClassInstanceCreationExpression Goto 1217 FieldAccess Goto 1216 MethodInvocation Goto 1215 ArrayAccess Goto 1214 LambdaExpression Goto 1213 ReferenceExpression Goto 1212 PostfixExpression Goto 166 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1211 PreDecrementExpression Goto 1211 UnaryExpressionNotPlusMinus_NotName Goto 1211 MemberValue Goto 783 MemberValues Goto 783 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 LBRACE Reduce 938 Default reduction to rule 79 STATE 614 ---------------------------------------------------------------------- ( 375 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1204 MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= AdditiveExpression_NotName MINUS MultiplicativeExpression . (850) REMAINDER Shift 248 DIVIDE Shift 249 MULTIPLY Shift 250 abstract Reduce 850 final Reduce 850 instanceof Reduce 850 native Reduce 850 non-sealed Reduce 850 private Reduce 850 protected Reduce 850 public Reduce 850 static Reduce 850 strictfp Reduce 850 synchronized Reduce 850 transient Reduce 850 volatile Reduce 850 EQUAL_EQUAL Reduce 850 LESS_EQUAL Reduce 850 GREATER_EQUAL Reduce 850 NOT_EQUAL Reduce 850 LEFT_SHIFT Reduce 850 RIGHT_SHIFT Reduce 850 UNSIGNED_RIGHT_SHIFT Reduce 850 OR_OR Reduce 850 AND_AND Reduce 850 PLUS Reduce 850 MINUS Reduce 850 XOR Reduce 850 AND Reduce 850 OR Reduce 850 GREATER Reduce 850 LESS Reduce 850 RPAREN Reduce 850 RBRACE Reduce 850 SEMICOLON Reduce 850 QUESTION Reduce 850 COMMA Reduce 850 AT Reduce 850 RestrictedIdentifiersealed Reduce 850 $eof Reduce 850 Default reduction to rule 850 STATE 615 ---------------------------------------------------------------------- ( 376 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1205 MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= AdditiveExpression_NotName PLUS MultiplicativeExpression . (848) REMAINDER Shift 248 DIVIDE Shift 249 MULTIPLY Shift 250 abstract Reduce 848 final Reduce 848 instanceof Reduce 848 native Reduce 848 non-sealed Reduce 848 private Reduce 848 protected Reduce 848 public Reduce 848 static Reduce 848 strictfp Reduce 848 synchronized Reduce 848 transient Reduce 848 volatile Reduce 848 EQUAL_EQUAL Reduce 848 LESS_EQUAL Reduce 848 GREATER_EQUAL Reduce 848 NOT_EQUAL Reduce 848 LEFT_SHIFT Reduce 848 RIGHT_SHIFT Reduce 848 UNSIGNED_RIGHT_SHIFT Reduce 848 OR_OR Reduce 848 AND_AND Reduce 848 PLUS Reduce 848 MINUS Reduce 848 XOR Reduce 848 AND Reduce 848 OR Reduce 848 GREATER Reduce 848 LESS Reduce 848 RPAREN Reduce 848 RBRACE Reduce 848 SEMICOLON Reduce 848 QUESTION Reduce 848 COMMA Reduce 848 AT Reduce 848 RestrictedIdentifiersealed Reduce 848 $eof Reduce 848 Default reduction to rule 848 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1206 STATE 616 ---------------------------------------------------------------------- ( 380 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= RelationalExpression_NotName GREATER_EQUAL ShiftExpression . (866) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 866 final Reduce 866 instanceof Reduce 866 native Reduce 866 non-sealed Reduce 866 private Reduce 866 protected Reduce 866 public Reduce 866 static Reduce 866 strictfp Reduce 866 synchronized Reduce 866 transient Reduce 866 volatile Reduce 866 EQUAL_EQUAL Reduce 866 LESS_EQUAL Reduce 866 GREATER_EQUAL Reduce 866 NOT_EQUAL Reduce 866 OR_OR Reduce 866 AND_AND Reduce 866 XOR Reduce 866 AND Reduce 866 OR Reduce 866 RPAREN Reduce 866 RBRACE Reduce 866 SEMICOLON Reduce 866 QUESTION Reduce 866 COMMA Reduce 866 AT Reduce 866 RestrictedIdentifiersealed Reduce 866 $eof Reduce 866 Default reduction to rule 866 STATE 617 ---------------------------------------------------------------------- ( 381 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1207 ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= RelationalExpression_NotName LESS_EQUAL ShiftExpression . (864) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 864 final Reduce 864 instanceof Reduce 864 native Reduce 864 non-sealed Reduce 864 private Reduce 864 protected Reduce 864 public Reduce 864 static Reduce 864 strictfp Reduce 864 synchronized Reduce 864 transient Reduce 864 volatile Reduce 864 EQUAL_EQUAL Reduce 864 LESS_EQUAL Reduce 864 GREATER_EQUAL Reduce 864 NOT_EQUAL Reduce 864 OR_OR Reduce 864 AND_AND Reduce 864 XOR Reduce 864 AND Reduce 864 OR Reduce 864 RPAREN Reduce 864 RBRACE Reduce 864 SEMICOLON Reduce 864 QUESTION Reduce 864 COMMA Reduce 864 AT Reduce 864 RestrictedIdentifiersealed Reduce 864 $eof Reduce 864 Default reduction to rule 864 STATE 618 ---------------------------------------------------------------------- ( 382 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= ShiftExpression_NotName GREATER IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1208 ShiftExpression . (862) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 862 final Reduce 862 instanceof Reduce 862 native Reduce 862 non-sealed Reduce 862 private Reduce 862 protected Reduce 862 public Reduce 862 static Reduce 862 strictfp Reduce 862 synchronized Reduce 862 transient Reduce 862 volatile Reduce 862 EQUAL_EQUAL Reduce 862 LESS_EQUAL Reduce 862 GREATER_EQUAL Reduce 862 NOT_EQUAL Reduce 862 OR_OR Reduce 862 AND_AND Reduce 862 XOR Reduce 862 AND Reduce 862 OR Reduce 862 RPAREN Reduce 862 RBRACE Reduce 862 SEMICOLON Reduce 862 QUESTION Reduce 862 COMMA Reduce 862 AT Reduce 862 RestrictedIdentifiersealed Reduce 862 $eof Reduce 862 Default reduction to rule 862 STATE 619 ---------------------------------------------------------------------- ( 383 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= ShiftExpression_NotName LESS ShiftExpression . (860) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1209 LEFT_SHIFT Shift 253 abstract Reduce 860 final Reduce 860 instanceof Reduce 860 native Reduce 860 non-sealed Reduce 860 private Reduce 860 protected Reduce 860 public Reduce 860 static Reduce 860 strictfp Reduce 860 synchronized Reduce 860 transient Reduce 860 volatile Reduce 860 EQUAL_EQUAL Reduce 860 LESS_EQUAL Reduce 860 GREATER_EQUAL Reduce 860 NOT_EQUAL Reduce 860 OR_OR Reduce 860 AND_AND Reduce 860 XOR Reduce 860 AND Reduce 860 OR Reduce 860 RPAREN Reduce 860 RBRACE Reduce 860 SEMICOLON Reduce 860 QUESTION Reduce 860 COMMA Reduce 860 AT Reduce 860 RestrictedIdentifiersealed Reduce 860 $eof Reduce 860 Default reduction to rule 860 STATE 620 ---------------------------------------------------------------------- ( 384 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression . (857) MINUS Shift 254 PLUS Shift 255 abstract Reduce 857 final Reduce 857 instanceof Reduce 857 native Reduce 857 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1210 non-sealed Reduce 857 private Reduce 857 protected Reduce 857 public Reduce 857 static Reduce 857 strictfp Reduce 857 synchronized Reduce 857 transient Reduce 857 volatile Reduce 857 EQUAL_EQUAL Reduce 857 LESS_EQUAL Reduce 857 GREATER_EQUAL Reduce 857 NOT_EQUAL Reduce 857 LEFT_SHIFT Reduce 857 RIGHT_SHIFT Reduce 857 UNSIGNED_RIGHT_SHIFT Reduce 857 OR_OR Reduce 857 AND_AND Reduce 857 XOR Reduce 857 AND Reduce 857 OR Reduce 857 GREATER Reduce 857 LESS Reduce 857 RPAREN Reduce 857 RBRACE Reduce 857 SEMICOLON Reduce 857 QUESTION Reduce 857 COMMA Reduce 857 AT Reduce 857 RestrictedIdentifiersealed Reduce 857 $eof Reduce 857 Default reduction to rule 857 STATE 621 ---------------------------------------------------------------------- ( 385 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression . (855) MINUS Shift 254 PLUS Shift 255 abstract Reduce 855 final Reduce 855 instanceof Reduce 855 native Reduce 855 non-sealed Reduce 855 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1211 private Reduce 855 protected Reduce 855 public Reduce 855 static Reduce 855 strictfp Reduce 855 synchronized Reduce 855 transient Reduce 855 volatile Reduce 855 EQUAL_EQUAL Reduce 855 LESS_EQUAL Reduce 855 GREATER_EQUAL Reduce 855 NOT_EQUAL Reduce 855 LEFT_SHIFT Reduce 855 RIGHT_SHIFT Reduce 855 UNSIGNED_RIGHT_SHIFT Reduce 855 OR_OR Reduce 855 AND_AND Reduce 855 XOR Reduce 855 AND Reduce 855 OR Reduce 855 GREATER Reduce 855 LESS Reduce 855 RPAREN Reduce 855 RBRACE Reduce 855 SEMICOLON Reduce 855 QUESTION Reduce 855 COMMA Reduce 855 AT Reduce 855 RestrictedIdentifiersealed Reduce 855 $eof Reduce 855 Default reduction to rule 855 STATE 622 ---------------------------------------------------------------------- ( 386 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= ShiftExpression_NotName LEFT_SHIFT AdditiveExpression . (853) MINUS Shift 254 PLUS Shift 255 abstract Reduce 853 final Reduce 853 instanceof Reduce 853 native Reduce 853 non-sealed Reduce 853 private Reduce 853 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1212 protected Reduce 853 public Reduce 853 static Reduce 853 strictfp Reduce 853 synchronized Reduce 853 transient Reduce 853 volatile Reduce 853 EQUAL_EQUAL Reduce 853 LESS_EQUAL Reduce 853 GREATER_EQUAL Reduce 853 NOT_EQUAL Reduce 853 LEFT_SHIFT Reduce 853 RIGHT_SHIFT Reduce 853 UNSIGNED_RIGHT_SHIFT Reduce 853 OR_OR Reduce 853 AND_AND Reduce 853 XOR Reduce 853 AND Reduce 853 OR Reduce 853 GREATER Reduce 853 LESS Reduce 853 RPAREN Reduce 853 RBRACE Reduce 853 SEMICOLON Reduce 853 QUESTION Reduce 853 COMMA Reduce 853 AT Reduce 853 RestrictedIdentifiersealed Reduce 853 $eof Reduce 853 Default reduction to rule 853 STATE 623 ---------------------------------------------------------------------- ( 387 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression_NotName ::= EqualityExpression_NotName NOT_EQUAL InstanceofExpression . (874) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern instanceof Shift 256 InstanceofClassic Gt/Rd 357 InstanceofPattern Gt/Rd 357 InstanceofRHS Gt/Rd 357 abstract Reduce 874 final Reduce 874 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1213 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 EQUAL_EQUAL Reduce 874 NOT_EQUAL Reduce 874 OR_OR Reduce 874 AND_AND Reduce 874 XOR Reduce 874 AND Reduce 874 OR Reduce 874 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 874 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 874 STATE 624 ---------------------------------------------------------------------- ( 388 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression_NotName ::= EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression . (872) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern instanceof Shift 256 InstanceofClassic Gt/Rd 357 InstanceofPattern Gt/Rd 357 InstanceofRHS Gt/Rd 357 abstract Reduce 872 final Reduce 872 native Reduce 872 non-sealed Reduce 872 private Reduce 872 protected Reduce 872 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1214 public Reduce 872 static Reduce 872 strictfp Reduce 872 synchronized Reduce 872 transient Reduce 872 volatile Reduce 872 EQUAL_EQUAL Reduce 872 NOT_EQUAL Reduce 872 OR_OR Reduce 872 AND_AND Reduce 872 XOR Reduce 872 AND Reduce 872 OR Reduce 872 RPAREN Reduce 872 RBRACE Reduce 872 SEMICOLON Reduce 872 QUESTION Reduce 872 COMMA Reduce 872 AT Reduce 872 RestrictedIdentifiersealed Reduce 872 $eof Reduce 872 Default reduction to rule 872 STATE 625 ---------------------------------------------------------------------- ( 389 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName XOR AndExpression . (880) AND Shift 261 abstract Reduce 880 final Reduce 880 native Reduce 880 non-sealed Reduce 880 private Reduce 880 protected Reduce 880 public Reduce 880 static Reduce 880 strictfp Reduce 880 synchronized Reduce 880 transient Reduce 880 volatile Reduce 880 OR_OR Reduce 880 AND_AND Reduce 880 XOR Reduce 880 OR Reduce 880 RPAREN Reduce 880 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1215 RBRACE Reduce 880 SEMICOLON Reduce 880 QUESTION Reduce 880 COMMA Reduce 880 AT Reduce 880 RestrictedIdentifiersealed Reduce 880 $eof Reduce 880 Default reduction to rule 880 STATE 626 ---------------------------------------------------------------------- ( 390 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= AndExpression_NotName AND EqualityExpression . (877) NOT_EQUAL Shift 262 EQUAL_EQUAL Shift 263 abstract Reduce 877 final Reduce 877 native Reduce 877 non-sealed Reduce 877 private Reduce 877 protected Reduce 877 public Reduce 877 static Reduce 877 strictfp Reduce 877 synchronized Reduce 877 transient Reduce 877 volatile Reduce 877 OR_OR Reduce 877 AND_AND Reduce 877 XOR Reduce 877 AND Reduce 877 OR Reduce 877 RPAREN Reduce 877 RBRACE Reduce 877 SEMICOLON Reduce 877 QUESTION Reduce 877 COMMA Reduce 877 AT Reduce 877 RestrictedIdentifiersealed Reduce 877 $eof Reduce 877 Default reduction to rule 877 STATE 627 ---------------------------------------------------------------------- ( 391 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1216 InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName AND_AND InclusiveOrExpression . (886) OR Shift 264 abstract Reduce 886 final Reduce 886 native Reduce 886 non-sealed Reduce 886 private Reduce 886 protected Reduce 886 public Reduce 886 static Reduce 886 strictfp Reduce 886 synchronized Reduce 886 transient Reduce 886 volatile Reduce 886 OR_OR Reduce 886 AND_AND Reduce 886 RPAREN Reduce 886 RBRACE Reduce 886 SEMICOLON Reduce 886 QUESTION Reduce 886 COMMA Reduce 886 AT Reduce 886 RestrictedIdentifiersealed Reduce 886 $eof Reduce 886 Default reduction to rule 886 STATE 628 ---------------------------------------------------------------------- ( 392 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName OR ExclusiveOrExpression . (883) XOR Shift 265 abstract Reduce 883 final Reduce 883 native Reduce 883 non-sealed Reduce 883 private Reduce 883 protected Reduce 883 public Reduce 883 static Reduce 883 strictfp Reduce 883 synchronized Reduce 883 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1217 transient Reduce 883 volatile Reduce 883 OR_OR Reduce 883 AND_AND Reduce 883 OR Reduce 883 RPAREN Reduce 883 RBRACE Reduce 883 SEMICOLON Reduce 883 QUESTION Reduce 883 COMMA Reduce 883 AT Reduce 883 RestrictedIdentifiersealed Reduce 883 $eof Reduce 883 Default reduction to rule 883 STATE 629 ---------------------------------------------------------------------- ( 393 ) ConditionalExpression_NotName ::= Name QUESTION Expression .COLON ConditionalExpression COLON Shift 784 STATE 630 ---------------------------------------------------------------------- ( 394 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= Name OR_OR ConditionalAndExpression . (890) AND_AND Shift 268 abstract Reduce 890 final Reduce 890 native Reduce 890 non-sealed Reduce 890 private Reduce 890 protected Reduce 890 public Reduce 890 static Reduce 890 strictfp Reduce 890 synchronized Reduce 890 transient Reduce 890 volatile Reduce 890 OR_OR Reduce 890 RPAREN Reduce 890 RBRACE Reduce 890 SEMICOLON Reduce 890 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1218 QUESTION Reduce 890 COMMA Reduce 890 AT Reduce 890 RestrictedIdentifiersealed Reduce 890 $eof Reduce 890 Default reduction to rule 890 STATE 631 ---------------------------------------------------------------------- ( 395 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= Name AND_AND InclusiveOrExpression . (887) OR Shift 264 abstract Reduce 887 final Reduce 887 native Reduce 887 non-sealed Reduce 887 private Reduce 887 protected Reduce 887 public Reduce 887 static Reduce 887 strictfp Reduce 887 synchronized Reduce 887 transient Reduce 887 volatile Reduce 887 OR_OR Reduce 887 AND_AND Reduce 887 RPAREN Reduce 887 RBRACE Reduce 887 SEMICOLON Reduce 887 QUESTION Reduce 887 COMMA Reduce 887 AT Reduce 887 RestrictedIdentifiersealed Reduce 887 $eof Reduce 887 Default reduction to rule 887 STATE 632 ---------------------------------------------------------------------- ( 396 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression_NotName ::= Name OR ExclusiveOrExpression . (884) XOR Shift 265 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1219 abstract Reduce 884 final Reduce 884 native Reduce 884 non-sealed Reduce 884 private Reduce 884 protected Reduce 884 public Reduce 884 static Reduce 884 strictfp Reduce 884 synchronized Reduce 884 transient Reduce 884 volatile Reduce 884 OR_OR Reduce 884 AND_AND Reduce 884 OR Reduce 884 RPAREN Reduce 884 RBRACE Reduce 884 SEMICOLON Reduce 884 QUESTION Reduce 884 COMMA Reduce 884 AT Reduce 884 RestrictedIdentifiersealed Reduce 884 $eof Reduce 884 Default reduction to rule 884 STATE 633 ---------------------------------------------------------------------- ( 397 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression_NotName ::= Name XOR AndExpression . (881) AND Shift 261 abstract Reduce 881 final Reduce 881 native Reduce 881 non-sealed Reduce 881 private Reduce 881 protected Reduce 881 public Reduce 881 static Reduce 881 strictfp Reduce 881 synchronized Reduce 881 transient Reduce 881 volatile Reduce 881 OR_OR Reduce 881 AND_AND Reduce 881 XOR Reduce 881 OR Reduce 881 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1220 RPAREN Reduce 881 RBRACE Reduce 881 SEMICOLON Reduce 881 QUESTION Reduce 881 COMMA Reduce 881 AT Reduce 881 RestrictedIdentifiersealed Reduce 881 $eof Reduce 881 Default reduction to rule 881 STATE 634 ---------------------------------------------------------------------- ( 398 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= Name AND EqualityExpression . (878) NOT_EQUAL Shift 262 EQUAL_EQUAL Shift 263 abstract Reduce 878 final Reduce 878 native Reduce 878 non-sealed Reduce 878 private Reduce 878 protected Reduce 878 public Reduce 878 static Reduce 878 strictfp Reduce 878 synchronized Reduce 878 transient Reduce 878 volatile Reduce 878 OR_OR Reduce 878 AND_AND Reduce 878 XOR Reduce 878 AND Reduce 878 OR Reduce 878 RPAREN Reduce 878 RBRACE Reduce 878 SEMICOLON Reduce 878 QUESTION Reduce 878 COMMA Reduce 878 AT Reduce 878 RestrictedIdentifiersealed Reduce 878 $eof Reduce 878 Default reduction to rule 878 STATE 635 ---------------------------------------------------------------------- ( 399 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1221 InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression_NotName ::= Name NOT_EQUAL InstanceofExpression . (875) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern instanceof Shift 256 InstanceofClassic Gt/Rd 357 InstanceofPattern Gt/Rd 357 InstanceofRHS Gt/Rd 357 abstract Reduce 875 final Reduce 875 native Reduce 875 non-sealed Reduce 875 private Reduce 875 protected Reduce 875 public Reduce 875 static Reduce 875 strictfp Reduce 875 synchronized Reduce 875 transient Reduce 875 volatile Reduce 875 EQUAL_EQUAL Reduce 875 NOT_EQUAL Reduce 875 OR_OR Reduce 875 AND_AND Reduce 875 XOR Reduce 875 AND Reduce 875 OR Reduce 875 RPAREN Reduce 875 RBRACE Reduce 875 SEMICOLON Reduce 875 QUESTION Reduce 875 COMMA Reduce 875 AT Reduce 875 RestrictedIdentifiersealed Reduce 875 $eof Reduce 875 Default reduction to rule 875 STATE 636 ---------------------------------------------------------------------- ( 400 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression_NotName ::= Name EQUAL_EQUAL InstanceofExpression . (873) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPattern ::= .instanceof Pattern IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1222 instanceof Shift 256 InstanceofClassic Gt/Rd 357 InstanceofPattern Gt/Rd 357 InstanceofRHS Gt/Rd 357 abstract Reduce 873 final Reduce 873 native Reduce 873 non-sealed Reduce 873 private Reduce 873 protected Reduce 873 public Reduce 873 static Reduce 873 strictfp Reduce 873 synchronized Reduce 873 transient Reduce 873 volatile Reduce 873 EQUAL_EQUAL Reduce 873 NOT_EQUAL Reduce 873 OR_OR Reduce 873 AND_AND Reduce 873 XOR Reduce 873 AND Reduce 873 OR Reduce 873 RPAREN Reduce 873 RBRACE Reduce 873 SEMICOLON Reduce 873 QUESTION Reduce 873 COMMA Reduce 873 AT Reduce 873 RestrictedIdentifiersealed Reduce 873 $eof Reduce 873 Default reduction to rule 873 STATE 637 ---------------------------------------------------------------------- ( 401 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name GREATER_EQUAL ShiftExpression . (867) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 867 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1223 final Reduce 867 instanceof Reduce 867 native Reduce 867 non-sealed Reduce 867 private Reduce 867 protected Reduce 867 public Reduce 867 static Reduce 867 strictfp Reduce 867 synchronized Reduce 867 transient Reduce 867 volatile Reduce 867 EQUAL_EQUAL Reduce 867 LESS_EQUAL Reduce 867 GREATER_EQUAL Reduce 867 NOT_EQUAL Reduce 867 OR_OR Reduce 867 AND_AND Reduce 867 XOR Reduce 867 AND Reduce 867 OR Reduce 867 RPAREN Reduce 867 RBRACE Reduce 867 SEMICOLON Reduce 867 QUESTION Reduce 867 COMMA Reduce 867 AT Reduce 867 RestrictedIdentifiersealed Reduce 867 $eof Reduce 867 Default reduction to rule 867 STATE 638 ---------------------------------------------------------------------- ( 402 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name LESS_EQUAL ShiftExpression . (865) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 865 final Reduce 865 instanceof Reduce 865 native Reduce 865 non-sealed Reduce 865 private Reduce 865 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1224 protected Reduce 865 public Reduce 865 static Reduce 865 strictfp Reduce 865 synchronized Reduce 865 transient Reduce 865 volatile Reduce 865 EQUAL_EQUAL Reduce 865 LESS_EQUAL Reduce 865 GREATER_EQUAL Reduce 865 NOT_EQUAL Reduce 865 OR_OR Reduce 865 AND_AND Reduce 865 XOR Reduce 865 AND Reduce 865 OR Reduce 865 RPAREN Reduce 865 RBRACE Reduce 865 SEMICOLON Reduce 865 QUESTION Reduce 865 COMMA Reduce 865 AT Reduce 865 RestrictedIdentifiersealed Reduce 865 $eof Reduce 865 Default reduction to rule 865 STATE 639 ---------------------------------------------------------------------- ( 403 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name GREATER ShiftExpression . (863) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 863 final Reduce 863 instanceof Reduce 863 native Reduce 863 non-sealed Reduce 863 private Reduce 863 protected Reduce 863 public Reduce 863 static Reduce 863 strictfp Reduce 863 synchronized Reduce 863 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1225 transient Reduce 863 volatile Reduce 863 EQUAL_EQUAL Reduce 863 LESS_EQUAL Reduce 863 GREATER_EQUAL Reduce 863 NOT_EQUAL Reduce 863 OR_OR Reduce 863 AND_AND Reduce 863 XOR Reduce 863 AND Reduce 863 OR Reduce 863 RPAREN Reduce 863 RBRACE Reduce 863 SEMICOLON Reduce 863 QUESTION Reduce 863 COMMA Reduce 863 AT Reduce 863 RestrictedIdentifiersealed Reduce 863 $eof Reduce 863 Default reduction to rule 863 STATE 640 ---------------------------------------------------------------------- ( 404 490 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name LESS ShiftExpression . (861) UNSIGNED_RIGHT_SHIFT Shift 251 RIGHT_SHIFT Shift 252 LEFT_SHIFT Shift 253 abstract Reduce 861 final Reduce 861 instanceof Reduce 861 native Reduce 861 non-sealed Reduce 861 private Reduce 861 protected Reduce 861 public Reduce 861 static Reduce 861 strictfp Reduce 861 synchronized Reduce 861 transient Reduce 861 volatile Reduce 861 EQUAL_EQUAL Reduce 861 LESS_EQUAL Reduce 861 GREATER_EQUAL Reduce 861 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1226 NOT_EQUAL Reduce 861 OR_OR Reduce 861 AND_AND Reduce 861 XOR Reduce 861 AND Reduce 861 OR Reduce 861 RPAREN Reduce 861 RBRACE Reduce 861 SEMICOLON Reduce 861 QUESTION Reduce 861 COMMA Reduce 861 AT Reduce 861 RestrictedIdentifiersealed Reduce 861 $eof Reduce 861 Default reduction to rule 861 STATE 641 ---------------------------------------------------------------------- ( 405 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name UNSIGNED_RIGHT_SHIFT AdditiveExpression . (858) MINUS Shift 254 PLUS Shift 255 abstract Reduce 858 final Reduce 858 instanceof Reduce 858 native Reduce 858 non-sealed Reduce 858 private Reduce 858 protected Reduce 858 public Reduce 858 static Reduce 858 strictfp Reduce 858 synchronized Reduce 858 transient Reduce 858 volatile Reduce 858 EQUAL_EQUAL Reduce 858 LESS_EQUAL Reduce 858 GREATER_EQUAL Reduce 858 NOT_EQUAL Reduce 858 LEFT_SHIFT Reduce 858 RIGHT_SHIFT Reduce 858 UNSIGNED_RIGHT_SHIFT Reduce 858 OR_OR Reduce 858 AND_AND Reduce 858 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1227 XOR Reduce 858 AND Reduce 858 OR Reduce 858 GREATER Reduce 858 LESS Reduce 858 RPAREN Reduce 858 RBRACE Reduce 858 SEMICOLON Reduce 858 QUESTION Reduce 858 COMMA Reduce 858 AT Reduce 858 RestrictedIdentifiersealed Reduce 858 $eof Reduce 858 Default reduction to rule 858 STATE 642 ---------------------------------------------------------------------- ( 406 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name RIGHT_SHIFT AdditiveExpression . (856) MINUS Shift 254 PLUS Shift 255 abstract Reduce 856 final Reduce 856 instanceof Reduce 856 native Reduce 856 non-sealed Reduce 856 private Reduce 856 protected Reduce 856 public Reduce 856 static Reduce 856 strictfp Reduce 856 synchronized Reduce 856 transient Reduce 856 volatile Reduce 856 EQUAL_EQUAL Reduce 856 LESS_EQUAL Reduce 856 GREATER_EQUAL Reduce 856 NOT_EQUAL Reduce 856 LEFT_SHIFT Reduce 856 RIGHT_SHIFT Reduce 856 UNSIGNED_RIGHT_SHIFT Reduce 856 OR_OR Reduce 856 AND_AND Reduce 856 XOR Reduce 856 AND Reduce 856 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1228 OR Reduce 856 GREATER Reduce 856 LESS Reduce 856 RPAREN Reduce 856 RBRACE Reduce 856 SEMICOLON Reduce 856 QUESTION Reduce 856 COMMA Reduce 856 AT Reduce 856 RestrictedIdentifiersealed Reduce 856 $eof Reduce 856 Default reduction to rule 856 STATE 643 ---------------------------------------------------------------------- ( 407 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name LEFT_SHIFT AdditiveExpression . (854) MINUS Shift 254 PLUS Shift 255 abstract Reduce 854 final Reduce 854 instanceof Reduce 854 native Reduce 854 non-sealed Reduce 854 private Reduce 854 protected Reduce 854 public Reduce 854 static Reduce 854 strictfp Reduce 854 synchronized Reduce 854 transient Reduce 854 volatile Reduce 854 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 854 GREATER_EQUAL Reduce 854 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 854 RIGHT_SHIFT Reduce 854 UNSIGNED_RIGHT_SHIFT Reduce 854 OR_OR Reduce 854 AND_AND Reduce 854 XOR Reduce 854 AND Reduce 854 OR Reduce 854 GREATER Reduce 854 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1229 LESS Reduce 854 RPAREN Reduce 854 RBRACE Reduce 854 SEMICOLON Reduce 854 QUESTION Reduce 854 COMMA Reduce 854 AT Reduce 854 RestrictedIdentifiersealed Reduce 854 $eof Reduce 854 Default reduction to rule 854 STATE 644 ---------------------------------------------------------------------- ( 408 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name MINUS MultiplicativeExpression . (851) REMAINDER Shift 248 DIVIDE Shift 249 MULTIPLY Shift 250 abstract Reduce 851 final Reduce 851 instanceof Reduce 851 native Reduce 851 non-sealed Reduce 851 private Reduce 851 protected Reduce 851 public Reduce 851 static Reduce 851 strictfp Reduce 851 synchronized Reduce 851 transient Reduce 851 volatile Reduce 851 EQUAL_EQUAL Reduce 851 LESS_EQUAL Reduce 851 GREATER_EQUAL Reduce 851 NOT_EQUAL Reduce 851 LEFT_SHIFT Reduce 851 RIGHT_SHIFT Reduce 851 UNSIGNED_RIGHT_SHIFT Reduce 851 OR_OR Reduce 851 AND_AND Reduce 851 PLUS Reduce 851 MINUS Reduce 851 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1230 XOR Reduce 851 AND Reduce 851 OR Reduce 851 GREATER Reduce 851 LESS Reduce 851 RPAREN Reduce 851 RBRACE Reduce 851 SEMICOLON Reduce 851 QUESTION Reduce 851 COMMA Reduce 851 AT Reduce 851 RestrictedIdentifiersealed Reduce 851 $eof Reduce 851 Default reduction to rule 851 STATE 645 ---------------------------------------------------------------------- ( 409 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name PLUS MultiplicativeExpression . (849) REMAINDER Shift 248 DIVIDE Shift 249 MULTIPLY Shift 250 abstract Reduce 849 final Reduce 849 instanceof Reduce 849 native Reduce 849 non-sealed Reduce 849 private Reduce 849 protected Reduce 849 public Reduce 849 static Reduce 849 strictfp Reduce 849 synchronized Reduce 849 transient Reduce 849 volatile Reduce 849 EQUAL_EQUAL Reduce 849 LESS_EQUAL Reduce 849 GREATER_EQUAL Reduce 849 NOT_EQUAL Reduce 849 LEFT_SHIFT Reduce 849 RIGHT_SHIFT Reduce 849 UNSIGNED_RIGHT_SHIFT Reduce 849 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1231 OR_OR Reduce 849 AND_AND Reduce 849 PLUS Reduce 849 MINUS Reduce 849 XOR Reduce 849 AND Reduce 849 OR Reduce 849 GREATER Reduce 849 LESS Reduce 849 RPAREN Reduce 849 RBRACE Reduce 849 SEMICOLON Reduce 849 QUESTION Reduce 849 COMMA Reduce 849 AT Reduce 849 RestrictedIdentifiersealed Reduce 849 $eof Reduce 849 Default reduction to rule 849 STATE 646 ---------------------------------------------------------------------- ( 413 ) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression .COLON ConditionalExpression COLON Shift 785 STATE 647 ---------------------------------------------------------------------- ( 414 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName OR_OR ConditionalAndExpression . (889) AND_AND Shift 268 abstract Reduce 889 final Reduce 889 native Reduce 889 non-sealed Reduce 889 private Reduce 889 protected Reduce 889 public Reduce 889 static Reduce 889 strictfp Reduce 889 synchronized Reduce 889 transient Reduce 889 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1232 volatile Reduce 889 OR_OR Reduce 889 RPAREN Reduce 889 RBRACE Reduce 889 SEMICOLON Reduce 889 QUESTION Reduce 889 COMMA Reduce 889 AT Reduce 889 RestrictedIdentifiersealed Reduce 889 $eof Reduce 889 Default reduction to rule 889 STATE 648 ---------------------------------------------------------------------- ( 416 ) CatchHeader ::= catch LPAREN CatchFormalParameter .RPAREN LBRACE RPAREN Shift 786 STATE 649 ---------------------------------------------------------------------- ( 416 739 ) CatchFormalParameter ::= Modifiersopt .CatchType VariableDeclaratorId Type ::= .PrimitiveType Type ::= .ReferenceType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1233 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN CatchType ::= .UnionType UnionType ::= .Type UnionType ::= .UnionType OR Type AT308 Shift 38 Identifier Shift 1004 Type Gt/Rd 281 UnionType Goto 788 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1219 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 1219 CatchType Goto 787 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1234 Default reduction to rule 79 STATE 650 ---------------------------------------------------------------------- ( 417 ) EnumConstantHeader ::= EnumConstantHeaderName ForceNoDiet Argumentsopt . RestoreDiet RestoreDiet ::= . (252) RestoreDiet Gt/Rd 753 abstract Reduce 252 final Reduce 252 native Reduce 252 non-sealed Reduce 252 private Reduce 252 protected Reduce 252 public Reduce 252 static Reduce 252 strictfp Reduce 252 synchronized Reduce 252 transient Reduce 252 volatile Reduce 252 LBRACE Reduce 252 RBRACE Reduce 252 SEMICOLON Reduce 252 COMMA Reduce 252 AT Reduce 252 RestrictedIdentifiersealed Reduce 252 $eof Reduce 252 Default reduction to rule 252 STATE 651 ---------------------------------------------------------------------- ( 417 ) Arguments ::= LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1235 BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1236 ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1237 FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1238 MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1239 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1240 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 789 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 652 ---------------------------------------------------------------------- ( 418 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims MethodHeaderThrowsClause TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1241 TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MethodHeaderExtendedDims ::= .Dimsopt Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) Dimsopt ::= .Dims LBRACKET Shift 214 AT308 Shift 38 Dims Goto 1209 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dimsopt Gt/Rd 269 MethodHeaderExtendedDims Goto 790 abstract Reduce 714 default Reduce 714 final Reduce 714 native Reduce 714 non-sealed Reduce 714 private Reduce 714 protected Reduce 714 public Reduce 714 static Reduce 714 strictfp Reduce 714 synchronized Reduce 714 throws Reduce 714 transient Reduce 714 volatile Reduce 714 AT Reduce 714 RestrictedIdentifiersealed Reduce 714 $eof Reduce 714 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1242 Default reduction to rule 714 STATE 653 ---------------------------------------------------------------------- ( 419 ) RecoveryMethodHeaderName ::= ModifiersWithDefault Type Identifier .LPAREN LPAREN Sh/Rd 947 STATE 654 ---------------------------------------------------------------------- ( 420 ) RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters Type . Identifier LPAREN Identifier Shift 791 STATE 655 ---------------------------------------------------------------------- ( 421 ) ArrayCreationHeader ::= new PrimitiveType DimWithOrWithOutExprs . (590) DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 38 TypeAnnotations Goto 478 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1243 TypeAnnotationsopt Goto 478 DimWithOrWithOutExpr Gt/Rd 597 abstract Reduce 590 final Reduce 590 native Reduce 590 non-sealed Reduce 590 private Reduce 590 protected Reduce 590 public Reduce 590 static Reduce 590 strictfp Reduce 590 synchronized Reduce 590 transient Reduce 590 volatile Reduce 590 AT Reduce 590 RestrictedIdentifiersealed Reduce 590 $eof Reduce 590 LBRACKET Reduce 79 Default reduction to rule 590 STATE 656 ---------------------------------------------------------------------- ( 422 ) AllocationHeader ::= new ClassType LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1244 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1245 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1246 ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1247 RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1248 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1249 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 792 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 657 ---------------------------------------------------------------------- ( 423 ) ArrayCreationHeader ::= new ClassOrInterfaceType DimWithOrWithOutExprs . (591) DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 38 TypeAnnotations Goto 478 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1250 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 478 DimWithOrWithOutExpr Gt/Rd 597 abstract Reduce 591 final Reduce 591 native Reduce 591 non-sealed Reduce 591 private Reduce 591 protected Reduce 591 public Reduce 591 static Reduce 591 strictfp Reduce 591 synchronized Reduce 591 transient Reduce 591 volatile Reduce 591 AT Reduce 591 RestrictedIdentifiersealed Reduce 591 $eof Reduce 591 LBRACKET Reduce 79 Default reduction to rule 591 STATE 658 ---------------------------------------------------------------------- ( 424 438 ) RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN Identifier Shift 793 STATE 659 ---------------------------------------------------------------------- ( 425 ) VariableDeclaratorId ::= Identifier .Dimsopt RecoveryMethodHeaderName ::= Modifiersopt Type Identifier .LPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1251 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) LPAREN Sh/Rd 945 AT308 Shift 38 LBRACKET Shift 214 DimsLoop Goto 215 TypeAnnotations Goto 213 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 OneDimLoop Goto 1030 Dims Gt/Rd 253 Dimsopt Gt/Rd 253 SEMICOLON Reduce 714 COMMA Reduce 714 EQUAL Reduce 714 Default reduction to rule 714 STATE 660 ---------------------------------------------------------------------- ( 426 ) ModuleHeader ::= Modifiersopt ModuleModifieropt module .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 794 SimpleName Goto 794 UnannotatableName Goto 794 STATE 661 ---------------------------------------------------------------------- ( 428 ) UnannotatableName ::= UnannotatableName .DOT SimpleName SingleRequiresModuleName ::= requires RequiresModifiersopt UnannotatableName . (123) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1252 DOT Shift 458 SEMICOLON Reduce 123 Default reduction to rule 123 STATE 662 ---------------------------------------------------------------------- ( 431 ) TargetModuleListopt ::= to TargetModuleNameList . (133) TargetModuleNameList ::= TargetModuleNameList .COMMA TargetModuleName COMMA Shift 795 SEMICOLON Reduce 133 Default reduction to rule 133 STATE 663 ---------------------------------------------------------------------- ( 431 795 ) UnannotatableName ::= UnannotatableName .DOT SimpleName TargetModuleName ::= UnannotatableName . (134) DOT Shift 458 SEMICOLON Reduce 134 COMMA Reduce 134 Default reduction to rule 134 STATE 664 ---------------------------------------------------------------------- ( 435 ) ServiceImplNameList ::= ServiceImplNameList .COMMA ServiceImplName WithClause ::= with ServiceImplNameList . (147) COMMA Shift 796 SEMICOLON Reduce 147 Default reduction to rule 147 STATE 665 ---------------------------------------------------------------------- ( 435 796 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1253 QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName ServiceImplName ::= Name . (144) DOT Shift 278 SEMICOLON Reduce 144 COMMA Reduce 144 Default reduction to rule 144 STATE 666 ---------------------------------------------------------------------- ( 439 ) Initializer ::= Diet NestedMethod CreateInitializer .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) OpenBlock Goto 114 Block Gt/Rd 231 LBRACE Reduce 382 Default reduction to rule 382 STATE 667 ---------------------------------------------------------------------- ( 440 ) MethodBody ::= NestedMethod LBRACE BlockStatementsopt .RBRACE RBRACE Sh/Rd 286 STATE 668 ---------------------------------------------------------------------- ( 441 ) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations . ReduceImports InternalCompilationUnit ::= PackageDeclaration ImportDeclarations . ReduceImports TypeDeclarations ImportDeclarations ::= ImportDeclarations .ImportDeclaration ReduceImports ::= . (148) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1254 SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY import Shift 161 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Gt/Rd 174 TypeImportOnDemandDeclaration Gt/Rd 174 SingleStaticImportDeclaration Gt/Rd 174 StaticImportOnDemandDeclaration Gt/Rd 174 ReduceImports Goto 797 ImportDeclaration Gt/Rd 174 abstract Reduce 148 class Reduce 148 enum Reduce 148 final Reduce 148 interface Reduce 148 native Reduce 148 non-sealed Reduce 148 private Reduce 148 protected Reduce 148 public Reduce 148 static Reduce 148 strictfp Reduce 148 synchronized Reduce 148 transient Reduce 148 volatile Reduce 148 SEMICOLON Reduce 148 AT Reduce 148 RestrictedIdentifierrecord Reduce 148 RestrictedIdentifiersealed Reduce 148 $eof Reduce 148 Default reduction to rule 148 STATE 669 ---------------------------------------------------------------------- ( 441 ) InternalCompilationUnit ::= PackageDeclaration TypeDeclarations . (100) TypeDeclarations ::= TypeDeclarations .TypeDeclaration TypeDeclaration ::= .SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1255 Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1256 AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 191 AT Shift 124 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 1008 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiers Goto 145 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1008 Modifiersopt Goto 92 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 ClassDeclaration Gt/Rd 176 InterfaceDeclaration Gt/Rd 176 EnumDeclaration Gt/Rd 176 AnnotationTypeDeclaration Gt/Rd 176 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1257 RecordDeclaration Gt/Rd 176 TypeDeclaration Gt/Rd 176 $eof Reduce 100 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 670 ---------------------------------------------------------------------- ( 442 ) ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON MethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .Type Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default Modifiersopt InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1258 TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameters ::= .LESS TypeParameterList1 enum Shift 309 RestrictedIdentifierrecord Shift 310 interface Shift 311 default Shift 355 class Shift 312 Identifier Shift 1004 AT308 Shift 38 LESS Shift 303 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 357 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 357 Type Goto 357 TypeParameters Goto 671 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1259 STATE 671 ---------------------------------------------------------------------- ( 443 670 ) MethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1260 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 599 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Goto 599 Type Goto 599 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 672 ---------------------------------------------------------------------- ( 444 ) ModuleBody ::= LBRACE .ModuleStatementsOpt RBRACE ModuleStatementsOpt ::= . (113) ModuleStatementsOpt ::= .ModuleStatements ModuleStatements ::= .ModuleStatement ModuleStatements ::= .ModuleStatements ModuleStatement ModuleStatement ::= .RequiresStatement ModuleStatement ::= .ExportsStatement ModuleStatement ::= .OpensStatement ModuleStatement ::= .UsesStatement ModuleStatement ::= .ProvidesStatement RequiresStatement ::= .SingleRequiresModuleName SEMICOLON SingleRequiresModuleName ::= .requires RequiresModifiersopt UnannotatableName ExportsStatement ::= .ExportsHeader TargetModuleListopt SEMICOLON ExportsHeader ::= .exports SinglePkgName OpensStatement ::= .OpensHeader TargetModuleListopt SEMICOLON OpensHeader ::= .opens SinglePkgName UsesStatement ::= .UsesHeader SEMICOLON UsesHeader ::= .uses Name ProvidesStatement ::= .ProvidesInterface WithClause SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1261 ProvidesInterface ::= .provides Name provides Shift 200 uses Shift 198 opens Shift 202 exports Shift 196 requires Shift 194 ModuleStatement Gt/Rd 115 ModuleStatements Goto 799 SingleRequiresModuleName Goto 193 ExportsHeader Goto 195 OpensHeader Goto 201 UsesHeader Goto 197 ProvidesInterface Goto 199 RequiresStatement Gt/Rd 117 ExportsStatement Gt/Rd 118 OpensStatement Gt/Rd 119 UsesStatement Gt/Rd 120 ProvidesStatement Gt/Rd 121 ModuleStatementsOpt Goto 798 RBRACE Reduce 113 Default reduction to rule 113 STATE 673 ---------------------------------------------------------------------- ( 445 ) InternalCompilationUnit ::= ImportDeclarations ReduceImports . (101) InternalCompilationUnit ::= ImportDeclarations ReduceImports . ModuleDeclaration InternalCompilationUnit ::= ImportDeclarations ReduceImports . ImplicitlyDeclaredClassBodyDeclarations ModuleDeclaration ::= .ModuleHeader ModuleBody ModuleHeader ::= .Modifiersopt ModuleModifieropt module UnannotatableName Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1262 Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ImplicitlyDeclaredClassBodyDeclarations ::= .ClassMemberDeclaration ImplicitlyDeclaredClassBodyDeclarations ::= .ClassMemberDeclaration ImplicitlyDeclaredClassBodyDeclarations ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1263 EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 FieldDeclaration Goto 1205 MethodDeclaration Goto 1199 ClassDeclaration Goto 1204 InterfaceDeclaration Goto 1203 EnumDeclaration Goto 1202 AnnotationTypeDeclaration Goto 1201 RecordDeclaration Goto 1200 RecordHeaderName Goto 88 Modifiersopt Goto 443 RecordHeaderName1 Goto 89 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1264 RecordHeaderPart Goto 90 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 84 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 ClassHeaderName Goto 91 ClassHeaderName1 Goto 93 ClassHeader Goto 94 MethodHeader Goto 144 MethodHeaderName Goto 143 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 AbstractMethodDeclaration Goto 1199 DefaultMethodHeader Goto 140 ClassMemberDeclaration Goto 442 Modifier Goto 1002 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 ModuleHeader Goto 444 ModuleDeclaration Gt/Rd 103 ImplicitlyDeclaredClassBodyDeclarations Gt/Rd 107 $eof Reduce 101 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 module Reduce 710 open Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1265 STATE 674 ---------------------------------------------------------------------- ( 447 ) SwitchExpression ::= switch LPAREN Expression RPAREN . PostExpressionInSwitchExpression OpenBlock SwitchBlock PostExpressionInSwitchExpression ::= . (442) PostExpressionInSwitchExpression Goto 800 LBRACE Reduce 442 Default reduction to rule 442 STATE 675 ---------------------------------------------------------------------- ( 448 ) ReferenceExpression ::= PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt .IdentifierOrNew IdentifierOrNew ::= .Identifier IdentifierOrNew ::= .new new Sh/Rd 557 Identifier Sh/Rd 556 IdentifierOrNew Gt/Rd 548 STATE 676 ---------------------------------------------------------------------- ( 451 ) LambdaBody ::= ElidedLeftBraceAndReturn Expression . ElidedSemicolonAndRightBrace ElidedSemicolonAndRightBrace Sh/Rd 570 STATE 677 ---------------------------------------------------------------------- ( 452 ) MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier . LPAREN ArgumentListopt RPAREN LPAREN Shift 801 STATE 678 ---------------------------------------------------------------------- ( 453 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1266 MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1267 PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1268 ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1269 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1270 Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1271 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 802 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 679 ---------------------------------------------------------------------- ( 455 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1272 MethodInvocation ::= super DOT OnlyTypeArguments Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 803 STATE 680 ---------------------------------------------------------------------- ( 456 ) MethodInvocation ::= super DOT Identifier LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1273 Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1274 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1275 UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1276 ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1277 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 804 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1278 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 681 ---------------------------------------------------------------------- ( 461 ) MemberValuePairs ::= MemberValuePairs COMMA .MemberValuePair MemberValuePair ::= .SimpleName EQUAL EnterMemberValue MemberValue ExitMemberValue Identifier Shift 805 SimpleName Goto 805 MemberValuePair Gt/Rd 926 STATE 682 ---------------------------------------------------------------------- ( 462 805 ) MemberValuePair ::= SimpleName EQUAL .EnterMemberValue MemberValue ExitMemberValue EnterMemberValue ::= . (928) EnterMemberValue Goto 806 Identifier Reduce 928 boolean Reduce 928 byte Reduce 928 char Reduce 928 double Reduce 928 false Reduce 928 float Reduce 928 int Reduce 928 long Reduce 928 new Reduce 928 null Reduce 928 short Reduce 928 super Reduce 928 switch Reduce 928 this Reduce 928 true Reduce 928 void Reduce 928 IntegerLiteral Reduce 928 LongLiteral Reduce 928 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1279 FloatingPointLiteral Reduce 928 DoubleLiteral Reduce 928 CharacterLiteral Reduce 928 StringLiteral Reduce 928 TextBlock Reduce 928 PLUS_PLUS Reduce 928 MINUS_MINUS Reduce 928 PLUS Reduce 928 MINUS Reduce 928 NOT Reduce 928 TWIDDLE Reduce 928 LPAREN Reduce 928 LBRACE Reduce 928 AT Reduce 928 BeginLambda Reduce 928 BeginIntersectionCast Reduce 928 AT308 Reduce 928 UNDERSCORE Reduce 928 Default reduction to rule 928 STATE 683 ---------------------------------------------------------------------- ( 464 ) ArgumentList ::= ArgumentList COMMA .Expression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1280 TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1281 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1282 PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1283 EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1284 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1285 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Gt/Rd 589 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 684 ---------------------------------------------------------------------- ( 465 ) ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON . NonWildTypeArgumentsopt IdentifierOrNew NonWildTypeArgumentsopt ::= . (554) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 75 OnlyTypeArguments Goto 807 NonWildTypeArgumentsopt Goto 807 Identifier Reduce 554 new Reduce 554 Default reduction to rule 554 STATE 685 ---------------------------------------------------------------------- ( 466 ) ReferenceExpression ::= Name Dimsopt COLON_COLON NonWildTypeArgumentsopt . IdentifierOrNew IdentifierOrNew ::= .Identifier IdentifierOrNew ::= .new new Sh/Rd 557 Identifier Sh/Rd 556 IdentifierOrNew Gt/Rd 549 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1286 STATE 686 ---------------------------------------------------------------------- ( 467 588 ) MethodInvocation ::= Name DOT OnlyTypeArguments Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 808 STATE 687 ---------------------------------------------------------------------- ( 471 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 809 STATE 688 ---------------------------------------------------------------------- ( 472 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1287 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1288 LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1289 LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1290 ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1291 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1292 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 810 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 689 ---------------------------------------------------------------------- ( 473 565 ) MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 811 STATE 690 ---------------------------------------------------------------------- ( 474 ) MethodInvocation ::= Primary DOT Identifier LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1293 Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1294 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1295 FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1296 MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1297 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1298 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 812 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 691 ---------------------------------------------------------------------- ( 475 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (580) EnterInstanceCreationArgumentList Goto 813 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1299 LPAREN Reduce 580 Default reduction to rule 580 STATE 692 ---------------------------------------------------------------------- ( 475 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments . ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1300 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 814 ClassType Goto 814 STATE 693 ---------------------------------------------------------------------- ( 478 ) DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET .Expression RBRACKET DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET .RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1301 Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1302 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1303 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1304 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression RBRACKET Sh/Rd 599 MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1305 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 815 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1306 STATE 694 ---------------------------------------------------------------------- ( 479 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN UnqualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1307 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1308 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1309 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1310 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1311 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 816 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1312 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 695 ---------------------------------------------------------------------- ( 480 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt LPAREN Shift 817 STATE 696 ---------------------------------------------------------------------- ( 484 ) CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN .InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus InsideCastExpressionLL1WithBounds ::= . (650) InsideCastExpressionLL1WithBounds Goto 818 Identifier Reduce 650 boolean Reduce 650 byte Reduce 650 char Reduce 650 double Reduce 650 false Reduce 650 float Reduce 650 int Reduce 650 long Reduce 650 new Reduce 650 null Reduce 650 short Reduce 650 super Reduce 650 switch Reduce 650 this Reduce 650 true Reduce 650 void Reduce 650 IntegerLiteral Reduce 650 LongLiteral Reduce 650 FloatingPointLiteral Reduce 650 DoubleLiteral Reduce 650 CharacterLiteral Reduce 650 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1313 StringLiteral Reduce 650 TextBlock Reduce 650 NOT Reduce 650 TWIDDLE Reduce 650 LPAREN Reduce 650 BeginLambda Reduce 650 BeginIntersectionCast Reduce 650 AT308 Reduce 650 UNDERSCORE Reduce 650 Default reduction to rule 650 STATE 697 ---------------------------------------------------------------------- ( 485 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt . PushRPAREN InsideCastExpression UnaryExpression PushRPAREN ::= .RPAREN RPAREN Sh/Rd 525 PushRPAREN Goto 819 STATE 698 ---------------------------------------------------------------------- ( 485 489 700 878 ) AdditionalBoundsListOpt ::= AdditionalBoundList . (644) AdditionalBoundList ::= AdditionalBoundList .AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 518 AdditionalBound Gt/Rd 818 RPAREN Reduce 644 Default reduction to rule 644 STATE 699 ---------------------------------------------------------------------- ( 487 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT . ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1314 ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 Name Goto 73 GenericType Goto 72 ClassOrInterface Goto 71 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1005 ClassOrInterfaceType Goto 820 STATE 700 ---------------------------------------------------------------------- ( 487 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt .AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus AdditionalBoundsListOpt ::= . (643) AdditionalBoundsListOpt ::= .AdditionalBoundList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1315 AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 518 AdditionalBound Goto 1206 AdditionalBoundList Goto 698 AdditionalBoundsListOpt Goto 821 RPAREN Reduce 643 Default reduction to rule 643 STATE 701 ---------------------------------------------------------------------- ( 488 ) CastExpression ::= PushLPAREN Name PushRPAREN InsideCastExpressionLL1 . UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1316 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1317 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1318 CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus NOT Shift 50 TWIDDLE Shift 51 BeginIntersectionCast Shift 48 null Shift 1220 TextBlock Shift 1220 StringLiteral Shift 1220 CharacterLiteral Shift 1220 DoubleLiteral Shift 1220 FloatingPointLiteral Shift 1220 LongLiteral Shift 1220 IntegerLiteral Shift 1220 false Shift 1220 true Shift 1220 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1229 PostDecrementExpression Goto 1228 PostfixExpression Goto 446 Literal Goto 1220 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1227 FieldAccess Goto 1226 PrimitiveType Goto 30 MethodInvocation Goto 1225 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1319 ArrayAccess Goto 1224 LambdaExpression Goto 1223 ReferenceExpression Goto 1222 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1220 ArrayCreationWithoutArrayInitializer Goto 1221 SwitchExpression Gt/Rd 640 CastExpression Gt/Rd 640 UnaryExpressionNotPlusMinus Gt/Rd 640 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 702 ---------------------------------------------------------------------- ( 489 ) CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt .PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 525 PushRPAREN Goto 822 STATE 703 ---------------------------------------------------------------------- ( 490 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1320 ArrayType ::= PrimitiveType .Dims PrimaryNoNewArray ::= PrimitiveType .Dims DOT class PrimaryNoNewArray ::= PrimitiveType .DOT class ReferenceExpression ::= PrimitiveType .Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET DOT Shift 211 LBRACKET Shift 214 AT308 Shift 38 OneDimLoop Goto 1030 DimsLoop Goto 215 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 213 Dims Goto 346 STATE 704 ---------------------------------------------------------------------- ( 496 ) InstanceofClassic ::= instanceof Modifiersopt Type . (360) TypePattern ::= Modifiersopt Type .Identifier TypePattern ::= Modifiersopt Type .UNDERSCORE UNDERSCORE Sh/Rd 365 Identifier Sh/Rd 364 abstract Reduce 360 final Reduce 360 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1321 instanceof Reduce 360 native Reduce 360 non-sealed Reduce 360 private Reduce 360 protected Reduce 360 public Reduce 360 static Reduce 360 strictfp Reduce 360 synchronized Reduce 360 transient Reduce 360 volatile Reduce 360 EQUAL_EQUAL Reduce 360 NOT_EQUAL Reduce 360 OR_OR Reduce 360 AND_AND Reduce 360 XOR Reduce 360 AND Reduce 360 OR Reduce 360 RPAREN Reduce 360 RBRACE Reduce 360 RBRACKET Reduce 360 SEMICOLON Reduce 360 QUESTION Reduce 360 COLON Reduce 360 COMMA Reduce 360 AT Reduce 360 ElidedSemicolonAndRightBrace Reduce 360 BeginCaseExpr Reduce 360 RestrictedIdentifiersealed Reduce 360 $eof Reduce 360 Default reduction to rule 360 STATE 705 ---------------------------------------------------------------------- ( 506 ) ConditionalExpression ::= ConditionalOrExpression QUESTION Expression COLON . ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1322 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1323 ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1324 MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1325 AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1230 true Shift 1230 null Shift 1230 TextBlock Shift 1230 StringLiteral Shift 1230 CharacterLiteral Shift 1230 DoubleLiteral Shift 1230 FloatingPointLiteral Shift 1230 LongLiteral Shift 1230 IntegerLiteral Shift 1230 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1326 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1231 MultiplicativeExpression Goto 54 SwitchExpression Goto 1231 PostfixExpression Goto 446 CastExpression Goto 1231 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1240 BooleanLiteral Goto 1230 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1230 ClassInstanceCreationExpression Goto 1239 FieldAccess Goto 1238 MethodInvocation Goto 1237 ArrayAccess Goto 1236 LambdaExpression Goto 1235 ReferenceExpression Goto 1234 PostIncrementExpression Goto 1233 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1327 PostDecrementExpression Goto 1232 PreIncrementExpression Goto 1231 PreDecrementExpression Goto 1231 UnaryExpressionNotPlusMinus Goto 1231 ConditionalExpression Gt/Rd 682 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 706 ---------------------------------------------------------------------- ( 511 ) RecordPattern ::= Modifiersopt ReferenceType PushLPAREN ComponentPatternListopt .PushRPAREN PushRPAREN ::= .RPAREN RPAREN Sh/Rd 525 PushRPAREN Gt/Rd 366 STATE 707 ---------------------------------------------------------------------- ( 511 ) ComponentPatternListopt ::= ComponentPatternList . (368) ComponentPatternList ::= ComponentPatternList .COMMA ComponentPattern COMMA Shift 823 RPAREN Reduce 368 Default reduction to rule 368 STATE 708 ---------------------------------------------------------------------- ( 514 ) TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 TypeArgumentList ::= TypeArgumentList .COMMA TypeArgument TypeArgumentList2 ::= TypeArgumentList .COMMA TypeArgument2 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1328 COMMA Shift 824 STATE 709 ---------------------------------------------------------------------- ( 514 824 825 884 885 923 951 952 ) ClassOrInterfaceType ::= ClassOrInterface . (59) GenericType ::= ClassOrInterface .TypeArguments GenericType ::= ClassOrInterface .LESS GREATER ReferenceType1 ::= ClassOrInterface .LESS TypeArgumentList2 ReferenceType2 ::= ClassOrInterface .LESS TypeArgumentList3 TypeArguments ::= .LESS TypeArgumentList1 LESS Shift 825 TypeArguments Gt/Rd 63 RIGHT_SHIFT Reduce 57 UNSIGNED_RIGHT_SHIFT Reduce 57 GREATER Reduce 57 COMMA Reduce 57 Default reduction to rule 59 STATE 710 ---------------------------------------------------------------------- ( 514 824 ) TypeArgument ::= ReferenceType . (777) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT RIGHT_SHIFT Sh/Rd 787 GREATER Sh/Rd 781 COMMA Reduce 777 Default reduction to rule 777 STATE 711 ---------------------------------------------------------------------- ( 514 824 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void Wildcard ::= TypeAnnotationsopt .QUESTION Wildcard ::= TypeAnnotationsopt .QUESTION WildcardBounds Wildcard1 ::= TypeAnnotationsopt .QUESTION GREATER IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1329 Wildcard1 ::= TypeAnnotationsopt .QUESTION WildcardBounds1 Wildcard2 ::= TypeAnnotationsopt .QUESTION RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt .QUESTION WildcardBounds2 QUESTION Shift 826 void Sh/Rd 49 boolean Sh/Rd 48 double Sh/Rd 45 float Sh/Rd 45 char Sh/Rd 45 long Sh/Rd 45 int Sh/Rd 45 short Sh/Rd 45 byte Sh/Rd 45 IntegralType Gt/Rd 45 FloatingPointType Gt/Rd 45 NumericType Gt/Rd 45 STATE 712 ---------------------------------------------------------------------- ( 515 ) WildcardBounds ::= super .ReferenceType WildcardBounds1 ::= super .ReferenceType1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1330 TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 AT308 Shift 38 Identifier Shift 1004 ReferenceType Goto 827 ClassOrInterface Goto 282 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotationsopt Goto 34 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 827 ReferenceType1 Gt/Rd 801 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 713 ---------------------------------------------------------------------- ( 515 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1331 WildcardBounds ::= extends .ReferenceType WildcardBounds1 ::= extends .ReferenceType1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 AT308 Shift 38 Identifier Shift 1004 ReferenceType Goto 828 ClassOrInterface Goto 282 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1332 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotationsopt Goto 34 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 828 ReferenceType1 Gt/Rd 800 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 714 ---------------------------------------------------------------------- ( 520 ) TypeElidedFormalParameter ::= Modifiersopt .Identifier Identifier Sh/Rd 568 STATE 715 ---------------------------------------------------------------------- ( 521 ) FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT .TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1333 AT308 Shift 38 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotations Goto 829 STATE 716 ---------------------------------------------------------------------- ( 521 ) FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis ELLIPSIS Shift 830 STATE 717 ---------------------------------------------------------------------- ( 521 830 886 ) SimpleName ::= Identifier . (74) VariableDeclaratorId ::= Identifier .Dimsopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) LBRACKET Shift 214 AT308 Shift 38 DimsLoop Goto 215 TypeAnnotations Goto 213 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1334 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 OneDimLoop Goto 1030 Dims Gt/Rd 253 Dimsopt Gt/Rd 253 DOT Reduce 75 RPAREN Reduce 714 COMMA Reduce 714 Default reduction to rule 714 STATE 718 ---------------------------------------------------------------------- ( 521 830 886 ) UnannotatableName ::= UnannotatableName .DOT SimpleName VariableDeclaratorIdOrThis ::= UnannotatableName .DOT this DOT Shift 831 STATE 719 ---------------------------------------------------------------------- ( 525 535 ) InterfaceTypeList ::= InterfaceTypeList COMMA .InterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1335 SingleMemberAnnotationMemberValue RPAREN InterfaceType ::= .ClassOrInterfaceType AT308 Shift 38 Identifier Shift 1004 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Gt/Rd 220 InterfaceType Gt/Rd 219 STATE 720 ---------------------------------------------------------------------- ( 526 ) EnumBody ::= LBRACE COMMA EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 747 STATE 721 ---------------------------------------------------------------------- ( 529 ) EnumBody ::= LBRACE EnumConstants EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 749 STATE 722 ---------------------------------------------------------------------- ( 529 ) EnumBody ::= LBRACE EnumConstants COMMA .EnumBodyDeclarationsopt RBRACE EnumConstants ::= EnumConstants COMMA .EnumConstant Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1336 Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumConstantHeaderName ::= .Modifiersopt Identifier EnumConstantHeader ::= .EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet EnumConstant ::= .EnumConstantHeader ForceNoDiet ClassBody RestoreDiet EnumConstant ::= .EnumConstantHeader EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (760) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Shift 528 AT Shift 66 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 EnumConstantHeaderName Goto 188 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1337 Modifiersopt Goto 530 EnumConstantHeader Goto 531 EnumDeclarations Goto 832 EnumBodyDeclarationsopt Goto 832 EnumConstant Gt/Rd 751 RBRACE Reduce 760 Identifier Reduce 710 Default reduction to rule 760 STATE 723 ---------------------------------------------------------------------- ( 531 ) EnumConstant ::= EnumConstantHeader ForceNoDiet .ClassBody RestoreDiet ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 313 ClassBody Goto 833 STATE 724 ---------------------------------------------------------------------- ( 533 ) AnnotationTypeMemberDeclarationsopt ::= NestedType AnnotationTypeMemberDeclarations . (905) AnnotationTypeMemberDeclarations ::= AnnotationTypeMemberDeclarations . AnnotationTypeMemberDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1338 ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody AnnotationMethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN AnnotationMethodHeaderName ::= .Modifiersopt Type Identifier LPAREN AnnotationMethodHeader ::= .AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt AnnotationTypeMemberDeclaration ::= .AnnotationMethodHeader SEMICOLON Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1339 Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 191 AT Shift 124 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AnnotationMethodHeaderName Goto 157 Modifiers Goto 145 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 155 FieldDeclaration Gt/Rd 907 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassDeclaration Gt/Rd 907 InterfaceDeclaration Gt/Rd 907 EnumDeclaration Gt/Rd 907 AnnotationTypeDeclaration Gt/Rd 907 RecordDeclaration Gt/Rd 907 RecordHeaderName Goto 88 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 AnnotationTypeDeclarationHeaderName Goto 83 AnnotationTypeDeclarationHeader Goto 84 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 ClassHeaderName Goto 91 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1340 ClassHeaderName1 Goto 93 ClassHeader Goto 94 AnnotationMethodHeader Goto 154 ConstantDeclaration Gt/Rd 907 ConstructorDeclaration Gt/Rd 907 TypeDeclaration Gt/Rd 907 AnnotationTypeMemberDeclaration Gt/Rd 907 RBRACE Reduce 905 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 725 ---------------------------------------------------------------------- ( 534 ) ClassTypeList ::= ClassTypeList .COMMA ClassTypeElt InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= RestrictedIdentifierpermits ClassTypeList . (730) COMMA Shift 279 abstract Reduce 730 final Reduce 730 native Reduce 730 non-sealed Reduce 730 private Reduce 730 protected Reduce 730 public Reduce 730 static Reduce 730 strictfp Reduce 730 synchronized Reduce 730 transient Reduce 730 volatile Reduce 730 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1341 LBRACE Reduce 730 AT Reduce 730 RestrictedIdentifiersealed Reduce 730 $eof Reduce 730 Default reduction to rule 730 STATE 726 ---------------------------------------------------------------------- ( 536 ) TypeParameterList ::= TypeParameterList COMMA .TypeParameter TypeParameterList1 ::= TypeParameterList COMMA .TypeParameter1 TypeAnnotationsopt ::= . (79) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameterHeader ::= .TypeAnnotationsopt Identifier TypeParameter ::= .TypeParameterHeader TypeParameter ::= .TypeParameterHeader extends ReferenceType TypeParameter ::= .TypeParameterHeader extends ReferenceType AdditionalBoundList TypeParameter1 ::= .TypeParameterHeader GREATER TypeParameter1 ::= .TypeParameterHeader extends ReferenceType1 TypeParameter1 ::= .TypeParameterHeader extends ReferenceType AdditionalBoundList1 AT308 Shift 38 TypeParameterHeader Goto 538 TypeAnnotationsopt Goto 537 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 537 TypeParameter Gt/Rd 813 TypeParameter1 Gt/Rd 821 Identifier Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1342 Default reduction to rule 79 STATE 727 ---------------------------------------------------------------------- ( 538 ) TypeParameter ::= TypeParameterHeader extends .ReferenceType TypeParameter ::= TypeParameterHeader extends .ReferenceType AdditionalBoundList TypeParameter1 ::= TypeParameterHeader extends .ReferenceType1 TypeParameter1 ::= TypeParameterHeader extends .ReferenceType AdditionalBoundList1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1343 AT308 Shift 38 Identifier Shift 1004 ReferenceType Goto 834 ClassOrInterface Goto 282 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotationsopt Goto 34 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 834 ReferenceType1 Gt/Rd 823 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 728 ---------------------------------------------------------------------- ( 540 ) InterfaceMemberDeclarations ::= InterfaceMemberDeclarations . InterfaceMemberDeclaration InterfaceMemberDeclarationsopt ::= NestedType InterfaceMemberDeclarations . (732) Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1344 Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier Diet ::= . (230) Initializer ::= .Diet NestedMethod CreateInitializer Block FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier InterfaceMemberDeclaration ::= .SEMICOLON InterfaceMemberDeclaration ::= .DefaultMethodHeader MethodBody InterfaceMemberDeclaration ::= .MethodHeader MethodBody InterfaceMemberDeclaration ::= .DefaultMethodHeader SEMICOLON InvalidConstructorDeclaration ::= .ConstructorHeader MethodBody InvalidConstructorDeclaration ::= .ConstructorHeader SEMICOLON RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1345 RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 static Shift 139 AT Shift 124 SEMICOLON Sh/Rd 313 FieldDeclaration Gt/Rd 312 Modifiers Goto 145 Annotation Gt/Rd 210 AnnotationName Goto 67 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1346 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 150 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 MethodHeaderName Goto 143 MethodHeader Goto 730 ConstructorHeader Goto 729 ConstructorHeaderName Goto 136 StaticInitializer Gt/Rd 312 Initializer Gt/Rd 312 Diet Goto 205 StaticOnly Goto 138 ClassHeader Goto 94 ClassHeaderName1 Goto 93 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 ConstantDeclaration Gt/Rd 312 DefaultMethodHeader Goto 731 AbstractMethodDeclaration Gt/Rd 312 InvalidConstructorDeclaration Gt/Rd 312 InvalidInitializer Gt/Rd 312 ClassDeclaration Gt/Rd 312 InterfaceDeclaration Gt/Rd 312 EnumDeclaration Gt/Rd 312 AnnotationTypeDeclaration Gt/Rd 312 RecordDeclaration Gt/Rd 312 InterfaceMemberDeclaration Gt/Rd 312 RBRACE Reduce 732 LBRACE Reduce 230 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1347 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 729 ---------------------------------------------------------------------- ( 540 728 ) InvalidConstructorDeclaration ::= ConstructorHeader .MethodBody InvalidConstructorDeclaration ::= ConstructorHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (287) SEMICOLON Sh/Rd 319 NestedMethod Goto 206 MethodBody Gt/Rd 318 LBRACE Reduce 287 Default reduction to rule 287 STATE 730 ---------------------------------------------------------------------- ( 540 728 ) AbstractMethodDeclaration ::= MethodHeader .SEMICOLON InterfaceMemberDeclaration ::= MethodHeader .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (287) SEMICOLON Sh/Rd 260 NestedMethod Goto 206 MethodBody Gt/Rd 316 LBRACE Reduce 287 Default reduction to rule 287 STATE 731 ---------------------------------------------------------------------- ( 540 728 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1348 InterfaceMemberDeclaration ::= DefaultMethodHeader .MethodBody InterfaceMemberDeclaration ::= DefaultMethodHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (287) SEMICOLON Sh/Rd 317 NestedMethod Goto 206 MethodBody Gt/Rd 315 LBRACE Reduce 287 Default reduction to rule 287 STATE 732 ---------------------------------------------------------------------- ( 542 ) RecordComponent ::= Modifiersopt Type .VariableDeclaratorId VariableArityRecordComponent ::= Modifiersopt Type .PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId VariableArityRecordComponent ::= Modifiersopt Type .AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId PushZeroTypeAnnotations ::= . (92) VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE AT308DOTDOTDOT Shift 835 UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Gt/Rd 342 PushZeroTypeAnnotations Goto 836 ELLIPSIS Reduce 92 Default reduction to rule 92 STATE 733 ---------------------------------------------------------------------- ( 543 ) RecordComponents ::= RecordComponents COMMA .RecordComponent Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1349 Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation RecordComponent ::= .Modifiersopt Type VariableDeclaratorId VariableArityRecordComponent ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId VariableArityRecordComponent ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifiersopt Goto 542 Modifier Goto 1002 Modifiers Goto 68 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 VariableArityRecordComponent Gt/Rd 340 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1350 RecordComponent Gt/Rd 340 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 734 ---------------------------------------------------------------------- ( 546 ) ClassHeaderPermittedSubclasses ::= RestrictedIdentifierpermits .ClassTypeList ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ClassTypeList ::= .ClassTypeList COMMA ClassTypeElt ClassTypeElt ::= .ClassType AT308 Shift 38 Identifier Shift 1004 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1351 ClassType Gt/Rd 285 ClassOrInterface Goto 71 GenericType Goto 72 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1041 Name Goto 73 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 ClassOrInterfaceType Goto 1006 ClassTypeElt Goto 837 ClassTypeList Goto 837 STATE 735 ---------------------------------------------------------------------- ( 549 ) ClassBodyDeclarations ::= ClassBodyDeclarations .ClassBodyDeclaration ClassBodyDeclarationsopt ::= NestedType ClassBodyDeclarations . (709) Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (230) ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1352 MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1353 AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 139 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 124 SEMICOLON Sh/Rd 240 FieldDeclaration Gt/Rd 223 MethodDeclaration Gt/Rd 223 ClassDeclaration Gt/Rd 223 InterfaceDeclaration Gt/Rd 223 EnumDeclaration Gt/Rd 223 AnnotationTypeDeclaration Gt/Rd 223 RecordDeclaration Gt/Rd 223 RecordHeaderName Goto 88 Modifiersopt Goto 150 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 84 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 ClassHeaderName Goto 91 ClassHeaderName1 Goto 93 ClassHeader Goto 94 MethodHeader Goto 144 MethodHeaderName Goto 143 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1354 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 AbstractMethodDeclaration Gt/Rd 223 DefaultMethodHeader Goto 140 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 StaticOnly Goto 138 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassMemberDeclaration Gt/Rd 223 StaticInitializer Gt/Rd 223 ConstructorDeclaration Gt/Rd 223 Diet Goto 135 ClassBodyDeclaration Gt/Rd 223 RBRACE Reduce 709 LBRACE Reduce 230 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 class Reduce 710 default Reduce 710 double Reduce 710 enum Reduce 710 float Reduce 710 int Reduce 710 interface Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 LESS Reduce 710 AT308 Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 736 ---------------------------------------------------------------------- ( 550 ) TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt . (505) TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt . Finally Finally ::= .finally Block IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1355 finally Shift 738 Finally Gt/Rd 506 Identifier Reduce 505 abstract Reduce 505 assert Reduce 505 boolean Reduce 505 break Reduce 505 byte Reduce 505 case Reduce 505 char Reduce 505 class Reduce 505 continue Reduce 505 default Reduce 505 do Reduce 505 double Reduce 505 else Reduce 505 enum Reduce 505 false Reduce 505 final Reduce 505 float Reduce 505 for Reduce 505 if Reduce 505 int Reduce 505 interface Reduce 505 long Reduce 505 native Reduce 505 new Reduce 505 non-sealed Reduce 505 null Reduce 505 private Reduce 505 protected Reduce 505 public Reduce 505 return Reduce 505 short Reduce 505 static Reduce 505 strictfp Reduce 505 super Reduce 505 switch Reduce 505 synchronized Reduce 505 this Reduce 505 throw Reduce 505 transient Reduce 505 true Reduce 505 try Reduce 505 void Reduce 505 volatile Reduce 505 while Reduce 505 IntegerLiteral Reduce 505 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1356 LongLiteral Reduce 505 FloatingPointLiteral Reduce 505 DoubleLiteral Reduce 505 CharacterLiteral Reduce 505 StringLiteral Reduce 505 TextBlock Reduce 505 PLUS_PLUS Reduce 505 MINUS_MINUS Reduce 505 LESS Reduce 505 LPAREN Reduce 505 LBRACE Reduce 505 RBRACE Reduce 505 SEMICOLON Reduce 505 AT Reduce 505 BeginLambda Reduce 505 AT308 Reduce 505 RestrictedIdentifierYield Reduce 505 RestrictedIdentifierrecord Reduce 505 RestrictedIdentifiersealed Reduce 505 UNDERSCORE Reduce 505 $eof Reduce 505 Default reduction to rule 505 STATE 737 ---------------------------------------------------------------------- ( 550 ) Catches ::= Catches .CatchClause Catchesopt ::= Catches . (741) CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block catch Shift 552 CatchClause Gt/Rd 521 Identifier Reduce 741 abstract Reduce 741 assert Reduce 741 boolean Reduce 741 break Reduce 741 byte Reduce 741 case Reduce 741 char Reduce 741 class Reduce 741 continue Reduce 741 default Reduce 741 do Reduce 741 double Reduce 741 else Reduce 741 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1357 enum Reduce 741 false Reduce 741 final Reduce 741 finally Reduce 741 float Reduce 741 for Reduce 741 if Reduce 741 int Reduce 741 interface Reduce 741 long Reduce 741 native Reduce 741 new Reduce 741 non-sealed Reduce 741 null Reduce 741 private Reduce 741 protected Reduce 741 public Reduce 741 return Reduce 741 short Reduce 741 static Reduce 741 strictfp Reduce 741 super Reduce 741 switch Reduce 741 synchronized Reduce 741 this Reduce 741 throw Reduce 741 transient Reduce 741 true Reduce 741 try Reduce 741 void Reduce 741 volatile Reduce 741 while Reduce 741 IntegerLiteral Reduce 741 LongLiteral Reduce 741 FloatingPointLiteral Reduce 741 DoubleLiteral Reduce 741 CharacterLiteral Reduce 741 StringLiteral Reduce 741 TextBlock Reduce 741 PLUS_PLUS Reduce 741 MINUS_MINUS Reduce 741 LESS Reduce 741 LPAREN Reduce 741 LBRACE Reduce 741 RBRACE Reduce 741 SEMICOLON Reduce 741 AT Reduce 741 BeginLambda Reduce 741 AT308 Reduce 741 RestrictedIdentifierYield Reduce 741 RestrictedIdentifierrecord Reduce 741 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1358 RestrictedIdentifiersealed Reduce 741 UNDERSCORE Reduce 741 $eof Reduce 741 Default reduction to rule 741 STATE 738 ---------------------------------------------------------------------- ( 551 736 ) Finally ::= finally .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) OpenBlock Goto 114 Block Gt/Rd 523 LBRACE Reduce 382 Default reduction to rule 382 STATE 739 ---------------------------------------------------------------------- ( 552 ) CatchClause ::= catch LPAREN .CatchFormalParameter RPAREN Block Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation CatchFormalParameter ::= .Modifiersopt CatchType VariableDeclaratorId Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1359 NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 AT Shift 66 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Modifiersopt Goto 649 CatchFormalParameter Goto 838 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 740 ---------------------------------------------------------------------- ( 554 ) Resources ::= Resources TrailingSemiColon .Resource Literal ::= .IntegerLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1360 Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifiers Modifier Modifier ::= .Annotation Resource ::= .Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization Resource ::= .Modifiers Type PushRealModifiers VariableDeclaratorId IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1361 EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization Resource ::= .Name Resource ::= .this Resource ::= .FieldAccess PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1362 ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1363 AT Shift 66 strictfp Shift 559 volatile Shift 559 transient Shift 559 synchronized Shift 559 RestrictedIdentifiersealed Shift 559 non-sealed Shift 559 native Shift 559 final Shift 559 abstract Shift 559 static Shift 559 private Shift 559 protected Shift 559 public Shift 559 null Shift 1188 TextBlock Shift 1188 StringLiteral Shift 1188 CharacterLiteral Shift 1188 DoubleLiteral Shift 1188 FloatingPointLiteral Shift 1188 LongLiteral Shift 1188 IntegerLiteral Shift 1188 false Shift 1188 true Shift 1188 LPAREN Sh/Rd 524 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Shift 557 PrimitiveType Goto 130 ReferenceType Goto 560 ClassOrInterface Goto 71 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1189 Name Goto 558 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 560 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 34 Modifier Goto 559 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1364 Modifiers Goto 559 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Primary Goto 555 QualifiedSuperReceiver Goto 35 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 555 BooleanLiteral Goto 1188 ClassInstanceCreationExpressionName Goto 43 LambdaParameters Goto 33 Literal Goto 1188 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 1194 FieldAccess Goto 556 MethodInvocation Goto 1193 ArrayAccess Goto 1192 LambdaExpression Goto 1191 ReferenceExpression Goto 1190 Type Goto 560 Resource Gt/Rd 511 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 741 ---------------------------------------------------------------------- ( 554 ) ResourceSpecification ::= LPAREN Resources ;opt .RPAREN RPAREN Sh/Rd 507 STATE 742 ---------------------------------------------------------------------- ( 554 ) ;opt ::= SEMICOLON . (509) TrailingSemiColon ::= SEMICOLON . (512) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1365 Identifier Reduce 512 abstract Reduce 512 boolean Reduce 512 byte Reduce 512 char Reduce 512 double Reduce 512 false Reduce 512 final Reduce 512 float Reduce 512 int Reduce 512 long Reduce 512 native Reduce 512 new Reduce 512 non-sealed Reduce 512 null Reduce 512 private Reduce 512 protected Reduce 512 public Reduce 512 short Reduce 512 static Reduce 512 strictfp Reduce 512 super Reduce 512 synchronized Reduce 512 this Reduce 512 transient Reduce 512 true Reduce 512 void Reduce 512 volatile Reduce 512 IntegerLiteral Reduce 512 LongLiteral Reduce 512 FloatingPointLiteral Reduce 512 DoubleLiteral Reduce 512 CharacterLiteral Reduce 512 StringLiteral Reduce 512 TextBlock Reduce 512 LPAREN Reduce 512 AT Reduce 512 BeginLambda Reduce 512 AT308 Reduce 512 RestrictedIdentifiersealed Reduce 512 UNDERSCORE Reduce 512 RPAREN Reduce 509 Default reduction to rule 512 STATE 743 ---------------------------------------------------------------------- ( 559 ) Resource ::= Modifiers Type .PushRealModifiers VariableDeclaratorId IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1366 EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization PushRealModifiers ::= . (400) PushRealModifiers Goto 839 Identifier Reduce 400 UNDERSCORE Reduce 400 Default reduction to rule 400 STATE 744 ---------------------------------------------------------------------- ( 560 ) Resource ::= Type PushModifiers .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Goto 840 STATE 745 ---------------------------------------------------------------------- ( 561 ) SynchronizedStatement ::= OnlySynchronized LPAREN Expression RPAREN .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) OpenBlock Goto 114 Block Gt/Rd 501 LBRACE Reduce 382 Default reduction to rule 382 STATE 746 ---------------------------------------------------------------------- ( 562 ) DoStatement ::= do Statement while LPAREN .Expression RPAREN SEMICOLON Literal ::= .IntegerLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1367 Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1368 PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1369 ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1370 CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1371 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1372 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 841 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 747 ---------------------------------------------------------------------- ( 563 ) SwitchStatement ::= switch LPAREN Expression RPAREN . PostExpressionInSwitchStatement OpenBlock SwitchBlock PostExpressionInSwitchStatement ::= . (441) PostExpressionInSwitchStatement Goto 842 LBRACE Reduce 441 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1373 Default reduction to rule 441 STATE 748 ---------------------------------------------------------------------- ( 564 ) ExplicitConstructorInvocation ::= Primary DOT this LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1374 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1375 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1376 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1377 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1378 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 843 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1379 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 749 ---------------------------------------------------------------------- ( 565 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 844 STATE 750 ---------------------------------------------------------------------- ( 565 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 845 STATE 751 ---------------------------------------------------------------------- ( 566 ) ExplicitConstructorInvocation ::= Primary DOT super LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1380 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1381 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1382 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1383 RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1384 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1385 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 846 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 752 ---------------------------------------------------------------------- ( 567 ) ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt RPAREN . SEMICOLON SEMICOLON Sh/Rd 294 STATE 753 ---------------------------------------------------------------------- ( 568 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 847 STATE 754 ---------------------------------------------------------------------- ( 569 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1386 RPAREN Shift 848 STATE 755 ---------------------------------------------------------------------- ( 570 ) ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt RPAREN . SEMICOLON SEMICOLON Sh/Rd 292 STATE 756 ---------------------------------------------------------------------- ( 572 ) AssertStatement ::= assert Expression COLON Expression .SEMICOLON SEMICOLON Sh/Rd 493 STATE 757 ---------------------------------------------------------------------- ( 573 ) IfThenStatement ::= if LPAREN Expression RPAREN .PostExpressionInIf Statement IfThenElseStatement ::= if LPAREN Expression RPAREN .PostExpressionInIf StatementNoShortIf else Statement PostExpressionInIf ::= . (443) PostExpressionInIf Goto 849 Identifier Reduce 443 assert Reduce 443 boolean Reduce 443 break Reduce 443 byte Reduce 443 char Reduce 443 continue Reduce 443 do Reduce 443 double Reduce 443 false Reduce 443 float Reduce 443 for Reduce 443 if Reduce 443 int Reduce 443 long Reduce 443 new Reduce 443 null Reduce 443 return Reduce 443 short Reduce 443 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1387 super Reduce 443 switch Reduce 443 synchronized Reduce 443 this Reduce 443 throw Reduce 443 true Reduce 443 try Reduce 443 void Reduce 443 while Reduce 443 IntegerLiteral Reduce 443 LongLiteral Reduce 443 FloatingPointLiteral Reduce 443 DoubleLiteral Reduce 443 CharacterLiteral Reduce 443 StringLiteral Reduce 443 TextBlock Reduce 443 PLUS_PLUS Reduce 443 MINUS_MINUS Reduce 443 LESS Reduce 443 LPAREN Reduce 443 LBRACE Reduce 443 SEMICOLON Reduce 443 BeginLambda Reduce 443 AT308 Reduce 443 RestrictedIdentifierYield Reduce 443 UNDERSCORE Reduce 443 Default reduction to rule 443 STATE 758 ---------------------------------------------------------------------- ( 574 ) WhileStatement ::= while LPAREN Expression RPAREN .PostExpressionInWhile Statement PostExpressionInWhile ::= . (444) PostExpressionInWhile Goto 850 Identifier Reduce 444 assert Reduce 444 boolean Reduce 444 break Reduce 444 byte Reduce 444 char Reduce 444 continue Reduce 444 do Reduce 444 double Reduce 444 false Reduce 444 float Reduce 444 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1388 for Reduce 444 if Reduce 444 int Reduce 444 long Reduce 444 new Reduce 444 null Reduce 444 return Reduce 444 short Reduce 444 super Reduce 444 switch Reduce 444 synchronized Reduce 444 this Reduce 444 throw Reduce 444 true Reduce 444 try Reduce 444 void Reduce 444 while Reduce 444 IntegerLiteral Reduce 444 LongLiteral Reduce 444 FloatingPointLiteral Reduce 444 DoubleLiteral Reduce 444 CharacterLiteral Reduce 444 StringLiteral Reduce 444 TextBlock Reduce 444 PLUS_PLUS Reduce 444 MINUS_MINUS Reduce 444 LESS Reduce 444 LPAREN Reduce 444 LBRACE Reduce 444 SEMICOLON Reduce 444 BeginLambda Reduce 444 AT308 Reduce 444 RestrictedIdentifierYield Reduce 444 UNDERSCORE Reduce 444 Default reduction to rule 444 STATE 759 ---------------------------------------------------------------------- ( 575 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON .Expressionopt SEMICOLON ForUpdateopt RPAREN Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1389 Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1390 ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1391 FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1392 MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression Expressionopt ::= . (703) MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1393 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AssignmentExpression Gt/Rd 700 ConditionalOrExpression Goto 63 InclusiveOrExpression Goto 61 ConditionalAndExpression Goto 64 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PostfixExpression Goto 65 Literal Goto 988 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 PrimitiveType Goto 30 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1394 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 1000 SwitchExpression Goto 989 CastExpression Goto 989 UnaryExpression Goto 989 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalExpression Goto 1001 Assignment Goto 1001 Expression Goto 851 Expressionopt Goto 851 SEMICOLON Reduce 703 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 760 ---------------------------------------------------------------------- ( 576 ) LocalVariableDeclaration ::= Type PushModifiers .VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers . VariableDeclaratorId VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1395 VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Goto 852 VariableDeclarator Goto 581 VariableDeclarators Goto 581 STATE 761 ---------------------------------------------------------------------- ( 577 ) LocalVariableDeclaration ::= Modifiers Type .PushRealModifiers VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type . PushRealModifiers VariableDeclaratorId PushRealModifiers ::= . (400) PushRealModifiers Goto 853 Identifier Reduce 400 UNDERSCORE Reduce 400 Default reduction to rule 400 STATE 762 ---------------------------------------------------------------------- ( 579 939 ) StatementExpressionList ::= StatementExpressionList COMMA .StatementExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1396 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1397 NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1398 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1015 BooleanLiteral Goto 1009 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1399 TypeAnnotations Goto 42 QualifiedName Goto 1039 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1009 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 106 FieldAccess Goto 1014 MethodInvocation Goto 105 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 StatementExpression Gt/Rd 491 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 763 ---------------------------------------------------------------------- ( 581 601 766 ) VariableDeclarators ::= VariableDeclarators COMMA .VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1400 VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Goto 583 VariableDeclarator Gt/Rd 245 STATE 764 ---------------------------------------------------------------------- ( 583 852 908 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable . ExitVariableWithoutInitialization VariableDeclarator ::= VariableDeclaratorId EnterVariable .EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ExitVariableWithoutInitialization ::= . (250) EQUAL Shift 854 ExitVariableWithoutInitialization Gt/Rd 246 SEMICOLON Reduce 250 COMMA Reduce 250 Default reduction to rule 250 STATE 765 ---------------------------------------------------------------------- ( 584 ) AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier .TypeParameters AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier . (900) TypeParameters ::= .LESS TypeParameterList1 LESS Shift 303 TypeParameters Gt/Rd 899 abstract Reduce 900 extends Reduce 900 final Reduce 900 implements Reduce 900 native Reduce 900 non-sealed Reduce 900 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1401 private Reduce 900 protected Reduce 900 public Reduce 900 static Reduce 900 strictfp Reduce 900 synchronized Reduce 900 transient Reduce 900 volatile Reduce 900 LBRACE Reduce 900 AT Reduce 900 RestrictedIdentifiersealed Reduce 900 $eof Reduce 900 Default reduction to rule 900 STATE 766 ---------------------------------------------------------------------- ( 585 853 ) VariableDeclarators ::= VariableDeclarators .COMMA VariableDeclarator LocalVariableDeclaration ::= Modifiers Type PushRealModifiers VariableDeclarators . (397) COMMA Shift 763 SEMICOLON Reduce 397 Default reduction to rule 397 STATE 767 ---------------------------------------------------------------------- ( 586 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface .Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface .Identifier TypeParameters Identifier Shift 855 STATE 768 ---------------------------------------------------------------------- ( 587 ) ExplicitConstructorInvocation ::= Name DOT this LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1402 Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1403 PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1404 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1405 PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1406 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1407 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 856 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 769 ---------------------------------------------------------------------- ( 588 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 857 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1408 STATE 770 ---------------------------------------------------------------------- ( 588 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 858 STATE 771 ---------------------------------------------------------------------- ( 589 ) ExplicitConstructorInvocation ::= Name DOT super LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1409 InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1410 ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1411 UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1412 ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1413 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 859 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1414 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 772 ---------------------------------------------------------------------- ( 592 ) ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers COMMA .RBRACE VariableInitializers ::= VariableInitializers COMMA .VariableInitializer Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1415 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1416 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1417 PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1418 ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression RBRACE Sh/Rd 378 LBRACE Shift 133 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 NOT Shift 50 TWIDDLE Shift 51 BeginIntersectionCast Shift 48 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 MINUS Shift 27 PLUS Shift 28 AssignmentExpression Gt/Rd 700 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1419 ConditionalOrExpression Goto 63 InclusiveOrExpression Goto 61 ConditionalAndExpression Goto 64 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PostfixExpression Goto 65 Literal Goto 988 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 PrimitiveType Goto 30 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 1000 SwitchExpression Goto 989 CastExpression Goto 989 UnaryExpression Goto 989 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalExpression Goto 1001 Assignment Goto 1001 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1420 Expression Gt/Rd 380 ArrayInitializer Gt/Rd 380 VariableInitializer Gt/Rd 380 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 773 ---------------------------------------------------------------------- ( 596 ) DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier .LPAREN LPAREN Sh/Rd 265 STATE 774 ---------------------------------------------------------------------- ( 597 ) DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (718) throws Shift 359 MethodHeaderThrowsClause Gt/Rd 262 MethodHeaderThrowsClauseopt Gt/Rd 262 LBRACE Reduce 718 SEMICOLON Reduce 718 Default reduction to rule 718 STATE 775 ---------------------------------------------------------------------- ( 598 ) MethodHeader ::= MethodHeaderName FormalParameterListopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1421 MethodHeaderRightParen MethodHeaderExtendedDims . MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (718) throws Shift 359 MethodHeaderThrowsClause Gt/Rd 261 MethodHeaderThrowsClauseopt Gt/Rd 261 LBRACE Reduce 718 SEMICOLON Reduce 718 Default reduction to rule 718 STATE 776 ---------------------------------------------------------------------- ( 599 ) MethodHeaderName ::= Modifiersopt TypeParameters Type Identifier .LPAREN LPAREN Sh/Rd 263 STATE 777 ---------------------------------------------------------------------- ( 607 ) AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier . LPAREN LPAREN Sh/Rd 908 STATE 778 ---------------------------------------------------------------------- ( 609 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PackageDeclarationName ::= Modifiers package PushRealModifiers Name . RejectTypeAnnotations RejectTypeAnnotations ::= . (91) DOT Shift 278 RejectTypeAnnotations Gt/Rd 178 SEMICOLON Reduce 91 Default reduction to rule 91 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1422 STATE 779 ---------------------------------------------------------------------- ( 610 ) AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . AnnotationMethodHeaderDefaultValueopt AnnotationMethodHeaderDefaultValueopt ::= . (910) AnnotationMethodHeaderDefaultValueopt ::= .DefaultValue DefaultValue ::= .default MemberValue default Shift 860 DefaultValue Gt/Rd 911 AnnotationMethodHeaderDefaultValueopt Gt/Rd 912 SEMICOLON Reduce 910 Default reduction to rule 910 STATE 780 ---------------------------------------------------------------------- ( 611 ) QualifiedName ::= Name DOT .SimpleName QualifiedName ::= Name DOT .TypeAnnotations SimpleName StaticImportOnDemandDeclarationName ::= import static Name DOT . RejectTypeAnnotations MULTIPLY TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RejectTypeAnnotations ::= . (91) AT308 Shift 38 Identifier Sh/Rd 77 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1423 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 SimpleName Gt/Rd 77 TypeAnnotations Goto 468 RejectTypeAnnotations Goto 861 MULTIPLY Reduce 91 Default reduction to rule 91 STATE 781 ---------------------------------------------------------------------- ( 612 ) TypeImportOnDemandDeclarationName ::= import Name DOT RejectTypeAnnotations . MULTIPLY MULTIPLY Sh/Rd 188 STATE 782 ---------------------------------------------------------------------- ( 613 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA .RBRACE RBRACE Sh/Rd 936 STATE 783 ---------------------------------------------------------------------- ( 613 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues .COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues .RBRACE MemberValues ::= MemberValues .COMMA MemberValue RBRACE Sh/Rd 935 COMMA Shift 862 STATE 784 ---------------------------------------------------------------------- ( 629 ) ConditionalExpression_NotName ::= Name QUESTION Expression COLON . ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1424 Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1425 PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1426 ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1427 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1230 true Shift 1230 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1428 null Shift 1230 TextBlock Shift 1230 StringLiteral Shift 1230 CharacterLiteral Shift 1230 DoubleLiteral Shift 1230 FloatingPointLiteral Shift 1230 LongLiteral Shift 1230 IntegerLiteral Shift 1230 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1231 MultiplicativeExpression Goto 54 SwitchExpression Goto 1231 PostfixExpression Goto 446 CastExpression Goto 1231 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1240 BooleanLiteral Goto 1230 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1429 Literal Goto 1230 ClassInstanceCreationExpression Goto 1239 FieldAccess Goto 1238 MethodInvocation Goto 1237 ArrayAccess Goto 1236 LambdaExpression Goto 1235 ReferenceExpression Goto 1234 PostIncrementExpression Goto 1233 PostDecrementExpression Goto 1232 PreIncrementExpression Goto 1231 PreDecrementExpression Goto 1231 UnaryExpressionNotPlusMinus Goto 1231 ConditionalExpression Gt/Rd 893 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 785 ---------------------------------------------------------------------- ( 646 ) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression COLON .ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1430 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1431 LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1432 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1433 RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1230 true Shift 1230 null Shift 1230 TextBlock Shift 1230 StringLiteral Shift 1230 CharacterLiteral Shift 1230 DoubleLiteral Shift 1230 FloatingPointLiteral Shift 1230 LongLiteral Shift 1230 IntegerLiteral Shift 1230 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1434 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 1231 MultiplicativeExpression Goto 54 SwitchExpression Goto 1231 PostfixExpression Goto 446 CastExpression Goto 1231 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1240 BooleanLiteral Goto 1230 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1230 ClassInstanceCreationExpression Goto 1239 FieldAccess Goto 1238 MethodInvocation Goto 1237 ArrayAccess Goto 1236 LambdaExpression Goto 1235 ReferenceExpression Goto 1234 PostIncrementExpression Goto 1233 PostDecrementExpression Goto 1232 PreIncrementExpression Goto 1231 PreDecrementExpression Goto 1231 UnaryExpressionNotPlusMinus Goto 1231 ConditionalExpression Gt/Rd 892 boolean Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1435 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 786 ---------------------------------------------------------------------- ( 648 ) CatchHeader ::= catch LPAREN CatchFormalParameter RPAREN .LBRACE LBRACE Sh/Rd 172 STATE 787 ---------------------------------------------------------------------- ( 649 ) CatchFormalParameter ::= Modifiersopt CatchType .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Gt/Rd 279 STATE 788 ---------------------------------------------------------------------- ( 649 ) CatchType ::= UnionType . (280) UnionType ::= UnionType .OR Type OR Shift 863 Identifier Reduce 280 UNDERSCORE Reduce 280 Default reduction to rule 280 STATE 789 ---------------------------------------------------------------------- ( 651 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1436 Arguments ::= LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 756 STATE 790 ---------------------------------------------------------------------- ( 652 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . MethodHeaderThrowsClause MethodHeaderThrowsClause ::= .throws ClassTypeList AnnotationMethodHeaderDefaultValueopt ::= . (910) AnnotationMethodHeaderDefaultValueopt ::= .DefaultValue DefaultValue ::= .default MemberValue default Shift 860 throws Shift 359 DefaultValue Gt/Rd 911 AnnotationMethodHeaderDefaultValueopt Gt/Rd 948 MethodHeaderThrowsClause Gt/Rd 949 abstract Reduce 910 final Reduce 910 native Reduce 910 non-sealed Reduce 910 private Reduce 910 protected Reduce 910 public Reduce 910 static Reduce 910 strictfp Reduce 910 synchronized Reduce 910 transient Reduce 910 volatile Reduce 910 AT Reduce 910 RestrictedIdentifiersealed Reduce 910 $eof Reduce 910 Default reduction to rule 910 STATE 791 ---------------------------------------------------------------------- ( 654 ) RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier .LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1437 LPAREN Sh/Rd 946 STATE 792 ---------------------------------------------------------------------- ( 656 ) AllocationHeader ::= new ClassType LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 573 STATE 793 ---------------------------------------------------------------------- ( 658 ) RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier . LPAREN LPAREN Sh/Rd 944 STATE 794 ---------------------------------------------------------------------- ( 660 ) UnannotatableName ::= UnannotatableName .DOT SimpleName ModuleHeader ::= Modifiersopt ModuleModifieropt module UnannotatableName . (108) DOT Shift 458 abstract Reduce 108 final Reduce 108 native Reduce 108 non-sealed Reduce 108 private Reduce 108 protected Reduce 108 public Reduce 108 static Reduce 108 strictfp Reduce 108 synchronized Reduce 108 transient Reduce 108 volatile Reduce 108 LBRACE Reduce 108 AT Reduce 108 RestrictedIdentifiersealed Reduce 108 $eof Reduce 108 Default reduction to rule 108 STATE 795 ---------------------------------------------------------------------- ( 662 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1438 TargetModuleNameList ::= TargetModuleNameList COMMA .TargetModuleName SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName TargetModuleName ::= .UnannotatableName Identifier Shift 1197 SimpleName Goto 1197 UnannotatableName Goto 663 TargetModuleName Gt/Rd 136 STATE 796 ---------------------------------------------------------------------- ( 664 ) ServiceImplNameList ::= ServiceImplNameList COMMA .ServiceImplName Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ServiceImplName ::= .Name AT308 Shift 38 Identifier Shift 1004 SimpleName Gt/Rd 71 TypeAnnotations Goto 70 QualifiedName Goto 1198 Name Goto 665 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1439 ServiceImplName Gt/Rd 146 STATE 797 ---------------------------------------------------------------------- ( 668 ) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports . (98) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports .TypeDeclarations TypeDeclarations ::= .TypeDeclarations TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1440 EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 191 AT Shift 124 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 1008 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 ClassDeclaration Goto 864 InterfaceDeclaration Goto 864 EnumDeclaration Goto 864 AnnotationTypeDeclaration Goto 864 RecordDeclaration Goto 864 RecordHeaderName Goto 88 Modifiersopt Goto 92 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 84 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1441 EnumHeaderName Goto 81 EnumHeader Goto 82 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 ClassHeaderName Goto 91 Modifier Goto 1008 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 ClassHeaderName1 Goto 93 ClassHeader Goto 94 TypeDeclaration Goto 864 TypeDeclarations Goto 864 $eof Reduce 98 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 798 ---------------------------------------------------------------------- ( 672 ) ModuleBody ::= LBRACE ModuleStatementsOpt .RBRACE RBRACE Sh/Rd 112 STATE 799 ---------------------------------------------------------------------- ( 672 ) ModuleStatementsOpt ::= ModuleStatements . (114) ModuleStatements ::= ModuleStatements .ModuleStatement ModuleStatement ::= .RequiresStatement ModuleStatement ::= .ExportsStatement ModuleStatement ::= .OpensStatement ModuleStatement ::= .UsesStatement ModuleStatement ::= .ProvidesStatement RequiresStatement ::= .SingleRequiresModuleName SEMICOLON SingleRequiresModuleName ::= .requires RequiresModifiersopt UnannotatableName ExportsStatement ::= .ExportsHeader TargetModuleListopt SEMICOLON ExportsHeader ::= .exports SinglePkgName OpensStatement ::= .OpensHeader TargetModuleListopt SEMICOLON OpensHeader ::= .opens SinglePkgName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1442 UsesStatement ::= .UsesHeader SEMICOLON UsesHeader ::= .uses Name ProvidesStatement ::= .ProvidesInterface WithClause SEMICOLON ProvidesInterface ::= .provides Name provides Shift 200 uses Shift 198 opens Shift 202 exports Shift 196 requires Shift 194 SingleRequiresModuleName Goto 193 ExportsHeader Goto 195 OpensHeader Goto 201 UsesHeader Goto 197 ProvidesInterface Goto 199 RequiresStatement Gt/Rd 117 ExportsStatement Gt/Rd 118 OpensStatement Gt/Rd 119 UsesStatement Gt/Rd 120 ProvidesStatement Gt/Rd 121 ModuleStatement Gt/Rd 116 RBRACE Reduce 114 Default reduction to rule 114 STATE 800 ---------------------------------------------------------------------- ( 674 ) SwitchExpression ::= switch LPAREN Expression RPAREN PostExpressionInSwitchExpression .OpenBlock SwitchBlock OpenBlock ::= . (382) OpenBlock Goto 865 LBRACE Reduce 382 Default reduction to rule 382 STATE 801 ---------------------------------------------------------------------- ( 677 ) MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1443 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1444 PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1445 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1446 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1447 MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1448 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 866 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 802 ---------------------------------------------------------------------- ( 678 ) MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt .RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1449 RPAREN Sh/Rd 612 STATE 803 ---------------------------------------------------------------------- ( 679 ) MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1450 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1451 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1452 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1453 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1454 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 867 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1455 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 804 ---------------------------------------------------------------------- ( 680 ) MethodInvocation ::= super DOT Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 615 STATE 805 ---------------------------------------------------------------------- ( 681 ) MemberValuePair ::= SimpleName .EQUAL EnterMemberValue MemberValue ExitMemberValue EQUAL Shift 682 STATE 806 ---------------------------------------------------------------------- ( 682 ) MemberValuePair ::= SimpleName EQUAL EnterMemberValue .MemberValue ExitMemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1456 TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1457 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1458 ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1459 AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1460 ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValue ::= .Name MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (938) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 170 PLUS Shift 171 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1020 true Shift 1020 null Shift 1020 TextBlock Shift 1020 StringLiteral Shift 1020 CharacterLiteral Shift 1020 DoubleLiteral Shift 1020 FloatingPointLiteral Shift 1020 LongLiteral Shift 1020 IntegerLiteral Shift 1020 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AT Shift 66 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1461 ConditionalOrExpression_NotName Goto 183 Name Goto 182 InclusiveOrExpression_NotName Goto 181 ConditionalAndExpression_NotName Goto 180 AndExpression_NotName Goto 179 ExclusiveOrExpression_NotName Goto 178 InstanceofExpression_NotName Goto 177 EqualityExpression_NotName Goto 176 ShiftExpression_NotName Goto 175 RelationalExpression_NotName Goto 174 MultiplicativeExpression_NotName Goto 173 AdditiveExpression_NotName Goto 172 PreIncrementExpression Goto 1021 PreDecrementExpression Goto 1021 UnaryExpressionNotPlusMinus_NotName Goto 1021 Primary Goto 169 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PostfixExpression Goto 166 Literal Goto 1020 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1029 FieldAccess Goto 1028 PrimitiveType Goto 30 MethodInvocation Goto 1027 ArrayAccess Goto 1026 LambdaExpression Goto 1025 ReferenceExpression Goto 1024 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1023 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1020 ArrayCreationWithoutArrayInitializer Goto 1022 SwitchExpression Goto 1021 PostfixExpression_NotName Goto 1021 CastExpression Goto 1021 UnaryExpression_NotName Goto 1021 NormalAnnotation Goto 868 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1462 MarkerAnnotation Goto 868 SingleMemberAnnotation Goto 868 AnnotationName Goto 67 EnterMemberValueArrayInitializer Goto 163 ConditionalExpression_NotName Goto 868 Annotation Goto 868 MemberValueArrayInitializer Goto 868 MemberValue Goto 868 LBRACE Reduce 938 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 807 ---------------------------------------------------------------------- ( 684 ) ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt .IdentifierOrNew IdentifierOrNew ::= .Identifier IdentifierOrNew ::= .new new Sh/Rd 557 Identifier Sh/Rd 556 IdentifierOrNew Gt/Rd 550 STATE 808 ---------------------------------------------------------------------- ( 686 ) MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1463 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1464 PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1465 DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1466 CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1467 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1468 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 869 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 809 ---------------------------------------------------------------------- ( 687 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1469 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1470 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1471 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1472 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1473 ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1474 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 870 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 810 ---------------------------------------------------------------------- ( 688 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1475 ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 871 STATE 811 ---------------------------------------------------------------------- ( 689 ) MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1476 SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1477 ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1478 UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1479 InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1480 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 872 RPAREN Reduce 716 boolean Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1481 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 812 ---------------------------------------------------------------------- ( 690 ) MethodInvocation ::= Primary DOT Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 611 STATE 813 ---------------------------------------------------------------------- ( 691 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 873 STATE 814 ---------------------------------------------------------------------- ( 692 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (580) EnterInstanceCreationArgumentList Goto 874 LPAREN Reduce 580 Default reduction to rule 580 STATE 815 ---------------------------------------------------------------------- ( 693 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1482 DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET Expression .RBRACKET RBRACKET Sh/Rd 598 STATE 816 ---------------------------------------------------------------------- ( 694 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN UnqualifiedClassBodyopt RPAREN Shift 875 STATE 817 ---------------------------------------------------------------------- ( 695 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN UnqualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1483 TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1484 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1485 PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1486 EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1487 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1488 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 876 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 818 ---------------------------------------------------------------------- ( 696 ) CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds . UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1489 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1490 ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1491 PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus NOT Shift 50 TWIDDLE Shift 51 BeginIntersectionCast Shift 48 null Shift 1220 TextBlock Shift 1220 StringLiteral Shift 1220 CharacterLiteral Shift 1220 DoubleLiteral Shift 1220 FloatingPointLiteral Shift 1220 LongLiteral Shift 1220 IntegerLiteral Shift 1220 false Shift 1220 true Shift 1220 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1229 PostDecrementExpression Goto 1228 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1492 PostfixExpression Goto 446 Literal Goto 1220 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1227 FieldAccess Goto 1226 PrimitiveType Goto 30 MethodInvocation Goto 1225 ArrayAccess Goto 1224 LambdaExpression Goto 1223 ReferenceExpression Goto 1222 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1220 ArrayCreationWithoutArrayInitializer Goto 1221 SwitchExpression Gt/Rd 641 CastExpression Gt/Rd 641 UnaryExpressionNotPlusMinus Gt/Rd 641 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 819 ---------------------------------------------------------------------- ( 697 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN .InsideCastExpression UnaryExpression InsideCastExpression ::= . (648) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1493 InsideCastExpression Goto 877 Identifier Reduce 648 boolean Reduce 648 byte Reduce 648 char Reduce 648 double Reduce 648 false Reduce 648 float Reduce 648 int Reduce 648 long Reduce 648 new Reduce 648 null Reduce 648 short Reduce 648 super Reduce 648 switch Reduce 648 this Reduce 648 true Reduce 648 void Reduce 648 IntegerLiteral Reduce 648 LongLiteral Reduce 648 FloatingPointLiteral Reduce 648 DoubleLiteral Reduce 648 CharacterLiteral Reduce 648 StringLiteral Reduce 648 TextBlock Reduce 648 PLUS_PLUS Reduce 648 MINUS_MINUS Reduce 648 PLUS Reduce 648 MINUS Reduce 648 NOT Reduce 648 TWIDDLE Reduce 648 LPAREN Reduce 648 BeginLambda Reduce 648 BeginIntersectionCast Reduce 648 AT308 Reduce 648 UNDERSCORE Reduce 648 Default reduction to rule 648 STATE 820 ---------------------------------------------------------------------- ( 699 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType .Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1494 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (714) LBRACKET Shift 214 AT308 Shift 38 DimsLoop Goto 215 TypeAnnotations Goto 213 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 OneDimLoop Goto 1030 Dims Goto 878 Dimsopt Goto 878 AND Reduce 714 RPAREN Reduce 714 Default reduction to rule 714 STATE 821 ---------------------------------------------------------------------- ( 700 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt .PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 525 PushRPAREN Goto 879 STATE 822 ---------------------------------------------------------------------- ( 702 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1495 CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN . InsideCastExpression UnaryExpressionNotPlusMinus InsideCastExpression ::= . (648) InsideCastExpression Goto 880 Identifier Reduce 648 boolean Reduce 648 byte Reduce 648 char Reduce 648 double Reduce 648 false Reduce 648 float Reduce 648 int Reduce 648 long Reduce 648 new Reduce 648 null Reduce 648 short Reduce 648 super Reduce 648 switch Reduce 648 this Reduce 648 true Reduce 648 void Reduce 648 IntegerLiteral Reduce 648 LongLiteral Reduce 648 FloatingPointLiteral Reduce 648 DoubleLiteral Reduce 648 CharacterLiteral Reduce 648 StringLiteral Reduce 648 TextBlock Reduce 648 NOT Reduce 648 TWIDDLE Reduce 648 LPAREN Reduce 648 BeginLambda Reduce 648 BeginIntersectionCast Reduce 648 AT308 Reduce 648 UNDERSCORE Reduce 648 Default reduction to rule 648 STATE 823 ---------------------------------------------------------------------- ( 707 ) ComponentPatternList ::= ComponentPatternList COMMA .ComponentPattern Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1496 Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation TypePattern ::= .Modifiersopt Type Identifier TypePattern ::= .Modifiersopt Type UNDERSCORE RecordPattern ::= .Modifiersopt ReferenceType PushLPAREN ComponentPatternListopt PushRPAREN UnnamedPattern ::= .UNDERSCORE Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UNDERSCORE Sh/Rd 373 AT Shift 66 strictfp Shift 1002 volatile Shift 1002 transient Shift 1002 synchronized Shift 1002 RestrictedIdentifiersealed Shift 1002 non-sealed Shift 1002 native Shift 1002 final Shift 1002 abstract Shift 1002 static Shift 1002 private Shift 1002 protected Shift 1002 public Shift 1002 TypePattern Gt/Rd 370 RecordPattern Gt/Rd 370 Modifiersopt Goto 69 Modifiers Goto 68 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1497 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1002 Pattern Gt/Rd 370 UnnamedPattern Gt/Rd 370 ComponentPattern Gt/Rd 370 Identifier Reduce 710 boolean Reduce 710 byte Reduce 710 char Reduce 710 double Reduce 710 float Reduce 710 int Reduce 710 long Reduce 710 short Reduce 710 void Reduce 710 AT308 Reduce 710 Default reduction to rule 710 STATE 824 ---------------------------------------------------------------------- ( 708 ) TypeArgumentList1 ::= TypeArgumentList COMMA .TypeArgument1 TypeArgumentList ::= TypeArgumentList COMMA .TypeArgument TypeArgumentList2 ::= TypeArgumentList COMMA .TypeArgument2 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1498 TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeArgument ::= .ReferenceType ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 ReferenceType2 ::= .ReferenceType RIGHT_SHIFT ReferenceType2 ::= .ClassOrInterface LESS TypeArgumentList3 Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 Wildcard2 ::= .TypeAnnotationsopt QUESTION RIGHT_SHIFT Wildcard2 ::= .TypeAnnotationsopt QUESTION WildcardBounds2 AT308 Shift 38 Identifier Shift 1004 ReferenceType Goto 710 ClassOrInterface Goto 709 TypeAnnotationsopt Goto 711 ReferenceType2 Gt/Rd 784 Wildcard2 Gt/Rd 784 Wildcard Gt/Rd 776 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1043 ReferenceType1 Gt/Rd 774 Wildcard1 Gt/Rd 774 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1499 TypeArgument1 Gt/Rd 774 TypeArgument Gt/Rd 776 TypeArgument2 Gt/Rd 784 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 QUESTION Reduce 79 Default reduction to rule 79 STATE 825 ---------------------------------------------------------------------- ( 709 ) GenericType ::= ClassOrInterface LESS .GREATER TypeArguments ::= LESS .TypeArgumentList1 ReferenceType1 ::= ClassOrInterface LESS .TypeArgumentList2 ReferenceType2 ::= ClassOrInterface LESS .TypeArgumentList3 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1500 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeArgumentList1 ::= .TypeArgumentList COMMA TypeArgument1 TypeArgumentList ::= .TypeArgumentList COMMA TypeArgument TypeArgument ::= .ReferenceType ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 TypeArgumentList2 ::= .TypeArgumentList COMMA TypeArgument2 ReferenceType2 ::= .ReferenceType RIGHT_SHIFT ReferenceType2 ::= .ClassOrInterface LESS TypeArgumentList3 TypeArgumentList3 ::= .TypeArgumentList COMMA TypeArgument3 ReferenceType3 ::= .ReferenceType UNSIGNED_RIGHT_SHIFT Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 Wildcard2 ::= .TypeAnnotationsopt QUESTION RIGHT_SHIFT Wildcard2 ::= .TypeAnnotationsopt QUESTION WildcardBounds2 Wildcard3 ::= .TypeAnnotationsopt QUESTION UNSIGNED_RIGHT_SHIFT Wildcard3 ::= .TypeAnnotationsopt QUESTION WildcardBounds3 GREATER Sh/Rd 64 AT308 Shift 38 Identifier Shift 1004 ReferenceType3 Gt/Rd 788 Wildcard3 Gt/Rd 788 TypeAnnotationsopt Goto 883 ReferenceType Goto 882 TypeArgument3 Gt/Rd 788 TypeArgumentList Goto 881 ReferenceType2 Gt/Rd 782 Wildcard2 Gt/Rd 782 ClassOrInterface Goto 709 TypeArgument2 Gt/Rd 782 ReferenceType1 Gt/Rd 771 Wildcard1 Gt/Rd 771 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1043 TypeAnnotations Goto 42 GenericType Goto 129 PrimitiveType Goto 283 Name Goto 274 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1501 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1041 TypeArgument Goto 881 Wildcard Goto 881 TypeArgument1 Gt/Rd 771 TypeArgumentList1 Gt/Rd 771 TypeArgumentList2 Gt/Rd 782 TypeArgumentList3 Gt/Rd 788 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 QUESTION Reduce 79 Default reduction to rule 79 STATE 826 ---------------------------------------------------------------------- ( 711 ) Wildcard ::= TypeAnnotationsopt QUESTION . (794) Wildcard ::= TypeAnnotationsopt QUESTION .WildcardBounds Wildcard1 ::= TypeAnnotationsopt QUESTION .GREATER Wildcard1 ::= TypeAnnotationsopt QUESTION .WildcardBounds1 Wildcard2 ::= TypeAnnotationsopt QUESTION .RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt QUESTION .WildcardBounds2 WildcardBounds ::= .extends ReferenceType WildcardBounds ::= .super ReferenceType WildcardBounds1 ::= .extends ReferenceType1 WildcardBounds1 ::= .super ReferenceType1 WildcardBounds2 ::= .extends ReferenceType2 WildcardBounds2 ::= .super ReferenceType2 RIGHT_SHIFT Sh/Rd 802 GREATER Sh/Rd 798 super Shift 884 extends Shift 885 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1502 WildcardBounds Gt/Rd 795 WildcardBounds1 Gt/Rd 799 WildcardBounds2 Gt/Rd 803 COMMA Reduce 794 Default reduction to rule 794 STATE 827 ---------------------------------------------------------------------- ( 712 ) ReferenceType1 ::= ReferenceType .GREATER WildcardBounds ::= super ReferenceType . (797) GREATER Sh/Rd 781 COMMA Reduce 797 Default reduction to rule 797 STATE 828 ---------------------------------------------------------------------- ( 713 ) ReferenceType1 ::= ReferenceType .GREATER WildcardBounds ::= extends ReferenceType . (796) GREATER Sh/Rd 781 COMMA Reduce 796 Default reduction to rule 796 STATE 829 ---------------------------------------------------------------------- ( 715 ) FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis ELLIPSIS Shift 886 STATE 830 ---------------------------------------------------------------------- ( 716 ) FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS . VariableDeclaratorIdOrThis IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1503 SimpleName ::= .Identifier UnannotatableName ::= .UnannotatableName DOT SimpleName VariableDeclaratorIdOrThis ::= .this VariableDeclaratorIdOrThis ::= .UnannotatableName DOT this VariableDeclaratorIdOrThis ::= .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE this Sh/Rd 93 UNDERSCORE Sh/Rd 254 Identifier Shift 717 SimpleName Goto 718 UnannotatableName Goto 718 VariableDeclaratorId Gt/Rd 95 VariableDeclaratorIdOrThis Gt/Rd 277 STATE 831 ---------------------------------------------------------------------- ( 718 ) UnannotatableName ::= UnannotatableName DOT .SimpleName VariableDeclaratorIdOrThis ::= UnannotatableName DOT .this this Sh/Rd 94 Identifier Sh/Rd 76 SimpleName Gt/Rd 76 STATE 832 ---------------------------------------------------------------------- ( 722 ) EnumBody ::= LBRACE EnumConstants COMMA EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 748 STATE 833 ---------------------------------------------------------------------- ( 723 ) EnumConstant ::= EnumConstantHeader ForceNoDiet ClassBody .RestoreDiet RestoreDiet ::= . (252) RestoreDiet Gt/Rd 754 RBRACE Reduce 252 SEMICOLON Reduce 252 COMMA Reduce 252 Default reduction to rule 252 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1504 STATE 834 ---------------------------------------------------------------------- ( 727 ) ReferenceType1 ::= ReferenceType .GREATER TypeParameter ::= TypeParameterHeader extends ReferenceType . (815) TypeParameter ::= TypeParameterHeader extends ReferenceType . AdditionalBoundList TypeParameter1 ::= TypeParameterHeader extends ReferenceType . AdditionalBoundList1 AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AdditionalBoundList1 ::= .AdditionalBoundList AdditionalBound1 AdditionalBound1 ::= .AND ReferenceType1 GREATER Sh/Rd 781 AND Shift 888 AdditionalBound1 Gt/Rd 824 AdditionalBoundList Goto 887 AdditionalBound Goto 887 AdditionalBoundList1 Gt/Rd 824 COMMA Reduce 815 Default reduction to rule 815 STATE 835 ---------------------------------------------------------------------- ( 732 ) VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT . TypeAnnotations ELLIPSIS VariableDeclaratorId TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 TypeAnnotation Goto 998 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1505 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotations Goto 889 STATE 836 ---------------------------------------------------------------------- ( 732 ) VariableArityRecordComponent ::= Modifiersopt Type PushZeroTypeAnnotations . ELLIPSIS VariableDeclaratorId ELLIPSIS Shift 890 STATE 837 ---------------------------------------------------------------------- ( 734 ) ClassTypeList ::= ClassTypeList .COMMA ClassTypeElt ClassHeaderPermittedSubclasses ::= RestrictedIdentifierpermits ClassTypeList . (727) COMMA Shift 279 abstract Reduce 727 final Reduce 727 native Reduce 727 non-sealed Reduce 727 private Reduce 727 protected Reduce 727 public Reduce 727 static Reduce 727 strictfp Reduce 727 synchronized Reduce 727 transient Reduce 727 volatile Reduce 727 LBRACE Reduce 727 AT Reduce 727 RestrictedIdentifiersealed Reduce 727 $eof Reduce 727 Default reduction to rule 727 STATE 838 ---------------------------------------------------------------------- ( 739 ) CatchClause ::= catch LPAREN CatchFormalParameter .RPAREN Block IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1506 RPAREN Shift 891 STATE 839 ---------------------------------------------------------------------- ( 743 ) Resource ::= Modifiers Type PushRealModifiers .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Goto 892 STATE 840 ---------------------------------------------------------------------- ( 744 ) Resource ::= Type PushModifiers VariableDeclaratorId .EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EnterVariable ::= . (248) EnterVariable Goto 893 EQUAL Reduce 248 Default reduction to rule 248 STATE 841 ---------------------------------------------------------------------- ( 746 ) DoStatement ::= do Statement while LPAREN Expression .RPAREN SEMICOLON RPAREN Shift 894 STATE 842 ---------------------------------------------------------------------- ( 747 ) SwitchStatement ::= switch LPAREN Expression RPAREN PostExpressionInSwitchStatement .OpenBlock SwitchBlock OpenBlock ::= . (382) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1507 OpenBlock Goto 895 LBRACE Reduce 382 Default reduction to rule 382 STATE 843 ---------------------------------------------------------------------- ( 748 ) ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt . RPAREN SEMICOLON RPAREN Shift 896 STATE 844 ---------------------------------------------------------------------- ( 749 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1508 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1509 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1510 PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1511 AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1512 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1513 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 897 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 845 ---------------------------------------------------------------------- ( 750 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1514 TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1515 ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1516 PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1517 EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1518 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1519 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 898 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 846 ---------------------------------------------------------------------- ( 751 ) ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt . RPAREN SEMICOLON RPAREN Shift 899 STATE 847 ---------------------------------------------------------------------- ( 753 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 295 STATE 848 ---------------------------------------------------------------------- ( 754 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 293 STATE 849 ---------------------------------------------------------------------- ( 757 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1520 IfThenStatement ::= if LPAREN Expression RPAREN PostExpressionInIf .Statement IfThenElseStatement ::= if LPAREN Expression RPAREN PostExpressionInIf . StatementNoShortIf else Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1521 ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) Statement ::= .StatementWithoutTrailingSubstatement StatementNoShortIf ::= .StatementWithoutTrailingSubstatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement LabeledStatementNoShortIf ::= .Label COLON StatementNoShortIf Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1522 WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN PostExpressionInWhile StatementNoShortIf DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1523 NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1524 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementNoShortIf ::= .EnhancedForStatementHeader StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1525 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 for Shift 903 while Shift 904 if Shift 905 Label Goto 906 EnhancedForStatementHeader Goto 902 StatementWithoutTrailingSubstatement Goto 901 LabeledStatementNoShortIf Goto 900 IfThenElseStatementNoShortIf Goto 900 WhileStatementNoShortIf Goto 900 ForStatementNoShortIf Goto 900 EnhancedForStatementNoShortIf Goto 900 AssertStatement Goto 1241 Block Goto 1241 EmptyStatement Goto 1241 ExpressionStatement Goto 1241 SwitchStatement Goto 1241 DoStatement Goto 1241 BreakStatement Goto 1241 ContinueStatement Goto 1241 ReturnStatement Goto 1241 SynchronizedStatement Goto 1241 ThrowStatement Goto 1241 TryStatement Goto 1241 TryStatementWithResources Goto 1241 YieldStatement Goto 1241 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1526 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 EnhancedForStatementHeaderInit Goto 121 LabeledStatement Gt/Rd 445 IfThenStatement Gt/Rd 445 IfThenElseStatement Gt/Rd 445 WhileStatement Gt/Rd 445 ForStatement Gt/Rd 445 EnhancedForStatement Gt/Rd 445 Statement Gt/Rd 445 StatementNoShortIf Goto 900 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 850 ---------------------------------------------------------------------- ( 758 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1527 WhileStatement ::= while LPAREN Expression RPAREN PostExpressionInWhile . Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1528 ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1529 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1530 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1531 EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 120 while Shift 118 if Shift 117 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 AssertStatement Gt/Rd 482 Block Gt/Rd 482 EmptyStatement Gt/Rd 482 ExpressionStatement Gt/Rd 482 SwitchStatement Gt/Rd 482 DoStatement Gt/Rd 482 BreakStatement Gt/Rd 482 ContinueStatement Gt/Rd 482 ReturnStatement Gt/Rd 482 SynchronizedStatement Gt/Rd 482 ThrowStatement Gt/Rd 482 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1532 TryStatement Gt/Rd 482 TryStatementWithResources Gt/Rd 482 YieldStatement Gt/Rd 482 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 Label Goto 116 EnhancedForStatementHeader Goto 119 EnhancedForStatementHeaderInit Goto 121 StatementWithoutTrailingSubstatement Gt/Rd 482 LabeledStatement Gt/Rd 482 IfThenStatement Gt/Rd 482 IfThenElseStatement Gt/Rd 482 WhileStatement Gt/Rd 482 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1533 ForStatement Gt/Rd 482 EnhancedForStatement Gt/Rd 482 Statement Gt/Rd 482 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 851 ---------------------------------------------------------------------- ( 759 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt .SEMICOLON ForUpdateopt RPAREN Statement SEMICOLON Shift 907 STATE 852 ---------------------------------------------------------------------- ( 760 ) VariableDeclarator ::= VariableDeclaratorId .EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= VariableDeclaratorId .EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers VariableDeclaratorId . (764) EnterVariable ::= . (248) EnterVariable Goto 764 COLON Reduce 764 SEMICOLON Reduce 248 COMMA Reduce 248 EQUAL Reduce 248 Default reduction to rule 248 STATE 853 ---------------------------------------------------------------------- ( 761 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1534 LocalVariableDeclaration ::= Modifiers Type PushRealModifiers . VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers .VariableDeclaratorId VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Goto 908 VariableDeclarator Goto 766 VariableDeclarators Goto 766 STATE 854 ---------------------------------------------------------------------- ( 764 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL .ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ForceNoDiet ::= . (251) ForceNoDiet Goto 909 Identifier Reduce 251 boolean Reduce 251 byte Reduce 251 char Reduce 251 double Reduce 251 false Reduce 251 float Reduce 251 int Reduce 251 long Reduce 251 new Reduce 251 null Reduce 251 short Reduce 251 super Reduce 251 switch Reduce 251 this Reduce 251 true Reduce 251 void Reduce 251 IntegerLiteral Reduce 251 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1535 LongLiteral Reduce 251 FloatingPointLiteral Reduce 251 DoubleLiteral Reduce 251 CharacterLiteral Reduce 251 StringLiteral Reduce 251 TextBlock Reduce 251 PLUS_PLUS Reduce 251 MINUS_MINUS Reduce 251 PLUS Reduce 251 MINUS Reduce 251 NOT Reduce 251 TWIDDLE Reduce 251 LPAREN Reduce 251 LBRACE Reduce 251 BeginLambda Reduce 251 BeginIntersectionCast Reduce 251 AT308 Reduce 251 UNDERSCORE Reduce 251 Default reduction to rule 251 STATE 855 ---------------------------------------------------------------------- ( 767 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier . (897) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier .TypeParameters TypeParameters ::= .LESS TypeParameterList1 LESS Shift 303 TypeParameters Gt/Rd 898 abstract Reduce 897 extends Reduce 897 final Reduce 897 implements Reduce 897 native Reduce 897 non-sealed Reduce 897 private Reduce 897 protected Reduce 897 public Reduce 897 static Reduce 897 strictfp Reduce 897 synchronized Reduce 897 transient Reduce 897 volatile Reduce 897 LBRACE Reduce 897 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1536 AT Reduce 897 RestrictedIdentifiersealed Reduce 897 $eof Reduce 897 Default reduction to rule 897 STATE 856 ---------------------------------------------------------------------- ( 768 ) ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 910 STATE 857 ---------------------------------------------------------------------- ( 769 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1537 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1538 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1539 PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1540 AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1541 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1542 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 911 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 858 ---------------------------------------------------------------------- ( 770 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1543 TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1544 ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1545 PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1546 EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1547 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1548 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 912 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 859 ---------------------------------------------------------------------- ( 771 ) ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt . RPAREN SEMICOLON RPAREN Shift 913 STATE 860 ---------------------------------------------------------------------- ( 779 790 ) DefaultValue ::= default .MemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1549 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1550 ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1551 LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1552 REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1553 InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValue ::= .Name MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (938) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 170 PLUS Shift 171 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1020 true Shift 1020 null Shift 1020 TextBlock Shift 1020 StringLiteral Shift 1020 CharacterLiteral Shift 1020 DoubleLiteral Shift 1020 FloatingPointLiteral Shift 1020 LongLiteral Shift 1020 IntegerLiteral Shift 1020 new Shift 45 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1554 BeginIntersectionCast Shift 48 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AT Shift 66 ConditionalOrExpression_NotName Goto 183 Name Goto 182 InclusiveOrExpression_NotName Goto 181 ConditionalAndExpression_NotName Goto 180 AndExpression_NotName Goto 179 ExclusiveOrExpression_NotName Goto 178 InstanceofExpression_NotName Goto 177 EqualityExpression_NotName Goto 176 ShiftExpression_NotName Goto 175 RelationalExpression_NotName Goto 174 MultiplicativeExpression_NotName Goto 173 AdditiveExpression_NotName Goto 172 PreIncrementExpression Goto 1021 PreDecrementExpression Goto 1021 UnaryExpressionNotPlusMinus_NotName Goto 1021 Primary Goto 169 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PostfixExpression Goto 166 Literal Goto 1020 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1029 FieldAccess Goto 1028 PrimitiveType Goto 30 MethodInvocation Goto 1027 ArrayAccess Goto 1026 LambdaExpression Goto 1025 ReferenceExpression Goto 1024 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1023 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1020 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1555 ArrayCreationWithoutArrayInitializer Goto 1022 SwitchExpression Goto 1021 PostfixExpression_NotName Goto 1021 CastExpression Goto 1021 UnaryExpression_NotName Goto 1021 NormalAnnotation Gt/Rd 917 MarkerAnnotation Gt/Rd 917 SingleMemberAnnotation Gt/Rd 917 AnnotationName Goto 67 EnterMemberValueArrayInitializer Goto 163 ConditionalExpression_NotName Gt/Rd 917 Annotation Gt/Rd 917 MemberValueArrayInitializer Gt/Rd 917 MemberValue Gt/Rd 917 LBRACE Reduce 938 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 861 ---------------------------------------------------------------------- ( 780 ) StaticImportOnDemandDeclarationName ::= import static Name DOT RejectTypeAnnotations .MULTIPLY MULTIPLY Sh/Rd 770 STATE 862 ---------------------------------------------------------------------- ( 783 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA .RBRACE MemberValues ::= MemberValues COMMA .MemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1556 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1557 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1558 MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1559 UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1560 AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValue ::= .Name MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (938) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RBRACE Sh/Rd 934 AT Shift 66 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 NOT Shift 164 TWIDDLE Shift 165 BeginIntersectionCast Shift 48 null Shift 1020 TextBlock Shift 1020 StringLiteral Shift 1020 CharacterLiteral Shift 1020 DoubleLiteral Shift 1020 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1561 FloatingPointLiteral Shift 1020 LongLiteral Shift 1020 IntegerLiteral Shift 1020 false Shift 1020 true Shift 1020 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 MINUS Shift 170 PLUS Shift 171 ConditionalOrExpression_NotName Goto 183 Name Goto 182 InclusiveOrExpression_NotName Goto 181 ConditionalAndExpression_NotName Goto 180 AndExpression_NotName Goto 179 ExclusiveOrExpression_NotName Goto 178 InstanceofExpression_NotName Goto 177 EqualityExpression_NotName Goto 176 ShiftExpression_NotName Goto 175 RelationalExpression_NotName Goto 174 MultiplicativeExpression_NotName Goto 173 AdditiveExpression_NotName Goto 172 PreIncrementExpression Goto 1021 PreDecrementExpression Goto 1021 UnaryExpressionNotPlusMinus_NotName Goto 1021 Primary Goto 169 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PostfixExpression Goto 166 Literal Goto 1020 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1029 FieldAccess Goto 1028 PrimitiveType Goto 30 MethodInvocation Goto 1027 ArrayAccess Goto 1026 LambdaExpression Goto 1025 ReferenceExpression Goto 1024 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1562 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1023 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1020 ArrayCreationWithoutArrayInitializer Goto 1022 SwitchExpression Goto 1021 PostfixExpression_NotName Goto 1021 CastExpression Goto 1021 UnaryExpression_NotName Goto 1021 NormalAnnotation Gt/Rd 940 MarkerAnnotation Gt/Rd 940 SingleMemberAnnotation Gt/Rd 940 AnnotationName Goto 67 EnterMemberValueArrayInitializer Goto 163 ConditionalExpression_NotName Gt/Rd 940 Annotation Gt/Rd 940 MemberValueArrayInitializer Gt/Rd 940 MemberValue Gt/Rd 940 LBRACE Reduce 938 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 863 ---------------------------------------------------------------------- ( 788 ) UnionType ::= UnionType OR .Type Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1563 ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 38 Identifier Shift 1004 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Gt/Rd 282 GenericType Goto 129 PrimitiveType Goto 275 Name Goto 274 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1041 ReferenceType Gt/Rd 282 Type Gt/Rd 282 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1564 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 864 ---------------------------------------------------------------------- ( 797 ) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports TypeDeclarations . (99) TypeDeclarations ::= TypeDeclarations .TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1565 RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 191 AT Shift 124 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 synchronized Shift 1008 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiers Goto 145 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1566 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1008 Modifiersopt Goto 92 ClassHeaderName Goto 91 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 EnumHeader Goto 82 EnumHeaderName Goto 81 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 ClassDeclaration Gt/Rd 176 InterfaceDeclaration Gt/Rd 176 EnumDeclaration Gt/Rd 176 AnnotationTypeDeclaration Gt/Rd 176 RecordDeclaration Gt/Rd 176 TypeDeclaration Gt/Rd 176 $eof Reduce 99 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 710 STATE 865 ---------------------------------------------------------------------- ( 800 ) SwitchExpression ::= switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock .SwitchBlock SwitchBlock ::= .LBRACE RBRACE SwitchBlock ::= .LBRACE SwitchBlockStatements RBRACE SwitchBlock ::= .LBRACE SwitchLabels RBRACE SwitchBlock ::= .LBRACE SwitchBlockStatements SwitchLabels RBRACE LBRACE Shift 914 SwitchBlock Gt/Rd 463 STATE 866 ---------------------------------------------------------------------- ( 801 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1567 MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 613 STATE 867 ---------------------------------------------------------------------- ( 803 ) MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 614 STATE 868 ---------------------------------------------------------------------- ( 806 ) MemberValuePair ::= SimpleName EQUAL EnterMemberValue MemberValue . ExitMemberValue ExitMemberValue ::= . (929) ExitMemberValue Gt/Rd 927 RPAREN Reduce 929 COMMA Reduce 929 Default reduction to rule 929 STATE 869 ---------------------------------------------------------------------- ( 808 ) MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 609 STATE 870 ---------------------------------------------------------------------- ( 809 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 915 STATE 871 ---------------------------------------------------------------------- ( 810 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1568 ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (585) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (587) QualifiedEnterAnonymousClassBody Goto 916 QualifiedClassBodyopt Gt/Rd 578 abstract Reduce 585 final Reduce 585 instanceof Reduce 585 native Reduce 585 non-sealed Reduce 585 private Reduce 585 protected Reduce 585 public Reduce 585 static Reduce 585 strictfp Reduce 585 synchronized Reduce 585 transient Reduce 585 volatile Reduce 585 PLUS_PLUS Reduce 585 MINUS_MINUS Reduce 585 EQUAL_EQUAL Reduce 585 LESS_EQUAL Reduce 585 GREATER_EQUAL Reduce 585 NOT_EQUAL Reduce 585 LEFT_SHIFT Reduce 585 RIGHT_SHIFT Reduce 585 UNSIGNED_RIGHT_SHIFT Reduce 585 PLUS_EQUAL Reduce 585 MINUS_EQUAL Reduce 585 MULTIPLY_EQUAL Reduce 585 DIVIDE_EQUAL Reduce 585 AND_EQUAL Reduce 585 OR_EQUAL Reduce 585 XOR_EQUAL Reduce 585 REMAINDER_EQUAL Reduce 585 LEFT_SHIFT_EQUAL Reduce 585 RIGHT_SHIFT_EQUAL Reduce 585 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 585 OR_OR Reduce 585 AND_AND Reduce 585 PLUS Reduce 585 MINUS Reduce 585 REMAINDER Reduce 585 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1569 XOR Reduce 585 AND Reduce 585 MULTIPLY Reduce 585 OR Reduce 585 DIVIDE Reduce 585 GREATER Reduce 585 LESS Reduce 585 RPAREN Reduce 585 RBRACE Reduce 585 LBRACKET Reduce 585 RBRACKET Reduce 585 SEMICOLON Reduce 585 QUESTION Reduce 585 COLON Reduce 585 COMMA Reduce 585 DOT Reduce 585 EQUAL Reduce 585 AT Reduce 585 COLON_COLON Reduce 585 ElidedSemicolonAndRightBrace Reduce 585 BeginCaseExpr Reduce 585 RestrictedIdentifiersealed Reduce 585 $eof Reduce 585 LBRACE Reduce 587 Default reduction to rule 585 STATE 872 ---------------------------------------------------------------------- ( 811 ) MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 610 STATE 873 ---------------------------------------------------------------------- ( 813 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1570 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1571 PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1572 DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1573 CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1574 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1575 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 917 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 874 ---------------------------------------------------------------------- ( 814 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1576 LPAREN Shift 918 STATE 875 ---------------------------------------------------------------------- ( 816 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . UnqualifiedClassBodyopt UnqualifiedClassBodyopt ::= . (582) UnqualifiedClassBodyopt ::= .UnqualifiedEnterAnonymousClassBody ClassBody UnqualifiedEnterAnonymousClassBody ::= . (584) UnqualifiedEnterAnonymousClassBody Goto 919 UnqualifiedClassBodyopt Gt/Rd 575 abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native Reduce 582 non-sealed Reduce 582 private Reduce 582 protected Reduce 582 public Reduce 582 static Reduce 582 strictfp Reduce 582 synchronized Reduce 582 transient Reduce 582 volatile Reduce 582 PLUS_PLUS Reduce 582 MINUS_MINUS Reduce 582 EQUAL_EQUAL Reduce 582 LESS_EQUAL Reduce 582 GREATER_EQUAL Reduce 582 NOT_EQUAL Reduce 582 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 582 MINUS_EQUAL Reduce 582 MULTIPLY_EQUAL Reduce 582 DIVIDE_EQUAL Reduce 582 AND_EQUAL Reduce 582 OR_EQUAL Reduce 582 XOR_EQUAL Reduce 582 REMAINDER_EQUAL Reduce 582 LEFT_SHIFT_EQUAL Reduce 582 RIGHT_SHIFT_EQUAL Reduce 582 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 582 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1577 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 582 MINUS Reduce 582 REMAINDER Reduce 582 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 582 OR Reduce 582 DIVIDE Reduce 582 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 LBRACKET Reduce 582 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 582 EQUAL Reduce 582 AT Reduce 582 COLON_COLON Reduce 582 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 RestrictedIdentifiersealed Reduce 582 $eof Reduce 582 LBRACE Reduce 584 Default reduction to rule 582 STATE 876 ---------------------------------------------------------------------- ( 817 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN UnqualifiedClassBodyopt RPAREN Shift 920 STATE 877 ---------------------------------------------------------------------- ( 819 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression .UnaryExpression Literal ::= .IntegerLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1578 Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1579 PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1580 DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 27 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1581 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1056 true Shift 1056 null Shift 1056 TextBlock Shift 1056 StringLiteral Shift 1056 CharacterLiteral Shift 1056 DoubleLiteral Shift 1056 FloatingPointLiteral Shift 1056 LongLiteral Shift 1056 IntegerLiteral Shift 1056 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 SwitchExpression Gt/Rd 637 PostfixExpression Goto 446 CastExpression Gt/Rd 637 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1065 BooleanLiteral Goto 1056 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 1056 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1582 ClassInstanceCreationExpression Goto 1064 FieldAccess Goto 1063 MethodInvocation Goto 1062 ArrayAccess Goto 1061 LambdaExpression Goto 1060 ReferenceExpression Goto 1059 PostIncrementExpression Goto 1058 PostDecrementExpression Goto 1057 PreIncrementExpression Gt/Rd 637 PreDecrementExpression Gt/Rd 637 UnaryExpressionNotPlusMinus Gt/Rd 637 UnaryExpression Gt/Rd 637 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 878 ---------------------------------------------------------------------- ( 820 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt .AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus AdditionalBoundsListOpt ::= . (643) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 518 AdditionalBound Goto 1206 AdditionalBoundList Goto 698 AdditionalBoundsListOpt Goto 921 RPAREN Reduce 643 Default reduction to rule 643 STATE 879 ---------------------------------------------------------------------- ( 821 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1583 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN . InsideCastExpression UnaryExpressionNotPlusMinus InsideCastExpression ::= . (648) InsideCastExpression Goto 922 Identifier Reduce 648 boolean Reduce 648 byte Reduce 648 char Reduce 648 double Reduce 648 false Reduce 648 float Reduce 648 int Reduce 648 long Reduce 648 new Reduce 648 null Reduce 648 short Reduce 648 super Reduce 648 switch Reduce 648 this Reduce 648 true Reduce 648 void Reduce 648 IntegerLiteral Reduce 648 LongLiteral Reduce 648 FloatingPointLiteral Reduce 648 DoubleLiteral Reduce 648 CharacterLiteral Reduce 648 StringLiteral Reduce 648 TextBlock Reduce 648 NOT Reduce 648 TWIDDLE Reduce 648 LPAREN Reduce 648 BeginLambda Reduce 648 BeginIntersectionCast Reduce 648 AT308 Reduce 648 UNDERSCORE Reduce 648 Default reduction to rule 648 STATE 880 ---------------------------------------------------------------------- ( 822 ) CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression .UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1584 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1585 PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1586 FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus NOT Shift 50 TWIDDLE Shift 51 BeginIntersectionCast Shift 48 null Shift 1220 TextBlock Shift 1220 StringLiteral Shift 1220 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1587 CharacterLiteral Shift 1220 DoubleLiteral Shift 1220 FloatingPointLiteral Shift 1220 LongLiteral Shift 1220 IntegerLiteral Shift 1220 false Shift 1220 true Shift 1220 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1229 PostDecrementExpression Goto 1228 PostfixExpression Goto 446 Literal Goto 1220 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1227 FieldAccess Goto 1226 PrimitiveType Goto 30 MethodInvocation Goto 1225 ArrayAccess Goto 1224 LambdaExpression Goto 1223 ReferenceExpression Goto 1222 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1220 ArrayCreationWithoutArrayInitializer Goto 1221 SwitchExpression Gt/Rd 642 CastExpression Gt/Rd 642 UnaryExpressionNotPlusMinus Gt/Rd 642 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1588 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 881 ---------------------------------------------------------------------- ( 825 ) TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 TypeArgumentList ::= TypeArgumentList .COMMA TypeArgument TypeArgumentList2 ::= TypeArgumentList .COMMA TypeArgument2 TypeArgumentList3 ::= TypeArgumentList .COMMA TypeArgument3 COMMA Shift 923 STATE 882 ---------------------------------------------------------------------- ( 825 923 ) TypeArgument ::= ReferenceType . (777) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT Sh/Rd 793 RIGHT_SHIFT Sh/Rd 787 GREATER Sh/Rd 781 COMMA Reduce 777 Default reduction to rule 777 STATE 883 ---------------------------------------------------------------------- ( 825 923 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void Wildcard ::= TypeAnnotationsopt .QUESTION Wildcard ::= TypeAnnotationsopt .QUESTION WildcardBounds Wildcard1 ::= TypeAnnotationsopt .QUESTION GREATER IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1589 Wildcard1 ::= TypeAnnotationsopt .QUESTION WildcardBounds1 Wildcard2 ::= TypeAnnotationsopt .QUESTION RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt .QUESTION WildcardBounds2 Wildcard3 ::= TypeAnnotationsopt .QUESTION UNSIGNED_RIGHT_SHIFT Wildcard3 ::= TypeAnnotationsopt .QUESTION WildcardBounds3 QUESTION Shift 924 void Sh/Rd 49 boolean Sh/Rd 48 double Sh/Rd 45 float Sh/Rd 45 char Sh/Rd 45 long Sh/Rd 45 int Sh/Rd 45 short Sh/Rd 45 byte Sh/Rd 45 IntegralType Gt/Rd 45 FloatingPointType Gt/Rd 45 NumericType Gt/Rd 45 STATE 884 ---------------------------------------------------------------------- ( 826 ) WildcardBounds ::= super .ReferenceType WildcardBounds1 ::= super .ReferenceType1 WildcardBounds2 ::= super .ReferenceType2 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1590 TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 ReferenceType2 ::= .ReferenceType RIGHT_SHIFT ReferenceType2 ::= .ClassOrInterface LESS TypeArgumentList3 AT308 Shift 38 Identifier Shift 1004 ReferenceType Goto 925 ClassOrInterface Goto 709 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotationsopt Goto 34 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 925 ReferenceType1 Gt/Rd 801 ReferenceType2 Gt/Rd 805 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1591 STATE 885 ---------------------------------------------------------------------- ( 826 ) WildcardBounds ::= extends .ReferenceType WildcardBounds1 ::= extends .ReferenceType1 WildcardBounds2 ::= extends .ReferenceType2 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 ReferenceType2 ::= .ReferenceType RIGHT_SHIFT ReferenceType2 ::= .ClassOrInterface LESS TypeArgumentList3 AT308 Shift 38 Identifier Shift 1004 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1592 ReferenceType Goto 926 ClassOrInterface Goto 709 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotationsopt Goto 34 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 926 ReferenceType1 Gt/Rd 800 ReferenceType2 Gt/Rd 804 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 886 ---------------------------------------------------------------------- ( 829 ) FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS .VariableDeclaratorIdOrThis SimpleName ::= .Identifier UnannotatableName ::= .UnannotatableName DOT SimpleName VariableDeclaratorIdOrThis ::= .this VariableDeclaratorIdOrThis ::= .UnannotatableName DOT this VariableDeclaratorIdOrThis ::= .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE this Sh/Rd 93 UNDERSCORE Sh/Rd 254 Identifier Shift 717 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1593 SimpleName Goto 718 UnannotatableName Goto 718 VariableDeclaratorId Gt/Rd 95 VariableDeclaratorIdOrThis Gt/Rd 278 STATE 887 ---------------------------------------------------------------------- ( 834 ) TypeParameter ::= TypeParameterHeader extends ReferenceType AdditionalBoundList . (816) AdditionalBoundList ::= AdditionalBoundList .AdditionalBound AdditionalBoundList1 ::= AdditionalBoundList .AdditionalBound1 AdditionalBound ::= .AND ReferenceType AdditionalBound1 ::= .AND ReferenceType1 AND Shift 888 AdditionalBound Gt/Rd 818 AdditionalBound1 Gt/Rd 826 COMMA Reduce 816 Default reduction to rule 816 STATE 888 ---------------------------------------------------------------------- ( 834 887 ) AdditionalBound ::= AND .ReferenceType AdditionalBound1 ::= AND .ReferenceType1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1594 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 AT308 Shift 38 Identifier Shift 1004 ReferenceType Goto 927 ClassOrInterface Goto 282 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotationsopt Goto 34 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 927 ReferenceType1 Gt/Rd 827 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1595 void Reduce 79 Default reduction to rule 79 STATE 889 ---------------------------------------------------------------------- ( 835 ) VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations .ELLIPSIS VariableDeclaratorId ELLIPSIS Shift 928 STATE 890 ---------------------------------------------------------------------- ( 836 ) VariableArityRecordComponent ::= Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Gt/Rd 343 STATE 891 ---------------------------------------------------------------------- ( 838 ) CatchClause ::= catch LPAREN CatchFormalParameter RPAREN .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) OpenBlock Goto 114 Block Gt/Rd 522 LBRACE Reduce 382 Default reduction to rule 382 STATE 892 ---------------------------------------------------------------------- ( 839 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId . EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1596 ExitVariableWithInitialization EnterVariable ::= . (248) EnterVariable Goto 929 EQUAL Reduce 248 Default reduction to rule 248 STATE 893 ---------------------------------------------------------------------- ( 840 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable .EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EQUAL Shift 930 STATE 894 ---------------------------------------------------------------------- ( 841 ) DoStatement ::= do Statement while LPAREN Expression RPAREN .SEMICOLON SEMICOLON Sh/Rd 484 STATE 895 ---------------------------------------------------------------------- ( 842 ) SwitchStatement ::= switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock .SwitchBlock SwitchBlock ::= .LBRACE RBRACE SwitchBlock ::= .LBRACE SwitchBlockStatements RBRACE SwitchBlock ::= .LBRACE SwitchLabels RBRACE SwitchBlock ::= .LBRACE SwitchBlockStatements SwitchLabels RBRACE LBRACE Shift 914 SwitchBlock Gt/Rd 448 STATE 896 ---------------------------------------------------------------------- ( 843 ) ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt RPAREN .SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1597 SEMICOLON Sh/Rd 300 STATE 897 ---------------------------------------------------------------------- ( 844 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 931 STATE 898 ---------------------------------------------------------------------- ( 845 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 932 STATE 899 ---------------------------------------------------------------------- ( 846 ) ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 296 STATE 900 ---------------------------------------------------------------------- ( 849 ) IfThenElseStatement ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf .else Statement else Shift 933 STATE 901 ---------------------------------------------------------------------- ( 849 902 937 980 981 986 987 ) Statement ::= StatementWithoutTrailingSubstatement . (401) StatementNoShortIf ::= StatementWithoutTrailingSubstatement . (408) else Reduce 408 Identifier Reduce 401 abstract Reduce 401 assert Reduce 401 boolean Reduce 401 break Reduce 401 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1598 byte Reduce 401 case Reduce 401 char Reduce 401 class Reduce 401 continue Reduce 401 default Reduce 401 do Reduce 401 double Reduce 401 enum Reduce 401 false Reduce 401 final Reduce 401 float Reduce 401 for Reduce 401 if Reduce 401 int Reduce 401 interface Reduce 401 long Reduce 401 native Reduce 401 new Reduce 401 non-sealed Reduce 401 null Reduce 401 private Reduce 401 protected Reduce 401 public Reduce 401 return Reduce 401 short Reduce 401 static Reduce 401 strictfp Reduce 401 super Reduce 401 switch Reduce 401 synchronized Reduce 401 this Reduce 401 throw Reduce 401 transient Reduce 401 true Reduce 401 try Reduce 401 void Reduce 401 volatile Reduce 401 while Reduce 401 IntegerLiteral Reduce 401 LongLiteral Reduce 401 FloatingPointLiteral Reduce 401 DoubleLiteral Reduce 401 CharacterLiteral Reduce 401 StringLiteral Reduce 401 TextBlock Reduce 401 PLUS_PLUS Reduce 401 MINUS_MINUS Reduce 401 LESS Reduce 401 LPAREN Reduce 401 LBRACE Reduce 401 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1599 RBRACE Reduce 401 SEMICOLON Reduce 401 AT Reduce 401 BeginLambda Reduce 401 AT308 Reduce 401 RestrictedIdentifierYield Reduce 401 RestrictedIdentifierrecord Reduce 401 RestrictedIdentifiersealed Reduce 401 UNDERSCORE Reduce 401 $eof Reduce 401 Default reduction to rule 401 STATE 902 ---------------------------------------------------------------------- ( 849 902 937 980 981 986 987 ) EnhancedForStatement ::= EnhancedForStatementHeader .Statement EnhancedForStatementNoShortIf ::= EnhancedForStatementHeader . StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1600 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) Statement ::= .StatementWithoutTrailingSubstatement StatementNoShortIf ::= .StatementWithoutTrailingSubstatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement LabeledStatementNoShortIf ::= .Label COLON StatementNoShortIf Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1601 StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN PostExpressionInWhile StatementNoShortIf DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1602 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1603 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementNoShortIf ::= .EnhancedForStatementHeader StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1604 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 for Shift 903 while Shift 904 if Shift 905 Label Goto 906 EnhancedForStatementHeader Goto 902 StatementWithoutTrailingSubstatement Goto 901 LabeledStatementNoShortIf Gt/Rd 763 IfThenElseStatementNoShortIf Gt/Rd 763 WhileStatementNoShortIf Gt/Rd 763 ForStatementNoShortIf Gt/Rd 763 EnhancedForStatementNoShortIf Gt/Rd 763 AssertStatement Goto 1241 Block Goto 1241 EmptyStatement Goto 1241 ExpressionStatement Goto 1241 SwitchStatement Goto 1241 DoStatement Goto 1241 BreakStatement Goto 1241 ContinueStatement Goto 1241 ReturnStatement Goto 1241 SynchronizedStatement Goto 1241 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1605 ThrowStatement Goto 1241 TryStatement Goto 1241 TryStatementWithResources Goto 1241 YieldStatement Goto 1241 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 EnhancedForStatementHeaderInit Goto 121 LabeledStatement Gt/Rd 762 IfThenStatement Gt/Rd 762 IfThenElseStatement Gt/Rd 762 WhileStatement Gt/Rd 762 ForStatement Gt/Rd 762 EnhancedForStatement Gt/Rd 762 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1606 Statement Gt/Rd 762 StatementNoShortIf Gt/Rd 763 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 903 ---------------------------------------------------------------------- ( 849 902 937 980 981 986 987 ) ForStatement ::= for .LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for .LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf EnhancedForStatementHeaderInit ::= for .LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= for .LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId LPAREN Shift 934 STATE 904 ---------------------------------------------------------------------- ( 849 902 937 980 981 986 987 ) WhileStatement ::= while .LPAREN Expression RPAREN PostExpressionInWhile Statement WhileStatementNoShortIf ::= while .LPAREN Expression RPAREN PostExpressionInWhile StatementNoShortIf LPAREN Shift 935 STATE 905 ---------------------------------------------------------------------- ( 849 902 937 980 981 986 987 ) IfThenStatement ::= if .LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= if .LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if .LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1607 StatementNoShortIf LPAREN Shift 936 STATE 906 ---------------------------------------------------------------------- ( 849 902 937 980 981 986 987 ) LabeledStatement ::= Label .COLON Statement LabeledStatementNoShortIf ::= Label .COLON StatementNoShortIf COLON Shift 937 STATE 907 ---------------------------------------------------------------------- ( 851 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON . ForUpdateopt RPAREN Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1608 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression ForUpdate ::= .StatementExpressionList StatementExpressionList ::= .StatementExpression StatementExpressionList ::= .StatementExpressionList COMMA StatementExpression PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1609 ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1610 PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement ForUpdateopt ::= . (736) MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 StatementExpressionList Goto 939 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 44 Name Goto 41 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1611 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 StatementExpression Goto 1242 ForUpdate Goto 938 ForUpdateopt Goto 938 RPAREN Reduce 736 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 908 ---------------------------------------------------------------------- ( 853 ) VariableDeclarator ::= VariableDeclaratorId .EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= VariableDeclaratorId .EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId . (765) EnterVariable ::= . (248) EnterVariable Goto 764 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1612 COLON Reduce 765 SEMICOLON Reduce 248 COMMA Reduce 248 EQUAL Reduce 248 Default reduction to rule 248 STATE 909 ---------------------------------------------------------------------- ( 854 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet . VariableInitializer RestoreDiet ExitVariableWithInitialization Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1613 ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1614 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1615 UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1616 ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 LBRACE Shift 133 AssignmentExpression Gt/Rd 700 ConditionalOrExpression Goto 63 InclusiveOrExpression Goto 61 ConditionalAndExpression Goto 64 AndExpression Goto 59 ExclusiveOrExpression Goto 62 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1617 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PostfixExpression Goto 65 Literal Goto 988 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 PrimitiveType Goto 30 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 1000 SwitchExpression Goto 989 CastExpression Goto 989 UnaryExpression Goto 989 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalExpression Goto 1001 Assignment Goto 1001 Expression Goto 940 ArrayInitializer Goto 940 VariableInitializer Goto 940 boolean Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1618 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 910 ---------------------------------------------------------------------- ( 856 ) ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 302 STATE 911 ---------------------------------------------------------------------- ( 857 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 941 STATE 912 ---------------------------------------------------------------------- ( 858 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 942 STATE 913 ---------------------------------------------------------------------- ( 859 ) ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 298 STATE 914 ---------------------------------------------------------------------- ( 865 895 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1619 SwitchBlock ::= LBRACE .RBRACE SwitchBlock ::= LBRACE .SwitchBlockStatements RBRACE SwitchBlock ::= LBRACE .SwitchLabels RBRACE SwitchBlock ::= LBRACE .SwitchBlockStatements SwitchLabels RBRACE SwitchBlockStatements ::= .SwitchBlockStatements SwitchBlockStatement SwitchBlockStatement ::= .SwitchLabels BlockStatements SwitchLabels ::= .SwitchLabels SwitchLabel SwitchLabel ::= .SwitchLabelCaseLhs COLON SwitchLabel ::= .default COLON SwitchLabeledRule ::= .SwitchLabeledExpression SwitchLabeledRule ::= .SwitchLabeledBlock SwitchLabeledRule ::= .SwitchLabeledThrowStatement SwitchLabeledExpression ::= .SwitchLabelExpr Expression SEMICOLON SwitchLabeledBlock ::= .SwitchLabelExpr Block SwitchLabeledThrowStatement ::= .SwitchLabelExpr ThrowExpression SEMICOLON SwitchLabelExpr ::= .default ARROW SwitchLabelExpr ::= .SwitchLabelCaseLhs BeginCaseExpr ARROW SwitchLabelCaseLhs ::= .case CaseLabelElements RBRACE Sh/Rd 449 case Shift 80 default Shift 945 SwitchLabeledRule Goto 943 SwitchLabels Goto 947 SwitchLabelCaseLhs Goto 946 SwitchLabel Goto 947 SwitchLabelExpr Goto 944 SwitchLabeledExpression Gt/Rd 464 SwitchLabeledBlock Gt/Rd 465 SwitchLabeledThrowStatement Gt/Rd 466 SwitchBlockStatement Goto 943 SwitchBlockStatements Goto 943 STATE 915 ---------------------------------------------------------------------- ( 870 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (585) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (587) QualifiedEnterAnonymousClassBody Goto 916 QualifiedClassBodyopt Gt/Rd 579 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1620 abstract Reduce 585 final Reduce 585 instanceof Reduce 585 native Reduce 585 non-sealed Reduce 585 private Reduce 585 protected Reduce 585 public Reduce 585 static Reduce 585 strictfp Reduce 585 synchronized Reduce 585 transient Reduce 585 volatile Reduce 585 PLUS_PLUS Reduce 585 MINUS_MINUS Reduce 585 EQUAL_EQUAL Reduce 585 LESS_EQUAL Reduce 585 GREATER_EQUAL Reduce 585 NOT_EQUAL Reduce 585 LEFT_SHIFT Reduce 585 RIGHT_SHIFT Reduce 585 UNSIGNED_RIGHT_SHIFT Reduce 585 PLUS_EQUAL Reduce 585 MINUS_EQUAL Reduce 585 MULTIPLY_EQUAL Reduce 585 DIVIDE_EQUAL Reduce 585 AND_EQUAL Reduce 585 OR_EQUAL Reduce 585 XOR_EQUAL Reduce 585 REMAINDER_EQUAL Reduce 585 LEFT_SHIFT_EQUAL Reduce 585 RIGHT_SHIFT_EQUAL Reduce 585 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 585 OR_OR Reduce 585 AND_AND Reduce 585 PLUS Reduce 585 MINUS Reduce 585 REMAINDER Reduce 585 XOR Reduce 585 AND Reduce 585 MULTIPLY Reduce 585 OR Reduce 585 DIVIDE Reduce 585 GREATER Reduce 585 LESS Reduce 585 RPAREN Reduce 585 RBRACE Reduce 585 LBRACKET Reduce 585 RBRACKET Reduce 585 SEMICOLON Reduce 585 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1621 QUESTION Reduce 585 COLON Reduce 585 COMMA Reduce 585 DOT Reduce 585 EQUAL Reduce 585 AT Reduce 585 COLON_COLON Reduce 585 ElidedSemicolonAndRightBrace Reduce 585 BeginCaseExpr Reduce 585 RestrictedIdentifiersealed Reduce 585 $eof Reduce 585 LBRACE Reduce 587 Default reduction to rule 585 STATE 916 ---------------------------------------------------------------------- ( 871 915 948 968 ) QualifiedClassBodyopt ::= QualifiedEnterAnonymousClassBody .ClassBody ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 313 ClassBody Gt/Rd 586 STATE 917 ---------------------------------------------------------------------- ( 873 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 948 STATE 918 ---------------------------------------------------------------------- ( 874 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1622 Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1623 PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1624 ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1625 CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (716) ArgumentListopt ::= .ArgumentList MINUS Shift 27 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1626 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 Expression Gt/Rd 588 ArgumentList Goto 464 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1627 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 ArgumentListopt Goto 949 RPAREN Reduce 716 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 919 ---------------------------------------------------------------------- ( 875 920 ) UnqualifiedClassBodyopt ::= UnqualifiedEnterAnonymousClassBody .ClassBody ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1628 LBRACE Shift 313 ClassBody Gt/Rd 583 STATE 920 ---------------------------------------------------------------------- ( 876 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . UnqualifiedClassBodyopt UnqualifiedClassBodyopt ::= . (582) UnqualifiedClassBodyopt ::= .UnqualifiedEnterAnonymousClassBody ClassBody UnqualifiedEnterAnonymousClassBody ::= . (584) UnqualifiedEnterAnonymousClassBody Goto 919 UnqualifiedClassBodyopt Gt/Rd 574 abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native Reduce 582 non-sealed Reduce 582 private Reduce 582 protected Reduce 582 public Reduce 582 static Reduce 582 strictfp Reduce 582 synchronized Reduce 582 transient Reduce 582 volatile Reduce 582 PLUS_PLUS Reduce 582 MINUS_MINUS Reduce 582 EQUAL_EQUAL Reduce 582 LESS_EQUAL Reduce 582 GREATER_EQUAL Reduce 582 NOT_EQUAL Reduce 582 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 582 MINUS_EQUAL Reduce 582 MULTIPLY_EQUAL Reduce 582 DIVIDE_EQUAL Reduce 582 AND_EQUAL Reduce 582 OR_EQUAL Reduce 582 XOR_EQUAL Reduce 582 REMAINDER_EQUAL Reduce 582 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1629 LEFT_SHIFT_EQUAL Reduce 582 RIGHT_SHIFT_EQUAL Reduce 582 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 582 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 582 MINUS Reduce 582 REMAINDER Reduce 582 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 582 OR Reduce 582 DIVIDE Reduce 582 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 LBRACKET Reduce 582 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 582 EQUAL Reduce 582 AT Reduce 582 COLON_COLON Reduce 582 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 RestrictedIdentifiersealed Reduce 582 $eof Reduce 582 LBRACE Reduce 584 Default reduction to rule 582 STATE 921 ---------------------------------------------------------------------- ( 878 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt . PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 525 PushRPAREN Goto 950 STATE 922 ---------------------------------------------------------------------- ( 879 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1630 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression .UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1631 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1632 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1633 NOT Shift 50 TWIDDLE Shift 51 BeginIntersectionCast Shift 48 null Shift 1220 TextBlock Shift 1220 StringLiteral Shift 1220 CharacterLiteral Shift 1220 DoubleLiteral Shift 1220 FloatingPointLiteral Shift 1220 LongLiteral Shift 1220 IntegerLiteral Shift 1220 false Shift 1220 true Shift 1220 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1229 PostDecrementExpression Goto 1228 PostfixExpression Goto 446 Literal Goto 1220 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1227 FieldAccess Goto 1226 PrimitiveType Goto 30 MethodInvocation Goto 1225 ArrayAccess Goto 1224 LambdaExpression Goto 1223 ReferenceExpression Goto 1222 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1634 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1220 ArrayCreationWithoutArrayInitializer Goto 1221 SwitchExpression Gt/Rd 638 CastExpression Gt/Rd 638 UnaryExpressionNotPlusMinus Gt/Rd 638 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 923 ---------------------------------------------------------------------- ( 881 ) TypeArgumentList1 ::= TypeArgumentList COMMA .TypeArgument1 TypeArgumentList ::= TypeArgumentList COMMA .TypeArgument TypeArgumentList2 ::= TypeArgumentList COMMA .TypeArgument2 TypeArgumentList3 ::= TypeArgumentList COMMA .TypeArgument3 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1635 TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeArgument ::= .ReferenceType ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 ReferenceType2 ::= .ReferenceType RIGHT_SHIFT ReferenceType2 ::= .ClassOrInterface LESS TypeArgumentList3 ReferenceType3 ::= .ReferenceType UNSIGNED_RIGHT_SHIFT Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 Wildcard2 ::= .TypeAnnotationsopt QUESTION RIGHT_SHIFT Wildcard2 ::= .TypeAnnotationsopt QUESTION WildcardBounds2 Wildcard3 ::= .TypeAnnotationsopt QUESTION UNSIGNED_RIGHT_SHIFT Wildcard3 ::= .TypeAnnotationsopt QUESTION WildcardBounds3 AT308 Shift 38 Identifier Shift 1004 ReferenceType Goto 882 TypeAnnotationsopt Goto 883 ReferenceType3 Gt/Rd 790 Wildcard3 Gt/Rd 790 ClassOrInterface Goto 709 ReferenceType2 Gt/Rd 784 Wildcard2 Gt/Rd 784 Wildcard Gt/Rd 776 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1636 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 1043 ReferenceType1 Gt/Rd 774 Wildcard1 Gt/Rd 774 TypeArgument1 Gt/Rd 774 TypeArgument Gt/Rd 776 TypeArgument2 Gt/Rd 784 TypeArgument3 Gt/Rd 790 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 QUESTION Reduce 79 Default reduction to rule 79 STATE 924 ---------------------------------------------------------------------- ( 883 ) Wildcard ::= TypeAnnotationsopt QUESTION . (794) Wildcard ::= TypeAnnotationsopt QUESTION .WildcardBounds Wildcard1 ::= TypeAnnotationsopt QUESTION .GREATER Wildcard1 ::= TypeAnnotationsopt QUESTION .WildcardBounds1 Wildcard2 ::= TypeAnnotationsopt QUESTION .RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt QUESTION .WildcardBounds2 Wildcard3 ::= TypeAnnotationsopt QUESTION .UNSIGNED_RIGHT_SHIFT Wildcard3 ::= TypeAnnotationsopt QUESTION .WildcardBounds3 WildcardBounds ::= .extends ReferenceType WildcardBounds ::= .super ReferenceType WildcardBounds1 ::= .extends ReferenceType1 WildcardBounds1 ::= .super ReferenceType1 WildcardBounds2 ::= .extends ReferenceType2 WildcardBounds2 ::= .super ReferenceType2 WildcardBounds3 ::= .extends ReferenceType3 WildcardBounds3 ::= .super ReferenceType3 UNSIGNED_RIGHT_SHIFT Sh/Rd 806 RIGHT_SHIFT Sh/Rd 802 GREATER Sh/Rd 798 super Shift 951 extends Shift 952 WildcardBounds Gt/Rd 795 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1637 WildcardBounds1 Gt/Rd 799 WildcardBounds2 Gt/Rd 803 WildcardBounds3 Gt/Rd 807 COMMA Reduce 794 Default reduction to rule 794 STATE 925 ---------------------------------------------------------------------- ( 884 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT WildcardBounds ::= super ReferenceType . (797) RIGHT_SHIFT Sh/Rd 787 GREATER Sh/Rd 781 COMMA Reduce 797 Default reduction to rule 797 STATE 926 ---------------------------------------------------------------------- ( 885 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT WildcardBounds ::= extends ReferenceType . (796) RIGHT_SHIFT Sh/Rd 787 GREATER Sh/Rd 781 COMMA Reduce 796 Default reduction to rule 796 STATE 927 ---------------------------------------------------------------------- ( 888 ) ReferenceType1 ::= ReferenceType .GREATER AdditionalBound ::= AND ReferenceType . (819) GREATER Sh/Rd 781 AND Reduce 819 COMMA Reduce 819 Default reduction to rule 819 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1638 STATE 928 ---------------------------------------------------------------------- ( 889 ) VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS . VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt VariableDeclaratorId ::= .UNDERSCORE UNDERSCORE Sh/Rd 254 Identifier Shift 582 VariableDeclaratorId Gt/Rd 344 STATE 929 ---------------------------------------------------------------------- ( 892 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable .EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EQUAL Shift 953 STATE 930 ---------------------------------------------------------------------- ( 893 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL . ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ForceNoDiet ::= . (251) ForceNoDiet Goto 954 Identifier Reduce 251 boolean Reduce 251 byte Reduce 251 char Reduce 251 double Reduce 251 false Reduce 251 float Reduce 251 int Reduce 251 long Reduce 251 new Reduce 251 null Reduce 251 short Reduce 251 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1639 super Reduce 251 switch Reduce 251 this Reduce 251 true Reduce 251 void Reduce 251 IntegerLiteral Reduce 251 LongLiteral Reduce 251 FloatingPointLiteral Reduce 251 DoubleLiteral Reduce 251 CharacterLiteral Reduce 251 StringLiteral Reduce 251 TextBlock Reduce 251 PLUS_PLUS Reduce 251 MINUS_MINUS Reduce 251 PLUS Reduce 251 MINUS Reduce 251 NOT Reduce 251 TWIDDLE Reduce 251 LPAREN Reduce 251 LBRACE Reduce 251 BeginLambda Reduce 251 BeginIntersectionCast Reduce 251 AT308 Reduce 251 UNDERSCORE Reduce 251 Default reduction to rule 251 STATE 931 ---------------------------------------------------------------------- ( 897 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 301 STATE 932 ---------------------------------------------------------------------- ( 898 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 297 STATE 933 ---------------------------------------------------------------------- ( 900 ) IfThenElseStatement ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else .Statement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1640 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1641 ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1642 PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1643 OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1644 OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 120 while Shift 118 if Shift 117 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 AssertStatement Gt/Rd 446 Block Gt/Rd 446 EmptyStatement Gt/Rd 446 ExpressionStatement Gt/Rd 446 SwitchStatement Gt/Rd 446 DoStatement Gt/Rd 446 BreakStatement Gt/Rd 446 ContinueStatement Gt/Rd 446 ReturnStatement Gt/Rd 446 SynchronizedStatement Gt/Rd 446 ThrowStatement Gt/Rd 446 TryStatement Gt/Rd 446 TryStatementWithResources Gt/Rd 446 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1645 YieldStatement Gt/Rd 446 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 Label Goto 116 EnhancedForStatementHeader Goto 119 EnhancedForStatementHeaderInit Goto 121 StatementWithoutTrailingSubstatement Gt/Rd 446 LabeledStatement Gt/Rd 446 IfThenStatement Gt/Rd 446 IfThenElseStatement Gt/Rd 446 WhileStatement Gt/Rd 446 ForStatement Gt/Rd 446 EnhancedForStatement Gt/Rd 446 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1646 Statement Gt/Rd 446 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 934 ---------------------------------------------------------------------- ( 903 ) ForStatement ::= for LPAREN .ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN .ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf EnhancedForStatementHeaderInit ::= for LPAREN .Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= for LPAREN .Modifiers Type PushRealModifiers VariableDeclaratorId Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1647 ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifiers Modifier Modifier ::= .Annotation LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression ForInit ::= .StatementExpressionList StatementExpressionList ::= .StatementExpression StatementExpressionList ::= .StatementExpressionList COMMA StatementExpression PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1648 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1649 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement ForInitopt ::= . (734) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1650 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 strictfp Shift 577 volatile Shift 577 transient Shift 577 synchronized Shift 577 RestrictedIdentifiersealed Shift 577 non-sealed Shift 577 native Shift 577 final Shift 577 abstract Shift 577 static Shift 577 private Shift 577 protected Shift 577 public Shift 577 AT Shift 66 StatementExpressionList Goto 579 LocalVariableDeclaration Goto 955 PrimitiveType Goto 130 ReferenceType Goto 576 ClassOrInterface Goto 71 GenericType Goto 129 Name Goto 578 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 576 Modifier Goto 577 Modifiers Goto 577 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Type Goto 576 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1651 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 44 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1016 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 StatementExpression Goto 1195 ForInit Goto 955 ForInitopt Goto 955 SEMICOLON Reduce 734 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 935 ---------------------------------------------------------------------- ( 904 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1652 WhileStatement ::= while LPAREN .Expression RPAREN PostExpressionInWhile Statement WhileStatementNoShortIf ::= while LPAREN .Expression RPAREN PostExpressionInWhile StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1653 PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1654 QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1655 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1656 Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1657 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 956 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 936 ---------------------------------------------------------------------- ( 905 ) IfThenStatement ::= if LPAREN .Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= if LPAREN .Expression RPAREN PostExpressionInIf IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1658 StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if LPAREN .Expression RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1659 PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1660 QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1661 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1662 Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1663 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 957 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 937 ---------------------------------------------------------------------- ( 906 ) LabeledStatement ::= Label COLON .Statement LabeledStatementNoShortIf ::= Label COLON .StatementNoShortIf IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1664 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1665 ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) Statement ::= .StatementWithoutTrailingSubstatement StatementNoShortIf ::= .StatementWithoutTrailingSubstatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement LabeledStatementNoShortIf ::= .Label COLON StatementNoShortIf Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN PostExpressionInWhile StatementNoShortIf DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1666 ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1667 LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1668 ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementNoShortIf ::= .EnhancedForStatementHeader StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1669 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 for Shift 903 while Shift 904 if Shift 905 Label Goto 906 EnhancedForStatementHeader Goto 902 StatementWithoutTrailingSubstatement Goto 901 LabeledStatementNoShortIf Gt/Rd 430 IfThenElseStatementNoShortIf Gt/Rd 430 WhileStatementNoShortIf Gt/Rd 430 ForStatementNoShortIf Gt/Rd 430 EnhancedForStatementNoShortIf Gt/Rd 430 AssertStatement Goto 1241 Block Goto 1241 EmptyStatement Goto 1241 ExpressionStatement Goto 1241 SwitchStatement Goto 1241 DoStatement Goto 1241 BreakStatement Goto 1241 ContinueStatement Goto 1241 ReturnStatement Goto 1241 SynchronizedStatement Goto 1241 ThrowStatement Goto 1241 TryStatement Goto 1241 TryStatementWithResources Goto 1241 YieldStatement Goto 1241 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1670 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 EnhancedForStatementHeaderInit Goto 121 LabeledStatement Gt/Rd 429 IfThenStatement Gt/Rd 429 IfThenElseStatement Gt/Rd 429 WhileStatement Gt/Rd 429 ForStatement Gt/Rd 429 EnhancedForStatement Gt/Rd 429 Statement Gt/Rd 429 StatementNoShortIf Gt/Rd 430 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 938 ---------------------------------------------------------------------- ( 907 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1671 ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN Statement RPAREN Shift 958 STATE 939 ---------------------------------------------------------------------- ( 907 983 ) ForUpdate ::= StatementExpressionList . (489) StatementExpressionList ::= StatementExpressionList .COMMA StatementExpression COMMA Shift 762 RPAREN Reduce 737 Default reduction to rule 489 STATE 940 ---------------------------------------------------------------------- ( 909 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer .RestoreDiet ExitVariableWithInitialization RestoreDiet ::= . (252) RestoreDiet Goto 959 SEMICOLON Reduce 252 COMMA Reduce 252 Default reduction to rule 252 STATE 941 ---------------------------------------------------------------------- ( 911 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 303 STATE 942 ---------------------------------------------------------------------- ( 912 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN .SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1672 SEMICOLON Sh/Rd 299 STATE 943 ---------------------------------------------------------------------- ( 914 ) SwitchBlock ::= LBRACE SwitchBlockStatements .RBRACE SwitchBlock ::= LBRACE SwitchBlockStatements .SwitchLabels RBRACE SwitchBlockStatements ::= SwitchBlockStatements .SwitchBlockStatement SwitchBlockStatement ::= .SwitchLabels BlockStatements SwitchLabels ::= .SwitchLabels SwitchLabel SwitchLabel ::= .SwitchLabelCaseLhs COLON SwitchLabel ::= .default COLON SwitchLabeledRule ::= .SwitchLabeledExpression SwitchLabeledRule ::= .SwitchLabeledBlock SwitchLabeledRule ::= .SwitchLabeledThrowStatement SwitchLabeledExpression ::= .SwitchLabelExpr Expression SEMICOLON SwitchLabeledBlock ::= .SwitchLabelExpr Block SwitchLabeledThrowStatement ::= .SwitchLabelExpr ThrowExpression SEMICOLON SwitchLabelExpr ::= .default ARROW SwitchLabelExpr ::= .SwitchLabelCaseLhs BeginCaseExpr ARROW SwitchLabelCaseLhs ::= .case CaseLabelElements RBRACE Sh/Rd 450 case Shift 80 default Shift 945 SwitchLabeledExpression Gt/Rd 464 SwitchLabeledBlock Gt/Rd 465 SwitchLabeledThrowStatement Gt/Rd 466 SwitchLabelExpr Goto 944 SwitchLabelCaseLhs Goto 946 SwitchLabeledRule Gt/Rd 454 SwitchLabels Goto 960 SwitchLabel Goto 960 SwitchBlockStatement Gt/Rd 454 STATE 944 ---------------------------------------------------------------------- ( 914 943 ) SwitchLabeledExpression ::= SwitchLabelExpr .Expression SEMICOLON SwitchLabeledBlock ::= SwitchLabelExpr .Block SwitchLabeledThrowStatement ::= SwitchLabelExpr .ThrowExpression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1673 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock ThrowExpression ::= .throw Expression PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1674 PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1675 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1676 PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1677 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 throw Shift 963 OpenBlock Goto 114 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1678 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Goto 962 Block Gt/Rd 468 ThrowExpression Goto 961 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 LBRACE Reduce 382 Default reduction to rule 79 STATE 945 ---------------------------------------------------------------------- ( 914 943 ) SwitchLabel ::= default .COLON SwitchLabelExpr ::= default .ARROW ARROW Sh/Rd 470 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1679 COLON Sh/Rd 460 STATE 946 ---------------------------------------------------------------------- ( 914 943 ) SwitchLabel ::= SwitchLabelCaseLhs .COLON SwitchLabelExpr ::= SwitchLabelCaseLhs .BeginCaseExpr ARROW BeginCaseExpr Shift 964 COLON Sh/Rd 459 STATE 947 ---------------------------------------------------------------------- ( 914 ) SwitchBlock ::= LBRACE SwitchLabels .RBRACE SwitchBlockStatement ::= SwitchLabels .BlockStatements SwitchLabels ::= SwitchLabels .SwitchLabel Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1680 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1681 ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1682 StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock SwitchLabel ::= .SwitchLabelCaseLhs COLON SwitchLabel ::= .default COLON SwitchLabelCaseLhs ::= .case CaseLabelElements YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1683 PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1684 OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1685 EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RBRACE Sh/Rd 451 AT308 Shift 38 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 for Shift 120 while Shift 118 if Shift 117 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1686 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Shift 123 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 AT Shift 124 default Shift 966 case Shift 80 SwitchLabelCaseLhs Goto 967 LocalVariableDeclarationStatement Goto 1017 Statement Goto 1017 ClassDeclaration Goto 1017 RecordDeclaration Goto 1017 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 EnumDeclaration Gt/Rd 394 EnumHeaderName Goto 81 Modifiersopt Goto 92 EnumHeader Goto 82 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 125 AnnotationTypeDeclarationHeader Goto 84 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 RecordHeaderName Goto 88 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 ClassHeaderName Goto 91 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1687 ClassHeaderName1 Goto 93 ClassHeader Goto 94 AssertStatement Goto 1017 Block Goto 1017 EmptyStatement Goto 1017 ExpressionStatement Goto 1017 SwitchStatement Goto 1017 DoStatement Goto 1017 BreakStatement Goto 1017 ContinueStatement Goto 1017 ReturnStatement Goto 1017 SynchronizedStatement Goto 1017 ThrowStatement Goto 1017 TryStatement Goto 1017 TryStatementWithResources Goto 1017 YieldStatement Goto 1017 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 128 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 130 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 Label Goto 116 EnhancedForStatementHeader Goto 119 EnhancedForStatementHeaderInit Goto 121 StatementWithoutTrailingSubstatement Goto 1017 LabeledStatement Goto 1017 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1688 IfThenStatement Goto 1017 IfThenElseStatement Goto 1017 WhileStatement Goto 1017 ForStatement Goto 1017 EnhancedForStatement Goto 1017 Type Goto 122 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1008 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 GenericType Goto 129 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1016 ReferenceType Goto 122 LocalVariableDeclaration Goto 131 BlockStatement Gt/Rd 383 BlockStatements Goto 965 SwitchLabel Gt/Rd 458 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 LBRACE Reduce 382 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 79 STATE 948 ---------------------------------------------------------------------- ( 917 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1689 ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (585) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (587) QualifiedEnterAnonymousClassBody Goto 916 QualifiedClassBodyopt Gt/Rd 577 abstract Reduce 585 final Reduce 585 instanceof Reduce 585 native Reduce 585 non-sealed Reduce 585 private Reduce 585 protected Reduce 585 public Reduce 585 static Reduce 585 strictfp Reduce 585 synchronized Reduce 585 transient Reduce 585 volatile Reduce 585 PLUS_PLUS Reduce 585 MINUS_MINUS Reduce 585 EQUAL_EQUAL Reduce 585 LESS_EQUAL Reduce 585 GREATER_EQUAL Reduce 585 NOT_EQUAL Reduce 585 LEFT_SHIFT Reduce 585 RIGHT_SHIFT Reduce 585 UNSIGNED_RIGHT_SHIFT Reduce 585 PLUS_EQUAL Reduce 585 MINUS_EQUAL Reduce 585 MULTIPLY_EQUAL Reduce 585 DIVIDE_EQUAL Reduce 585 AND_EQUAL Reduce 585 OR_EQUAL Reduce 585 XOR_EQUAL Reduce 585 REMAINDER_EQUAL Reduce 585 LEFT_SHIFT_EQUAL Reduce 585 RIGHT_SHIFT_EQUAL Reduce 585 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 585 OR_OR Reduce 585 AND_AND Reduce 585 PLUS Reduce 585 MINUS Reduce 585 REMAINDER Reduce 585 XOR Reduce 585 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1690 AND Reduce 585 MULTIPLY Reduce 585 OR Reduce 585 DIVIDE Reduce 585 GREATER Reduce 585 LESS Reduce 585 RPAREN Reduce 585 RBRACE Reduce 585 LBRACKET Reduce 585 RBRACKET Reduce 585 SEMICOLON Reduce 585 QUESTION Reduce 585 COLON Reduce 585 COMMA Reduce 585 DOT Reduce 585 EQUAL Reduce 585 AT Reduce 585 COLON_COLON Reduce 585 ElidedSemicolonAndRightBrace Reduce 585 BeginCaseExpr Reduce 585 RestrictedIdentifiersealed Reduce 585 $eof Reduce 585 LBRACE Reduce 587 Default reduction to rule 585 STATE 949 ---------------------------------------------------------------------- ( 918 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 968 STATE 950 ---------------------------------------------------------------------- ( 921 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN .InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus InsideCastExpressionWithQualifiedGenerics ::= . (651) InsideCastExpressionWithQualifiedGenerics Goto 969 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1691 Identifier Reduce 651 boolean Reduce 651 byte Reduce 651 char Reduce 651 double Reduce 651 false Reduce 651 float Reduce 651 int Reduce 651 long Reduce 651 new Reduce 651 null Reduce 651 short Reduce 651 super Reduce 651 switch Reduce 651 this Reduce 651 true Reduce 651 void Reduce 651 IntegerLiteral Reduce 651 LongLiteral Reduce 651 FloatingPointLiteral Reduce 651 DoubleLiteral Reduce 651 CharacterLiteral Reduce 651 StringLiteral Reduce 651 TextBlock Reduce 651 NOT Reduce 651 TWIDDLE Reduce 651 LPAREN Reduce 651 BeginLambda Reduce 651 BeginIntersectionCast Reduce 651 AT308 Reduce 651 UNDERSCORE Reduce 651 Default reduction to rule 651 STATE 951 ---------------------------------------------------------------------- ( 924 ) WildcardBounds ::= super .ReferenceType WildcardBounds1 ::= super .ReferenceType1 WildcardBounds2 ::= super .ReferenceType2 WildcardBounds3 ::= super .ReferenceType3 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1692 GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 ReferenceType2 ::= .ReferenceType RIGHT_SHIFT ReferenceType2 ::= .ClassOrInterface LESS TypeArgumentList3 ReferenceType3 ::= .ReferenceType UNSIGNED_RIGHT_SHIFT AT308 Shift 38 Identifier Shift 1004 ReferenceType Goto 970 ClassOrInterface Goto 709 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotationsopt Goto 34 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1693 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 970 ReferenceType1 Gt/Rd 801 ReferenceType2 Gt/Rd 805 ReferenceType3 Gt/Rd 809 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 952 ---------------------------------------------------------------------- ( 924 ) WildcardBounds ::= extends .ReferenceType WildcardBounds1 ::= extends .ReferenceType1 WildcardBounds2 ::= extends .ReferenceType2 WildcardBounds3 ::= extends .ReferenceType3 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1694 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 ReferenceType2 ::= .ReferenceType RIGHT_SHIFT ReferenceType2 ::= .ClassOrInterface LESS TypeArgumentList3 ReferenceType3 ::= .ReferenceType UNSIGNED_RIGHT_SHIFT AT308 Shift 38 Identifier Shift 1004 ReferenceType Goto 971 ClassOrInterface Goto 709 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1041 Name Goto 274 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 PrimitiveType Goto 283 ArrayTypeWithTypeArgumentsName Goto 126 TypeAnnotationsopt Goto 34 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 971 ReferenceType1 Gt/Rd 800 ReferenceType2 Gt/Rd 804 ReferenceType3 Gt/Rd 808 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1695 STATE 953 ---------------------------------------------------------------------- ( 929 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL .ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ForceNoDiet ::= . (251) ForceNoDiet Goto 972 Identifier Reduce 251 boolean Reduce 251 byte Reduce 251 char Reduce 251 double Reduce 251 false Reduce 251 float Reduce 251 int Reduce 251 long Reduce 251 new Reduce 251 null Reduce 251 short Reduce 251 super Reduce 251 switch Reduce 251 this Reduce 251 true Reduce 251 void Reduce 251 IntegerLiteral Reduce 251 LongLiteral Reduce 251 FloatingPointLiteral Reduce 251 DoubleLiteral Reduce 251 CharacterLiteral Reduce 251 StringLiteral Reduce 251 TextBlock Reduce 251 PLUS_PLUS Reduce 251 MINUS_MINUS Reduce 251 PLUS Reduce 251 MINUS Reduce 251 NOT Reduce 251 TWIDDLE Reduce 251 LPAREN Reduce 251 LBRACE Reduce 251 BeginLambda Reduce 251 BeginIntersectionCast Reduce 251 AT308 Reduce 251 UNDERSCORE Reduce 251 Default reduction to rule 251 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1696 STATE 954 ---------------------------------------------------------------------- ( 930 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet .VariableInitializer RestoreDiet ExitVariableWithInitialization Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1697 Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1698 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1699 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1700 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 LBRACE Shift 133 AssignmentExpression Gt/Rd 700 ConditionalOrExpression Goto 63 InclusiveOrExpression Goto 61 ConditionalAndExpression Goto 64 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 989 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1701 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PostfixExpression Goto 65 Literal Goto 988 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 PrimitiveType Goto 30 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 1000 SwitchExpression Goto 989 CastExpression Goto 989 UnaryExpression Goto 989 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalExpression Goto 1001 Assignment Goto 1001 Expression Goto 973 ArrayInitializer Goto 973 VariableInitializer Goto 973 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1702 void Reduce 79 Default reduction to rule 79 STATE 955 ---------------------------------------------------------------------- ( 934 ) ForStatement ::= for LPAREN ForInitopt .SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt .SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf SEMICOLON Shift 974 STATE 956 ---------------------------------------------------------------------- ( 935 ) WhileStatement ::= while LPAREN Expression .RPAREN PostExpressionInWhile Statement WhileStatementNoShortIf ::= while LPAREN Expression .RPAREN PostExpressionInWhile StatementNoShortIf RPAREN Shift 975 STATE 957 ---------------------------------------------------------------------- ( 936 ) IfThenStatement ::= if LPAREN Expression .RPAREN PostExpressionInIf Statement IfThenElseStatement ::= if LPAREN Expression .RPAREN PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression .RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf RPAREN Shift 976 STATE 958 ---------------------------------------------------------------------- ( 938 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1703 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1704 Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1705 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1706 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 120 while Shift 118 if Shift 117 assert Shift 115 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1707 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 AssertStatement Gt/Rd 485 Block Gt/Rd 485 EmptyStatement Gt/Rd 485 ExpressionStatement Gt/Rd 485 SwitchStatement Gt/Rd 485 DoStatement Gt/Rd 485 BreakStatement Gt/Rd 485 ContinueStatement Gt/Rd 485 ReturnStatement Gt/Rd 485 SynchronizedStatement Gt/Rd 485 ThrowStatement Gt/Rd 485 TryStatement Gt/Rd 485 TryStatementWithResources Gt/Rd 485 YieldStatement Gt/Rd 485 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1708 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 Label Goto 116 EnhancedForStatementHeader Goto 119 EnhancedForStatementHeaderInit Goto 121 StatementWithoutTrailingSubstatement Gt/Rd 485 LabeledStatement Gt/Rd 485 IfThenStatement Gt/Rd 485 IfThenElseStatement Gt/Rd 485 WhileStatement Gt/Rd 485 ForStatement Gt/Rd 485 EnhancedForStatement Gt/Rd 485 Statement Gt/Rd 485 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1709 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 959 ---------------------------------------------------------------------- ( 940 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet . ExitVariableWithInitialization ExitVariableWithInitialization ::= . (249) ExitVariableWithInitialization Gt/Rd 247 SEMICOLON Reduce 249 COMMA Reduce 249 Default reduction to rule 249 STATE 960 ---------------------------------------------------------------------- ( 943 ) SwitchBlock ::= LBRACE SwitchBlockStatements SwitchLabels .RBRACE SwitchBlockStatement ::= SwitchLabels .BlockStatements SwitchLabels ::= SwitchLabels .SwitchLabel Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1710 ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1711 ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1712 Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock SwitchLabel ::= .SwitchLabelCaseLhs COLON SwitchLabel ::= .default COLON SwitchLabelCaseLhs ::= .case CaseLabelElements YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1713 ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1714 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1715 PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RBRACE Sh/Rd 452 AT308 Shift 38 strictfp Shift 1008 volatile Shift 1008 transient Shift 1008 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1716 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 for Shift 120 while Shift 118 if Shift 117 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Shift 123 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 AT Shift 124 default Shift 966 case Shift 80 SwitchLabelCaseLhs Goto 967 LocalVariableDeclarationStatement Goto 1017 Statement Goto 1017 ClassDeclaration Goto 1017 RecordDeclaration Goto 1017 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1717 EnumDeclaration Gt/Rd 394 EnumHeaderName Goto 81 Modifiersopt Goto 92 EnumHeader Goto 82 AnnotationTypeDeclarationHeaderName Goto 83 Modifiers Goto 125 AnnotationTypeDeclarationHeader Goto 84 InterfaceHeaderName Goto 85 InterfaceHeaderName1 Goto 86 InterfaceHeader Goto 87 RecordHeaderName Goto 88 RecordHeaderName1 Goto 89 RecordHeaderPart Goto 90 ClassHeaderName Goto 91 ClassHeaderName1 Goto 93 ClassHeader Goto 94 AssertStatement Goto 1017 Block Goto 1017 EmptyStatement Goto 1017 ExpressionStatement Goto 1017 SwitchStatement Goto 1017 DoStatement Goto 1017 BreakStatement Goto 1017 ContinueStatement Goto 1017 ReturnStatement Goto 1017 SynchronizedStatement Goto 1017 ThrowStatement Goto 1017 TryStatement Goto 1017 TryStatementWithResources Goto 1017 YieldStatement Goto 1017 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 128 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 130 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1718 ArrayCreationWithArrayInitializer Goto 46 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 Label Goto 116 EnhancedForStatementHeader Goto 119 EnhancedForStatementHeaderInit Goto 121 StatementWithoutTrailingSubstatement Goto 1017 LabeledStatement Goto 1017 IfThenStatement Goto 1017 IfThenElseStatement Goto 1017 WhileStatement Goto 1017 ForStatement Goto 1017 EnhancedForStatement Goto 1017 Type Goto 122 Annotation Gt/Rd 210 AnnotationName Goto 67 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 Modifier Goto 1008 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 TypeAnnotations Goto 42 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 GenericType Goto 129 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterface Goto 71 SimpleName Gt/Rd 71 QualifiedName Goto 1016 ReferenceType Goto 122 LocalVariableDeclaration Goto 131 BlockStatement Gt/Rd 383 BlockStatements Goto 965 SwitchLabel Gt/Rd 458 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1719 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 LBRACE Reduce 382 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 Default reduction to rule 79 STATE 961 ---------------------------------------------------------------------- ( 944 ) SwitchLabeledThrowStatement ::= SwitchLabelExpr ThrowExpression .SEMICOLON SEMICOLON Sh/Rd 469 STATE 962 ---------------------------------------------------------------------- ( 944 ) SwitchLabeledExpression ::= SwitchLabelExpr Expression .SEMICOLON SEMICOLON Sh/Rd 467 STATE 963 ---------------------------------------------------------------------- ( 944 ) ThrowExpression ::= throw .Expression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1720 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1721 NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1722 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1723 ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1724 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 ConditionalExpression Goto 1001 Assignment Goto 1001 PostfixExpression Goto 65 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalAndExpression Goto 64 ConditionalOrExpression Goto 63 ExclusiveOrExpression Goto 62 InclusiveOrExpression Goto 61 EqualityExpression Goto 60 AndExpression Goto 59 RelationalExpression Goto 58 InstanceofExpression Goto 57 AdditiveExpression Goto 56 ShiftExpression Goto 55 UnaryExpression Goto 989 MultiplicativeExpression Goto 54 SwitchExpression Goto 989 CastExpression Goto 989 PushLPAREN Goto 49 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1000 BooleanLiteral Goto 988 Primary Goto 44 ClassInstanceCreationExpressionName Goto 43 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 999 Name Goto 41 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 QualifiedSuperReceiver Goto 35 TypeAnnotationsopt Goto 34 LambdaParameters Goto 33 PrimitiveType Goto 30 Literal Goto 988 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1725 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 AssignmentExpression Gt/Rd 700 Expression Gt/Rd 500 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 964 ---------------------------------------------------------------------- ( 946 ) SwitchLabelExpr ::= SwitchLabelCaseLhs BeginCaseExpr .ARROW ARROW Sh/Rd 471 STATE 965 ---------------------------------------------------------------------- ( 947 960 ) BlockStatements ::= BlockStatements .BlockStatement SwitchBlockStatement ::= SwitchLabels BlockStatements . (456) Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1726 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1727 ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1728 ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1729 PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1730 ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (710) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1731 AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RestrictedIdentifierYield Shift 79 try Shift 95 throw Shift 96 return Shift 98 continue Shift 99 break Shift 100 do Shift 101 switch Shift 102 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 BeginLambda Shift 31 UNDERSCORE Shift 32 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 super Shift 110 this Shift 112 LESS Shift 75 SEMICOLON Sh/Rd 428 assert Shift 115 if Shift 117 while Shift 118 for Shift 120 strictfp Shift 1008 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1732 volatile Shift 1008 transient Shift 1008 synchronized Shift 123 RestrictedIdentifiersealed Shift 1008 non-sealed Shift 1008 native Shift 1008 final Shift 1008 abstract Shift 1008 static Shift 1008 private Shift 1008 protected Shift 1008 public Shift 1008 AT Shift 124 AT308 Shift 38 Identifier Shift 127 LocalVariableDeclaration Goto 131 PrimitiveType Goto 130 ReferenceType Goto 122 ClassOrInterface Goto 71 GenericType Goto 129 SimpleName Gt/Rd 71 TypeAnnotations Goto 42 QualifiedName Goto 1016 Name Goto 128 ArrayTypeWithTypeArgumentsName Goto 126 ClassOrInterfaceType Gt/Rd 57 ArrayType Goto 122 TypeAnnotation Goto 998 TypeAnnotations0 Goto 40 TypeAnnotationName Goto 39 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationsopt Goto 34 Modifier Goto 1008 Modifiers Goto 125 NormalAnnotation Goto 1003 MarkerAnnotation Goto 1003 SingleMemberAnnotation Goto 1003 AnnotationName Goto 67 Annotation Gt/Rd 210 Type Goto 122 StatementWithoutTrailingSubstatement Gt/Rd 384 LabeledStatement Gt/Rd 384 IfThenStatement Gt/Rd 384 IfThenElseStatement Gt/Rd 384 WhileStatement Gt/Rd 384 ForStatement Gt/Rd 384 EnhancedForStatement Gt/Rd 384 EnhancedForStatementHeaderInit Goto 121 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1733 EnhancedForStatementHeader Goto 119 Label Goto 116 OpenBlock Goto 114 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OnlyTypeArguments Goto 111 Primary Goto 109 PostfixExpression Goto 108 InvalidArrayInitializerAssignement Gt/Rd 687 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 ArrayCreationWithoutArrayInitializer Goto 1015 BooleanLiteral Goto 1009 ClassInstanceCreationExpressionName Goto 43 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 Literal Goto 1009 PushLPAREN Goto 107 ClassInstanceCreationExpression Goto 106 FieldAccess Goto 1014 MethodInvocation Goto 105 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 OnlySynchronized Goto 97 AssertStatement Gt/Rd 384 Block Gt/Rd 384 EmptyStatement Gt/Rd 384 ExpressionStatement Gt/Rd 384 SwitchStatement Gt/Rd 384 DoStatement Gt/Rd 384 BreakStatement Gt/Rd 384 ContinueStatement Gt/Rd 384 ReturnStatement Gt/Rd 384 SynchronizedStatement Gt/Rd 384 ThrowStatement Gt/Rd 384 TryStatement Gt/Rd 384 TryStatementWithResources Gt/Rd 384 YieldStatement Gt/Rd 384 ClassHeader Goto 94 ClassHeaderName1 Goto 93 Modifiersopt Goto 92 ClassHeaderName Goto 91 RecordHeaderPart Goto 90 RecordHeaderName1 Goto 89 RecordHeaderName Goto 88 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1734 InterfaceHeader Goto 87 InterfaceHeaderName1 Goto 86 InterfaceHeaderName Goto 85 AnnotationTypeDeclarationHeader Goto 84 AnnotationTypeDeclarationHeaderName Goto 83 EnumHeader Goto 82 EnumHeaderName Goto 81 LocalVariableDeclarationStatement Gt/Rd 384 Statement Gt/Rd 384 ClassDeclaration Gt/Rd 384 RecordDeclaration Gt/Rd 384 InterfaceDeclaration Gt/Rd 392 AnnotationTypeDeclaration Gt/Rd 393 EnumDeclaration Gt/Rd 394 BlockStatement Gt/Rd 384 case Reduce 456 default Reduce 456 RBRACE Reduce 456 class Reduce 710 enum Reduce 710 interface Reduce 710 RestrictedIdentifierrecord Reduce 710 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 966 ---------------------------------------------------------------------- ( 947 960 ) SwitchLabel ::= default .COLON COLON Sh/Rd 460 STATE 967 ---------------------------------------------------------------------- ( 947 960 ) SwitchLabel ::= SwitchLabelCaseLhs .COLON COLON Sh/Rd 459 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1735 STATE 968 ---------------------------------------------------------------------- ( 949 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (585) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (587) QualifiedEnterAnonymousClassBody Goto 916 QualifiedClassBodyopt Gt/Rd 576 abstract Reduce 585 final Reduce 585 instanceof Reduce 585 native Reduce 585 non-sealed Reduce 585 private Reduce 585 protected Reduce 585 public Reduce 585 static Reduce 585 strictfp Reduce 585 synchronized Reduce 585 transient Reduce 585 volatile Reduce 585 PLUS_PLUS Reduce 585 MINUS_MINUS Reduce 585 EQUAL_EQUAL Reduce 585 LESS_EQUAL Reduce 585 GREATER_EQUAL Reduce 585 NOT_EQUAL Reduce 585 LEFT_SHIFT Reduce 585 RIGHT_SHIFT Reduce 585 UNSIGNED_RIGHT_SHIFT Reduce 585 PLUS_EQUAL Reduce 585 MINUS_EQUAL Reduce 585 MULTIPLY_EQUAL Reduce 585 DIVIDE_EQUAL Reduce 585 AND_EQUAL Reduce 585 OR_EQUAL Reduce 585 XOR_EQUAL Reduce 585 REMAINDER_EQUAL Reduce 585 LEFT_SHIFT_EQUAL Reduce 585 RIGHT_SHIFT_EQUAL Reduce 585 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 585 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1736 OR_OR Reduce 585 AND_AND Reduce 585 PLUS Reduce 585 MINUS Reduce 585 REMAINDER Reduce 585 XOR Reduce 585 AND Reduce 585 MULTIPLY Reduce 585 OR Reduce 585 DIVIDE Reduce 585 GREATER Reduce 585 LESS Reduce 585 RPAREN Reduce 585 RBRACE Reduce 585 LBRACKET Reduce 585 RBRACKET Reduce 585 SEMICOLON Reduce 585 QUESTION Reduce 585 COLON Reduce 585 COMMA Reduce 585 DOT Reduce 585 EQUAL Reduce 585 AT Reduce 585 COLON_COLON Reduce 585 ElidedSemicolonAndRightBrace Reduce 585 BeginCaseExpr Reduce 585 RestrictedIdentifiersealed Reduce 585 $eof Reduce 585 LBRACE Reduce 587 Default reduction to rule 585 STATE 969 ---------------------------------------------------------------------- ( 950 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics . UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1737 BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1738 NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1739 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus NOT Shift 50 TWIDDLE Shift 51 BeginIntersectionCast Shift 48 null Shift 1220 TextBlock Shift 1220 StringLiteral Shift 1220 CharacterLiteral Shift 1220 DoubleLiteral Shift 1220 FloatingPointLiteral Shift 1220 LongLiteral Shift 1220 IntegerLiteral Shift 1220 false Shift 1220 true Shift 1220 LPAREN Sh/Rd 524 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1740 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 37 UNDERSCORE Shift 32 super Shift 36 this Sh/Rd 530 switch Shift 29 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 1229 PostDecrementExpression Goto 1228 PostfixExpression Goto 446 Literal Goto 1220 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 1227 FieldAccess Goto 1226 PrimitiveType Goto 30 MethodInvocation Goto 1225 ArrayAccess Goto 1224 LambdaExpression Goto 1223 ReferenceExpression Goto 1222 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1220 ArrayCreationWithoutArrayInitializer Goto 1221 SwitchExpression Gt/Rd 639 CastExpression Gt/Rd 639 UnaryExpressionNotPlusMinus Gt/Rd 639 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1741 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 970 ---------------------------------------------------------------------- ( 951 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT WildcardBounds ::= super ReferenceType . (797) UNSIGNED_RIGHT_SHIFT Sh/Rd 793 RIGHT_SHIFT Sh/Rd 787 GREATER Sh/Rd 781 COMMA Reduce 797 Default reduction to rule 797 STATE 971 ---------------------------------------------------------------------- ( 952 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT WildcardBounds ::= extends ReferenceType . (796) UNSIGNED_RIGHT_SHIFT Sh/Rd 793 RIGHT_SHIFT Sh/Rd 787 GREATER Sh/Rd 781 COMMA Reduce 796 Default reduction to rule 796 STATE 972 ---------------------------------------------------------------------- ( 953 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet .VariableInitializer RestoreDiet ExitVariableWithInitialization Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1742 Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1743 PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1744 ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1745 CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 27 PLUS Shift 28 switch Shift 29 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1746 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 LBRACE Shift 133 AssignmentExpression Gt/Rd 700 ConditionalOrExpression Goto 63 InclusiveOrExpression Goto 61 ConditionalAndExpression Goto 64 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PostfixExpression Goto 65 Literal Goto 988 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 PrimitiveType Goto 30 MethodInvocation Goto 995 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1747 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 1000 SwitchExpression Goto 989 CastExpression Goto 989 UnaryExpression Goto 989 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalExpression Goto 1001 Assignment Goto 1001 Expression Goto 977 ArrayInitializer Goto 977 VariableInitializer Goto 977 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 973 ---------------------------------------------------------------------- ( 954 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer .RestoreDiet ExitVariableWithInitialization RestoreDiet ::= . (252) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1748 RestoreDiet Goto 978 RPAREN Reduce 252 SEMICOLON Reduce 252 Default reduction to rule 252 STATE 974 ---------------------------------------------------------------------- ( 955 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON .Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON .Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1749 InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchExpression OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1750 ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1751 UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1752 InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression Expressionopt ::= . (703) MINUS Shift 27 PLUS Shift 28 switch Shift 29 this Sh/Rd 530 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 45 BeginIntersectionCast Shift 48 NOT Shift 50 TWIDDLE Shift 51 MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 AssignmentExpression Gt/Rd 700 ConditionalOrExpression Goto 63 InclusiveOrExpression Goto 61 ConditionalAndExpression Goto 64 AndExpression Goto 59 ExclusiveOrExpression Goto 62 InstanceofExpression Goto 57 EqualityExpression Goto 60 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1753 ShiftExpression Goto 55 RelationalExpression Goto 58 MultiplicativeExpression Goto 54 AdditiveExpression Goto 56 PreIncrementExpression Goto 989 PreDecrementExpression Goto 989 UnaryExpressionNotPlusMinus Goto 989 Primary Goto 44 Name Goto 41 PostIncrementExpression Goto 991 PostDecrementExpression Goto 990 PostfixExpression Goto 65 Literal Goto 988 PushLPAREN Goto 49 ClassInstanceCreationExpression Goto 997 FieldAccess Goto 996 PrimitiveType Goto 30 MethodInvocation Goto 995 ArrayAccess Goto 994 LambdaExpression Goto 993 ReferenceExpression Goto 992 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 999 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 1000 SwitchExpression Goto 989 CastExpression Goto 989 UnaryExpression Goto 989 InvalidArrayInitializerAssignement Gt/Rd 687 ConditionalExpression Goto 1001 Assignment Goto 1001 Expression Goto 979 Expressionopt Goto 979 SEMICOLON Reduce 703 boolean Reduce 79 byte Reduce 79 char Reduce 79 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1754 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 975 ---------------------------------------------------------------------- ( 956 ) WhileStatement ::= while LPAREN Expression RPAREN .PostExpressionInWhile Statement WhileStatementNoShortIf ::= while LPAREN Expression RPAREN . PostExpressionInWhile StatementNoShortIf PostExpressionInWhile ::= . (444) PostExpressionInWhile Goto 980 Identifier Reduce 444 assert Reduce 444 boolean Reduce 444 break Reduce 444 byte Reduce 444 char Reduce 444 continue Reduce 444 do Reduce 444 double Reduce 444 false Reduce 444 float Reduce 444 for Reduce 444 if Reduce 444 int Reduce 444 long Reduce 444 new Reduce 444 null Reduce 444 return Reduce 444 short Reduce 444 super Reduce 444 switch Reduce 444 synchronized Reduce 444 this Reduce 444 throw Reduce 444 true Reduce 444 try Reduce 444 void Reduce 444 while Reduce 444 IntegerLiteral Reduce 444 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1755 LongLiteral Reduce 444 FloatingPointLiteral Reduce 444 DoubleLiteral Reduce 444 CharacterLiteral Reduce 444 StringLiteral Reduce 444 TextBlock Reduce 444 PLUS_PLUS Reduce 444 MINUS_MINUS Reduce 444 LESS Reduce 444 LPAREN Reduce 444 LBRACE Reduce 444 SEMICOLON Reduce 444 BeginLambda Reduce 444 AT308 Reduce 444 RestrictedIdentifierYield Reduce 444 UNDERSCORE Reduce 444 Default reduction to rule 444 STATE 976 ---------------------------------------------------------------------- ( 957 ) IfThenStatement ::= if LPAREN Expression RPAREN .PostExpressionInIf Statement IfThenElseStatement ::= if LPAREN Expression RPAREN .PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN . PostExpressionInIf StatementNoShortIf else StatementNoShortIf PostExpressionInIf ::= . (443) PostExpressionInIf Goto 981 Identifier Reduce 443 assert Reduce 443 boolean Reduce 443 break Reduce 443 byte Reduce 443 char Reduce 443 continue Reduce 443 do Reduce 443 double Reduce 443 false Reduce 443 float Reduce 443 for Reduce 443 if Reduce 443 int Reduce 443 long Reduce 443 new Reduce 443 null Reduce 443 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1756 return Reduce 443 short Reduce 443 super Reduce 443 switch Reduce 443 synchronized Reduce 443 this Reduce 443 throw Reduce 443 true Reduce 443 try Reduce 443 void Reduce 443 while Reduce 443 IntegerLiteral Reduce 443 LongLiteral Reduce 443 FloatingPointLiteral Reduce 443 DoubleLiteral Reduce 443 CharacterLiteral Reduce 443 StringLiteral Reduce 443 TextBlock Reduce 443 PLUS_PLUS Reduce 443 MINUS_MINUS Reduce 443 LESS Reduce 443 LPAREN Reduce 443 LBRACE Reduce 443 SEMICOLON Reduce 443 BeginLambda Reduce 443 AT308 Reduce 443 RestrictedIdentifierYield Reduce 443 UNDERSCORE Reduce 443 Default reduction to rule 443 STATE 977 ---------------------------------------------------------------------- ( 972 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer .RestoreDiet ExitVariableWithInitialization RestoreDiet ::= . (252) RestoreDiet Goto 982 RPAREN Reduce 252 SEMICOLON Reduce 252 Default reduction to rule 252 STATE 978 ---------------------------------------------------------------------- ( 973 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1757 Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet . ExitVariableWithInitialization ExitVariableWithInitialization ::= . (249) ExitVariableWithInitialization Gt/Rd 513 RPAREN Reduce 249 SEMICOLON Reduce 249 Default reduction to rule 249 STATE 979 ---------------------------------------------------------------------- ( 974 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt .SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt . SEMICOLON ForUpdateopt RPAREN StatementNoShortIf SEMICOLON Shift 983 STATE 980 ---------------------------------------------------------------------- ( 975 ) WhileStatement ::= while LPAREN Expression RPAREN PostExpressionInWhile . Statement WhileStatementNoShortIf ::= while LPAREN Expression RPAREN PostExpressionInWhile .StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1758 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) Statement ::= .StatementWithoutTrailingSubstatement StatementNoShortIf ::= .StatementWithoutTrailingSubstatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1759 StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement LabeledStatementNoShortIf ::= .Label COLON StatementNoShortIf Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN PostExpressionInWhile StatementNoShortIf DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1760 PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1761 ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementNoShortIf ::= .EnhancedForStatementHeader IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1762 StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 for Shift 903 while Shift 904 if Shift 905 Label Goto 906 EnhancedForStatementHeader Goto 902 StatementWithoutTrailingSubstatement Goto 901 LabeledStatementNoShortIf Gt/Rd 483 IfThenElseStatementNoShortIf Gt/Rd 483 WhileStatementNoShortIf Gt/Rd 483 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1763 ForStatementNoShortIf Gt/Rd 483 EnhancedForStatementNoShortIf Gt/Rd 483 AssertStatement Goto 1241 Block Goto 1241 EmptyStatement Goto 1241 ExpressionStatement Goto 1241 SwitchStatement Goto 1241 DoStatement Goto 1241 BreakStatement Goto 1241 ContinueStatement Goto 1241 ReturnStatement Goto 1241 SynchronizedStatement Goto 1241 ThrowStatement Goto 1241 TryStatement Goto 1241 TryStatementWithResources Goto 1241 YieldStatement Goto 1241 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1764 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 EnhancedForStatementHeaderInit Goto 121 LabeledStatement Gt/Rd 482 IfThenStatement Gt/Rd 482 IfThenElseStatement Gt/Rd 482 WhileStatement Gt/Rd 482 ForStatement Gt/Rd 482 EnhancedForStatement Gt/Rd 482 Statement Gt/Rd 482 StatementNoShortIf Gt/Rd 483 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 981 ---------------------------------------------------------------------- ( 976 ) IfThenStatement ::= if LPAREN Expression RPAREN PostExpressionInIf .Statement IfThenElseStatement ::= if LPAREN Expression RPAREN PostExpressionInIf . StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN PostExpressionInIf .StatementNoShortIf else StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1765 PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) Statement ::= .StatementWithoutTrailingSubstatement StatementNoShortIf ::= .StatementWithoutTrailingSubstatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1766 StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement LabeledStatementNoShortIf ::= .Label COLON StatementNoShortIf Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN PostExpressionInWhile StatementNoShortIf DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1767 OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1768 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1769 Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementNoShortIf ::= .EnhancedForStatementHeader StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 for Shift 903 while Shift 904 if Shift 905 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1770 Label Goto 906 EnhancedForStatementHeader Goto 902 StatementWithoutTrailingSubstatement Goto 901 LabeledStatementNoShortIf Goto 984 IfThenElseStatementNoShortIf Goto 984 WhileStatementNoShortIf Goto 984 ForStatementNoShortIf Goto 984 EnhancedForStatementNoShortIf Goto 984 AssertStatement Goto 1241 Block Goto 1241 EmptyStatement Goto 1241 ExpressionStatement Goto 1241 SwitchStatement Goto 1241 DoStatement Goto 1241 BreakStatement Goto 1241 ContinueStatement Goto 1241 ReturnStatement Goto 1241 SynchronizedStatement Goto 1241 ThrowStatement Goto 1241 TryStatement Goto 1241 TryStatementWithResources Goto 1241 YieldStatement Goto 1241 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1771 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 EnhancedForStatementHeaderInit Goto 121 LabeledStatement Gt/Rd 445 IfThenStatement Gt/Rd 445 IfThenElseStatement Gt/Rd 445 WhileStatement Gt/Rd 445 ForStatement Gt/Rd 445 EnhancedForStatement Gt/Rd 445 Statement Gt/Rd 445 StatementNoShortIf Goto 984 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 982 ---------------------------------------------------------------------- ( 977 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet . ExitVariableWithInitialization ExitVariableWithInitialization ::= . (249) ExitVariableWithInitialization Gt/Rd 514 RPAREN Reduce 249 SEMICOLON Reduce 249 Default reduction to rule 249 STATE 983 ---------------------------------------------------------------------- ( 979 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1772 ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON . ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON .ForUpdateopt RPAREN StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression ForUpdate ::= .StatementExpressionList StatementExpressionList ::= .StatementExpression StatementExpressionList ::= .StatementExpressionList COMMA StatementExpression PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1773 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1774 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement ForUpdateopt ::= . (736) MINUS_MINUS Shift 52 PLUS_PLUS Shift 53 this Sh/Rd 530 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1775 BeginLambda Shift 31 UNDERSCORE Shift 32 super Shift 36 Identifier Shift 37 AT308 Shift 38 LPAREN Sh/Rd 524 false Shift 1009 true Shift 1009 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 45 StatementExpressionList Goto 939 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 44 Name Goto 41 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1776 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 StatementExpression Goto 1242 ForUpdate Goto 985 ForUpdateopt Goto 985 RPAREN Reduce 736 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 984 ---------------------------------------------------------------------- ( 981 ) IfThenElseStatement ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf .else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf .else StatementNoShortIf else Shift 986 STATE 985 ---------------------------------------------------------------------- ( 983 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN StatementNoShortIf RPAREN Shift 987 STATE 986 ---------------------------------------------------------------------- ( 984 ) IfThenElseStatement ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else .Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else . IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1777 StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1778 RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) Statement ::= .StatementWithoutTrailingSubstatement StatementNoShortIf ::= .StatementWithoutTrailingSubstatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement LabeledStatementNoShortIf ::= .Label COLON StatementNoShortIf Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN PostExpressionInWhile StatementNoShortIf IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1779 DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1780 LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1781 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementNoShortIf ::= .EnhancedForStatementHeader StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1782 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 for Shift 903 while Shift 904 if Shift 905 Label Goto 906 EnhancedForStatementHeader Goto 902 StatementWithoutTrailingSubstatement Goto 901 LabeledStatementNoShortIf Gt/Rd 447 IfThenElseStatementNoShortIf Gt/Rd 447 WhileStatementNoShortIf Gt/Rd 447 ForStatementNoShortIf Gt/Rd 447 EnhancedForStatementNoShortIf Gt/Rd 447 AssertStatement Goto 1241 Block Goto 1241 EmptyStatement Goto 1241 ExpressionStatement Goto 1241 SwitchStatement Goto 1241 DoStatement Goto 1241 BreakStatement Goto 1241 ContinueStatement Goto 1241 ReturnStatement Goto 1241 SynchronizedStatement Goto 1241 ThrowStatement Goto 1241 TryStatement Goto 1241 TryStatementWithResources Goto 1241 YieldStatement Goto 1241 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1783 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 EnhancedForStatementHeaderInit Goto 121 LabeledStatement Gt/Rd 446 IfThenStatement Gt/Rd 446 IfThenElseStatement Gt/Rd 446 WhileStatement Gt/Rd 446 ForStatement Gt/Rd 446 EnhancedForStatement Gt/Rd 446 Statement Gt/Rd 446 StatementNoShortIf Gt/Rd 447 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 987 ---------------------------------------------------------------------- ( 985 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1784 ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN .Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN .StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (79) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1785 ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (382) Statement ::= .StatementWithoutTrailingSubstatement StatementNoShortIf ::= .StatementWithoutTrailingSubstatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement LabeledStatementNoShortIf ::= .Label COLON StatementNoShortIf Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN PostExpressionInIf StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN PostExpressionInSwitchStatement OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN PostExpressionInWhile IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1786 Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN PostExpressionInWhile StatementNoShortIf DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1787 ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .UNDERSCORE NestedLambda LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1788 ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementNoShortIf ::= .EnhancedForStatementHeader StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers VariableDeclaratorId EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers VariableDeclaratorId EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 115 SEMICOLON Sh/Rd 428 LESS Shift 75 null Shift 1009 TextBlock Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 false Shift 1009 true Shift 1009 LPAREN Sh/Rd 524 AT308 Shift 38 new Shift 45 BeginLambda Shift 31 Identifier Shift 127 UNDERSCORE Shift 32 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1789 super Shift 110 this Shift 112 PLUS_PLUS Shift 53 MINUS_MINUS Shift 52 switch Shift 102 do Shift 101 break Shift 100 continue Shift 99 return Shift 98 synchronized Sh/Rd 502 throw Shift 96 try Shift 95 RestrictedIdentifierYield Shift 79 for Shift 903 while Shift 904 if Shift 905 Label Goto 906 EnhancedForStatementHeader Goto 902 StatementWithoutTrailingSubstatement Goto 901 LabeledStatementNoShortIf Gt/Rd 486 IfThenElseStatementNoShortIf Gt/Rd 486 WhileStatementNoShortIf Gt/Rd 486 ForStatementNoShortIf Gt/Rd 486 EnhancedForStatementNoShortIf Gt/Rd 486 AssertStatement Goto 1241 Block Goto 1241 EmptyStatement Goto 1241 ExpressionStatement Goto 1241 SwitchStatement Goto 1241 DoStatement Goto 1241 BreakStatement Goto 1241 ContinueStatement Goto 1241 ReturnStatement Goto 1241 SynchronizedStatement Goto 1241 ThrowStatement Goto 1241 TryStatement Goto 1241 TryStatementWithResources Goto 1241 YieldStatement Goto 1241 OnlySynchronized Goto 97 Assignment Gt/Rd 434 PreIncrementExpression Gt/Rd 435 PreDecrementExpression Gt/Rd 436 PostIncrementExpression Goto 104 PostDecrementExpression Goto 103 MethodInvocation Goto 105 ClassInstanceCreationExpression Goto 106 Primary Goto 109 Name Goto 324 PostfixExpression Goto 108 Literal Goto 1009 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1790 PushLPAREN Goto 107 FieldAccess Goto 1014 PrimitiveType Goto 30 ArrayAccess Goto 1013 LambdaExpression Goto 1012 ReferenceExpression Goto 1011 QualifiedSuperReceiver Goto 35 LambdaParameters Goto 33 PrimaryNoNewArray Goto 47 ArrayCreationWithArrayInitializer Goto 46 TypeAnnotations Goto 42 TypeAnnotationsopt Goto 34 TypeAnnotations0 Goto 40 NormalTypeAnnotation Gt/Rd 84 MarkerTypeAnnotation Gt/Rd 85 SingleMemberTypeAnnotation Gt/Rd 86 TypeAnnotationName Goto 39 TypeAnnotation Goto 998 SimpleName Gt/Rd 71 QualifiedName Goto 1039 ClassInstanceCreationExpressionName Goto 43 BooleanLiteral Goto 1009 ArrayCreationWithoutArrayInitializer Goto 1015 InvalidArrayInitializerAssignement Gt/Rd 687 OnlyTypeArguments Goto 111 StatementExpression Goto 113 ExplicitConstructorInvocation Gt/Rd 433 OpenBlock Goto 114 EnhancedForStatementHeaderInit Goto 121 LabeledStatement Gt/Rd 485 IfThenStatement Gt/Rd 485 IfThenElseStatement Gt/Rd 485 WhileStatement Gt/Rd 485 ForStatement Gt/Rd 485 EnhancedForStatement Gt/Rd 485 Statement Gt/Rd 485 StatementNoShortIf Gt/Rd 486 LBRACE Reduce 382 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 Default reduction to rule 79 STATE 988 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1791 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1792 RPAREN Reduce 700 RBRACE Reduce 700 LBRACKET Reduce 529 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 619 STATE 989 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) instanceof Reduce 356 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1793 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 700 STATE 990 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) PostfixExpression ::= PostDecrementExpression . (622) instanceof Reduce 356 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 622 MINUS_EQUAL Reduce 622 MULTIPLY_EQUAL Reduce 622 DIVIDE_EQUAL Reduce 622 AND_EQUAL Reduce 622 OR_EQUAL Reduce 622 XOR_EQUAL Reduce 622 REMAINDER_EQUAL Reduce 622 LEFT_SHIFT_EQUAL Reduce 622 RIGHT_SHIFT_EQUAL Reduce 622 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 622 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1794 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 EQUAL Reduce 622 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 622 STATE 991 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) PostfixExpression ::= PostIncrementExpression . (621) instanceof Reduce 356 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 621 MINUS_EQUAL Reduce 621 MULTIPLY_EQUAL Reduce 621 DIVIDE_EQUAL Reduce 621 AND_EQUAL Reduce 621 OR_EQUAL Reduce 621 XOR_EQUAL Reduce 621 REMAINDER_EQUAL Reduce 621 LEFT_SHIFT_EQUAL Reduce 621 RIGHT_SHIFT_EQUAL Reduce 621 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 621 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1795 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 EQUAL Reduce 621 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 621 STATE 992 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) PrimaryNoNewArray ::= ReferenceExpression . (544) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1796 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 LBRACKET Reduce 544 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 619 STATE 993 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) PrimaryNoNewArray ::= LambdaExpression . (543) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1797 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 LBRACKET Reduce 543 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 619 STATE 994 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1798 PrimaryNoNewArray ::= ArrayAccess . (542) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 LBRACKET Reduce 542 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1799 STATE 995 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) PrimaryNoNewArray ::= MethodInvocation . (541) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 LBRACKET Reduce 541 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1800 COMMA Reduce 700 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 619 STATE 996 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) PrimaryNoNewArray ::= FieldAccess . (534) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1801 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 LBRACKET Reduce 534 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 619 STATE 997 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1802 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 LBRACKET Reduce 533 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 619 STATE 998 ---------------------------------------------------------------------- ( 3 5 7 11 12 13 19 21 30 41 43 45 49 69 75 76 77 79 80 96 98 101 107 115 119 125 126 128 129 130 132 141 147 150 151 155 161 182 184 185 190 191 192 198 200 204 208 209 210 215 223 224 227 228 230 234 236 237 238 239 240 242 243 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 271 274 275 276 277 278 279 283 285 291 296 299 302 303 317 319 324 325 326 328 331 332 334 335 336 337 338 343 345 347 350 352 356 359 360 363 364 368 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 421 423 424 435 438 440 443 451 475 477 481 487 490 496 513 514 516 518 523 524 534 542 558 559 568 569 572 577 578 582 597 598 602 608 609 610 612 613 649 651 652 655 656 657 659 670 671 678 680 683 688 690 692 693 694 699 701 703 705 712 713 715 717 719 726 727 734 740 746 748 751 759 762 768 771 772 780 784 785 796 801 803 806 808 809 811 817 818 820 824 825 835 844 845 849 850 857 858 860 862 863 873 877 880 884 885 888 902 907 909 918 922 923 933 934 935 936 937 944 947 951 952 954 958 960 963 965 969 972 974 980 981 983 986 987 ) TypeAnnotations0 ::= TypeAnnotation . (82) Identifier Reduce 81 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1803 boolean Reduce 81 byte Reduce 81 char Reduce 81 double Reduce 81 float Reduce 81 int Reduce 81 long Reduce 81 short Reduce 81 void Reduce 81 LBRACKET Reduce 81 QUESTION Reduce 81 ELLIPSIS Reduce 81 AT308 Reduce 82 $eof Reduce 81 Default reduction to rule 81 STATE 999 ---------------------------------------------------------------------- ( 3 13 79 80 96 98 115 208 209 210 224 228 238 239 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 319 325 328 331 335 336 338 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 701 705 746 748 751 759 768 771 772 784 785 801 803 808 809 811 817 818 844 845 857 858 873 877 880 909 918 922 935 936 944 954 963 969 972 974 ) Name ::= QualifiedName . (73) abstract Reduce 620 final Reduce 620 instanceof Reduce 620 native Reduce 620 non-sealed Reduce 620 private Reduce 620 protected Reduce 620 public Reduce 620 static Reduce 620 strictfp Reduce 620 synchronized Reduce 620 transient Reduce 620 volatile Reduce 620 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 EQUAL_EQUAL Reduce 620 LESS_EQUAL Reduce 620 GREATER_EQUAL Reduce 620 NOT_EQUAL Reduce 620 LEFT_SHIFT Reduce 620 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1804 RIGHT_SHIFT Reduce 620 UNSIGNED_RIGHT_SHIFT Reduce 620 PLUS_EQUAL Reduce 620 MINUS_EQUAL Reduce 620 MULTIPLY_EQUAL Reduce 620 DIVIDE_EQUAL Reduce 620 AND_EQUAL Reduce 620 OR_EQUAL Reduce 620 XOR_EQUAL Reduce 620 REMAINDER_EQUAL Reduce 620 LEFT_SHIFT_EQUAL Reduce 620 RIGHT_SHIFT_EQUAL Reduce 620 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 620 OR_OR Reduce 620 AND_AND Reduce 620 PLUS Reduce 620 MINUS Reduce 620 REMAINDER Reduce 620 XOR Reduce 620 AND Reduce 620 MULTIPLY Reduce 620 OR Reduce 620 DIVIDE Reduce 620 GREATER Reduce 620 LESS Reduce 620 LPAREN Reduce 73 RPAREN Reduce 620 RBRACE Reduce 620 LBRACKET Reduce 73 RBRACKET Reduce 620 SEMICOLON Reduce 620 QUESTION Reduce 620 COLON Reduce 620 COMMA Reduce 620 DOT Reduce 73 EQUAL Reduce 620 AT Reduce 620 COLON_COLON Reduce 73 BeginTypeArguments Reduce 73 ElidedSemicolonAndRightBrace Reduce 620 AT308 Reduce 73 BeginCaseExpr Reduce 620 RestrictedIdentifiersealed Reduce 620 $eof Reduce 620 Default reduction to rule 620 STATE 1000 --------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1805 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 700 RBRACE Reduce 700 RBRACKET Reduce 700 SEMICOLON Reduce 700 QUESTION Reduce 679 COLON Reduce 700 COMMA Reduce 700 DOT Reduce 528 EQUAL Reduce 619 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1806 $eof Reduce 700 Default reduction to rule 619 STATE 1001 --------------------------------------------------------------------- ( 3 13 79 80 96 98 115 210 224 228 238 239 266 319 325 328 331 335 336 338 347 393 413 451 523 524 568 569 572 651 656 678 680 683 688 690 693 694 746 748 751 759 768 771 772 801 803 808 809 811 817 844 845 857 858 873 909 918 935 936 944 954 963 972 974 ) AssignmentExpression ::= ConditionalExpression . (683) AssignmentExpression ::= Assignment . (684) RPAREN Reduce 700 RBRACE Reduce 700 RBRACKET Reduce 700 SEMICOLON Reduce 700 COLON Reduce 700 COMMA Reduce 700 ElidedSemicolonAndRightBrace Reduce 700 BeginCaseExpr Reduce 700 $eof Reduce 700 Default reduction to rule 700 STATE 1002 --------------------------------------------------------------------- ( 4 6 14 15 16 18 20 22 23 78 134 136 142 143 149 157 189 207 256 294 297 306 307 355 416 442 511 519 520 533 540 545 549 673 722 724 728 733 735 739 823 ) Modifiers ::= Modifier . (195) Modifier ::= public . (197) Modifier ::= protected . (198) Modifier ::= private . (199) Modifier ::= static . (200) Modifier ::= abstract . (201) Modifier ::= final . (202) Modifier ::= native . (203) Modifier ::= non-sealed . (204) Modifier ::= RestrictedIdentifiersealed . (205) Modifier ::= synchronized . (206) Modifier ::= transient . (207) Modifier ::= volatile . (208) Modifier ::= strictfp . (209) Identifier Reduce 711 abstract Reduce 195 boolean Reduce 711 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1807 byte Reduce 711 char Reduce 711 class Reduce 711 default Reduce 711 double Reduce 711 enum Reduce 711 final Reduce 195 float Reduce 711 int Reduce 711 interface Reduce 711 long Reduce 711 native Reduce 195 non-sealed Reduce 195 package Reduce 195 private Reduce 195 protected Reduce 195 public Reduce 195 short Reduce 711 static Reduce 195 strictfp Reduce 195 synchronized Reduce 195 transient Reduce 195 void Reduce 711 volatile Reduce 195 module Reduce 711 open Reduce 711 LESS Reduce 711 AT Reduce 195 AT308 Reduce 711 RestrictedIdentifierrecord Reduce 711 RestrictedIdentifiersealed Reduce 195 $eof Reduce 711 Default reduction to rule 711 STATE 1003 --------------------------------------------------------------------- ( 4 6 11 12 14 15 16 17 18 20 21 22 23 68 78 125 132 134 136 142 143 145 149 156 157 185 187 189 203 207 256 294 297 306 307 317 332 337 355 416 440 441 442 511 519 520 533 540 545 549 559 577 669 673 722 724 728 733 735 739 740 797 823 864 934 947 960 965 ) Annotation ::= NormalAnnotation . (918) Annotation ::= MarkerAnnotation . (919) Annotation ::= SingleMemberAnnotation . (920) Identifier Reduce 210 abstract Reduce 210 boolean Reduce 210 byte Reduce 210 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1808 char Reduce 210 class Reduce 210 default Reduce 210 double Reduce 210 enum Reduce 210 final Reduce 210 float Reduce 210 int Reduce 210 interface Reduce 210 long Reduce 210 native Reduce 210 non-sealed Reduce 210 package Reduce 210 private Reduce 210 protected Reduce 210 public Reduce 210 short Reduce 210 static Reduce 210 strictfp Reduce 210 synchronized Reduce 210 transient Reduce 210 void Reduce 210 volatile Reduce 210 module Reduce 210 open Reduce 210 LESS Reduce 210 AT Reduce 210 AT308 Reduce 210 RestrictedIdentifierrecord Reduce 210 RestrictedIdentifiersealed Reduce 210 $eof Reduce 210 Default reduction to rule 210 STATE 1004 --------------------------------------------------------------------- ( 5 43 45 69 75 77 125 141 161 184 190 191 198 200 230 236 240 276 277 279 285 296 299 302 345 350 352 359 363 368 420 424 435 443 475 496 513 514 518 534 542 559 577 609 649 670 671 692 699 712 713 719 727 734 796 824 825 863 884 885 888 923 951 952 ) SimpleName ::= Identifier . (74) Identifier Reduce 71 abstract Reduce 71 final Reduce 71 implements Reduce 71 instanceof Reduce 71 native Reduce 71 non-sealed Reduce 71 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1809 private Reduce 71 protected Reduce 71 public Reduce 71 static Reduce 71 strictfp Reduce 71 synchronized Reduce 71 this Reduce 71 transient Reduce 71 volatile Reduce 71 with Reduce 71 EQUAL_EQUAL Reduce 71 NOT_EQUAL Reduce 71 RIGHT_SHIFT Reduce 71 UNSIGNED_RIGHT_SHIFT Reduce 71 OR_OR Reduce 71 AND_AND Reduce 71 XOR Reduce 71 AND Reduce 71 OR Reduce 71 GREATER Reduce 71 LESS Reduce 71 LPAREN Reduce 71 RPAREN Reduce 71 LBRACE Reduce 71 RBRACE Reduce 71 LBRACKET Reduce 71 RBRACKET Reduce 71 SEMICOLON Reduce 71 QUESTION Reduce 71 COLON Reduce 71 COMMA Reduce 71 DOT Reduce 71 AT Reduce 71 ELLIPSIS Reduce 71 COLON_COLON Reduce 71 ElidedSemicolonAndRightBrace Reduce 71 AT308 Reduce 71 AT308DOTDOTDOT Reduce 71 BeginCaseExpr Reduce 71 RestrictedIdentifiersealed Reduce 71 RestrictedIdentifierpermits Reduce 71 UNDERSCORE Reduce 71 $eof Reduce 71 Default reduction to rule 71 STATE 1005 --------------------------------------------------------------------- ( 5 43 45 191 285 699 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1810 Name ::= QualifiedName . (73) AND Reduce 61 LESS Reduce 61 LPAREN Reduce 61 RPAREN Reduce 61 LBRACKET Reduce 61 COMMA Reduce 61 DOT Reduce 73 COLON_COLON Reduce 61 AT308 Reduce 61 $eof Reduce 61 Default reduction to rule 61 STATE 1006 --------------------------------------------------------------------- ( 5 279 359 534 734 ) ClassType ::= ClassOrInterfaceType . (70) abstract Reduce 285 final Reduce 285 native Reduce 285 non-sealed Reduce 285 private Reduce 285 protected Reduce 285 public Reduce 285 static Reduce 285 strictfp Reduce 285 synchronized Reduce 285 transient Reduce 285 volatile Reduce 285 LBRACE Reduce 285 SEMICOLON Reduce 285 COMMA Reduce 285 AT Reduce 285 RestrictedIdentifiersealed Reduce 285 $eof Reduce 285 Default reduction to rule 285 STATE 1007 --------------------------------------------------------------------- ( 5 ) ClassTypeList ::= ClassTypeElt . (283) COMMA Reduce 283 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1811 $eof Reduce 726 Default reduction to rule 283 STATE 1008 --------------------------------------------------------------------- ( 11 12 17 21 132 185 187 203 332 440 441 669 797 864 947 960 965 ) Modifiers ::= Modifier . (195) Modifier ::= public . (197) Modifier ::= protected . (198) Modifier ::= private . (199) Modifier ::= static . (200) Modifier ::= abstract . (201) Modifier ::= final . (202) Modifier ::= native . (203) Modifier ::= non-sealed . (204) Modifier ::= RestrictedIdentifiersealed . (205) Modifier ::= synchronized . (206) Modifier ::= transient . (207) Modifier ::= volatile . (208) Modifier ::= strictfp . (209) Identifier Reduce 195 abstract Reduce 195 boolean Reduce 195 byte Reduce 195 char Reduce 195 class Reduce 711 double Reduce 195 enum Reduce 711 final Reduce 195 float Reduce 195 int Reduce 195 interface Reduce 711 long Reduce 195 native Reduce 195 non-sealed Reduce 195 private Reduce 195 protected Reduce 195 public Reduce 195 short Reduce 195 static Reduce 195 strictfp Reduce 195 synchronized Reduce 195 transient Reduce 195 void Reduce 195 volatile Reduce 195 AT Reduce 195 AT308 Reduce 195 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1812 RestrictedIdentifierrecord Reduce 711 RestrictedIdentifiersealed Reduce 195 $eof Reduce 711 Default reduction to rule 195 STATE 1009 --------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 LBRACKET Reduce 529 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1010 --------------------------------------------------------------------- ( 11 ) BlockStatementopt0 ::= BlockStatement . (387) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1813 BlockStatement ::= LocalVariableDeclarationStatement . (388) BlockStatement ::= Statement . (389) BlockStatement ::= ClassDeclaration . (390) BlockStatement ::= RecordDeclaration . (391) Statement ::= StatementWithoutTrailingSubstatement . (401) Statement ::= LabeledStatement . (402) Statement ::= IfThenStatement . (403) Statement ::= IfThenElseStatement . (404) Statement ::= WhileStatement . (405) Statement ::= ForStatement . (406) Statement ::= EnhancedForStatement . (407) StatementWithoutTrailingSubstatement ::= AssertStatement . (414) StatementWithoutTrailingSubstatement ::= Block . (415) StatementWithoutTrailingSubstatement ::= EmptyStatement . (416) StatementWithoutTrailingSubstatement ::= ExpressionStatement . (417) StatementWithoutTrailingSubstatement ::= SwitchStatement . (418) StatementWithoutTrailingSubstatement ::= DoStatement . (419) StatementWithoutTrailingSubstatement ::= BreakStatement . (420) StatementWithoutTrailingSubstatement ::= ContinueStatement . (421) StatementWithoutTrailingSubstatement ::= ReturnStatement . (422) StatementWithoutTrailingSubstatement ::= SynchronizedStatement . (423) StatementWithoutTrailingSubstatement ::= ThrowStatement . (424) StatementWithoutTrailingSubstatement ::= TryStatement . (425) StatementWithoutTrailingSubstatement ::= TryStatementWithResources . (426) StatementWithoutTrailingSubstatement ::= YieldStatement . (427) $eof Reduce 385 Default reduction to rule 385 STATE 1011 --------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) PrimaryNoNewArray ::= ReferenceExpression . (544) PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1814 LBRACKET Reduce 544 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1012 --------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) PrimaryNoNewArray ::= LambdaExpression . (543) PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 LBRACKET Reduce 543 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1013 --------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) PrimaryNoNewArray ::= ArrayAccess . (542) PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1815 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 LBRACKET Reduce 542 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1014 --------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) PrimaryNoNewArray ::= FieldAccess . (534) PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 LBRACKET Reduce 534 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1015 --------------------------------------------------------------------- ( 11 12 21 101 119 132 185 332 334 337 440 762 849 850 902 907 933 934 937 947 958 960 965 980 981 983 986 987 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 PLUS_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1816 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 DOT Reduce 528 EQUAL Reduce 619 COLON_COLON Reduce 528 Default reduction to rule 619 STATE 1016 --------------------------------------------------------------------- ( 11 12 21 132 185 332 337 440 490 934 947 960 965 ) Name ::= QualifiedName . (73) Identifier Reduce 61 instanceof Reduce 620 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 EQUAL_EQUAL Reduce 620 LESS_EQUAL Reduce 620 GREATER_EQUAL Reduce 620 NOT_EQUAL Reduce 620 LEFT_SHIFT Reduce 620 RIGHT_SHIFT Reduce 620 UNSIGNED_RIGHT_SHIFT Reduce 620 PLUS_EQUAL Reduce 620 MINUS_EQUAL Reduce 620 MULTIPLY_EQUAL Reduce 620 DIVIDE_EQUAL Reduce 620 AND_EQUAL Reduce 620 OR_EQUAL Reduce 620 XOR_EQUAL Reduce 620 REMAINDER_EQUAL Reduce 620 LEFT_SHIFT_EQUAL Reduce 620 RIGHT_SHIFT_EQUAL Reduce 620 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 620 OR_OR Reduce 620 AND_AND Reduce 620 PLUS Reduce 620 MINUS Reduce 620 REMAINDER Reduce 620 XOR Reduce 620 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1817 AND Reduce 620 MULTIPLY Reduce 620 OR Reduce 620 DIVIDE Reduce 620 GREATER Reduce 61 LESS Reduce 61 LPAREN Reduce 73 RPAREN Reduce 620 LBRACKET Reduce 73 QUESTION Reduce 620 COMMA Reduce 61 DOT Reduce 73 EQUAL Reduce 620 COLON_COLON Reduce 73 BeginTypeArguments Reduce 73 AT308 Reduce 73 UNDERSCORE Reduce 61 Default reduction to rule 620 STATE 1017 --------------------------------------------------------------------- ( 12 21 332 440 947 960 ) BlockStatement ::= LocalVariableDeclarationStatement . (388) BlockStatement ::= Statement . (389) BlockStatement ::= ClassDeclaration . (390) BlockStatement ::= RecordDeclaration . (391) Statement ::= StatementWithoutTrailingSubstatement . (401) Statement ::= LabeledStatement . (402) Statement ::= IfThenStatement . (403) Statement ::= IfThenElseStatement . (404) Statement ::= WhileStatement . (405) Statement ::= ForStatement . (406) Statement ::= EnhancedForStatement . (407) StatementWithoutTrailingSubstatement ::= AssertStatement . (414) StatementWithoutTrailingSubstatement ::= Block . (415) StatementWithoutTrailingSubstatement ::= EmptyStatement . (416) StatementWithoutTrailingSubstatement ::= ExpressionStatement . (417) StatementWithoutTrailingSubstatement ::= SwitchStatement . (418) StatementWithoutTrailingSubstatement ::= DoStatement . (419) StatementWithoutTrailingSubstatement ::= BreakStatement . (420) StatementWithoutTrailingSubstatement ::= ContinueStatement . (421) StatementWithoutTrailingSubstatement ::= ReturnStatement . (422) StatementWithoutTrailingSubstatement ::= SynchronizedStatement . (423) StatementWithoutTrailingSubstatement ::= ThrowStatement . (424) StatementWithoutTrailingSubstatement ::= TryStatement . (425) StatementWithoutTrailingSubstatement ::= TryStatementWithResources . (426) StatementWithoutTrailingSubstatement ::= YieldStatement . (427) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1818 Identifier Reduce 383 abstract Reduce 383 assert Reduce 383 boolean Reduce 383 break Reduce 383 byte Reduce 383 case Reduce 383 char Reduce 383 class Reduce 383 continue Reduce 383 default Reduce 383 do Reduce 383 double Reduce 383 enum Reduce 383 false Reduce 383 final Reduce 383 float Reduce 383 for Reduce 383 if Reduce 383 int Reduce 383 interface Reduce 383 long Reduce 383 native Reduce 383 new Reduce 383 non-sealed Reduce 383 null Reduce 383 private Reduce 383 protected Reduce 383 public Reduce 383 return Reduce 383 short Reduce 383 static Reduce 383 strictfp Reduce 383 super Reduce 383 switch Reduce 383 synchronized Reduce 383 this Reduce 383 throw Reduce 383 transient Reduce 383 true Reduce 383 try Reduce 383 void Reduce 383 volatile Reduce 383 while Reduce 383 IntegerLiteral Reduce 383 LongLiteral Reduce 383 FloatingPointLiteral Reduce 383 DoubleLiteral Reduce 383 CharacterLiteral Reduce 383 StringLiteral Reduce 383 TextBlock Reduce 383 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1819 PLUS_PLUS Reduce 383 MINUS_MINUS Reduce 383 LESS Reduce 383 LPAREN Reduce 383 LBRACE Reduce 383 RBRACE Reduce 383 SEMICOLON Reduce 383 AT Reduce 383 BeginLambda Reduce 383 AT308 Reduce 383 RestrictedIdentifierYield Reduce 383 RestrictedIdentifierrecord Reduce 383 RestrictedIdentifiersealed Reduce 383 UNDERSCORE Reduce 383 $eof Reduce 383 Default reduction to rule 383 STATE 1018 --------------------------------------------------------------------- ( 14 134 307 545 ) ClassBodyDeclaration ::= ClassMemberDeclaration . (224) ClassBodyDeclaration ::= StaticInitializer . (225) ClassBodyDeclaration ::= ConstructorDeclaration . (226) ClassMemberDeclaration ::= FieldDeclaration . (233) ClassMemberDeclaration ::= MethodDeclaration . (234) ClassMemberDeclaration ::= ClassDeclaration . (235) ClassMemberDeclaration ::= InterfaceDeclaration . (236) ClassMemberDeclaration ::= EnumDeclaration . (237) ClassMemberDeclaration ::= AnnotationTypeDeclaration . (238) ClassMemberDeclaration ::= RecordDeclaration . (239) MethodDeclaration ::= AbstractMethodDeclaration . (257) Identifier Reduce 350 abstract Reduce 350 boolean Reduce 350 byte Reduce 350 char Reduce 350 class Reduce 350 default Reduce 350 double Reduce 350 enum Reduce 350 final Reduce 350 float Reduce 350 int Reduce 350 interface Reduce 350 long Reduce 350 native Reduce 350 non-sealed Reduce 350 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1820 private Reduce 350 protected Reduce 350 public Reduce 350 short Reduce 350 static Reduce 350 strictfp Reduce 350 synchronized Reduce 350 transient Reduce 350 void Reduce 350 volatile Reduce 350 LESS Reduce 350 LBRACE Reduce 350 RBRACE Reduce 350 SEMICOLON Reduce 350 AT Reduce 350 AT308 Reduce 350 RestrictedIdentifierrecord Reduce 350 RestrictedIdentifiersealed Reduce 350 $eof Reduce 350 Default reduction to rule 350 STATE 1019 --------------------------------------------------------------------- ( 15 549 ) ClassBodyDeclaration ::= ClassMemberDeclaration . (224) ClassBodyDeclaration ::= StaticInitializer . (225) ClassBodyDeclaration ::= ConstructorDeclaration . (226) ClassMemberDeclaration ::= FieldDeclaration . (233) ClassMemberDeclaration ::= MethodDeclaration . (234) ClassMemberDeclaration ::= ClassDeclaration . (235) ClassMemberDeclaration ::= InterfaceDeclaration . (236) ClassMemberDeclaration ::= EnumDeclaration . (237) ClassMemberDeclaration ::= AnnotationTypeDeclaration . (238) ClassMemberDeclaration ::= RecordDeclaration . (239) MethodDeclaration ::= AbstractMethodDeclaration . (257) Identifier Reduce 222 abstract Reduce 222 boolean Reduce 222 byte Reduce 222 char Reduce 222 class Reduce 222 default Reduce 222 double Reduce 222 enum Reduce 222 final Reduce 222 float Reduce 222 int Reduce 222 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1821 interface Reduce 222 long Reduce 222 native Reduce 222 non-sealed Reduce 222 private Reduce 222 protected Reduce 222 public Reduce 222 short Reduce 222 static Reduce 222 strictfp Reduce 222 synchronized Reduce 222 transient Reduce 222 void Reduce 222 volatile Reduce 222 LESS Reduce 222 LBRACE Reduce 222 RBRACE Reduce 222 SEMICOLON Reduce 222 AT Reduce 222 AT308 Reduce 222 RestrictedIdentifierrecord Reduce 222 RestrictedIdentifiersealed Reduce 222 $eof Reduce 222 Default reduction to rule 222 STATE 1020 --------------------------------------------------------------------- ( 19 806 860 862 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 930 final Reduce 930 instanceof Reduce 868 native Reduce 930 non-sealed Reduce 930 private Reduce 930 protected Reduce 930 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1822 public Reduce 930 static Reduce 930 strictfp Reduce 930 synchronized Reduce 930 transient Reduce 930 volatile Reduce 930 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 930 RBRACE Reduce 930 LBRACKET Reduce 529 SEMICOLON Reduce 930 QUESTION Reduce 888 COMMA Reduce 930 DOT Reduce 526 AT Reduce 930 COLON_COLON Reduce 526 RestrictedIdentifiersealed Reduce 930 $eof Reduce 930 Default reduction to rule 930 STATE 1021 --------------------------------------------------------------------- ( 19 806 860 862 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (462) UnaryExpression_NotName ::= PreIncrementExpression . (831) UnaryExpression_NotName ::= PreDecrementExpression . (832) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (835) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (836) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1823 UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (839) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (840) abstract Reduce 930 final Reduce 930 instanceof Reduce 868 native Reduce 930 non-sealed Reduce 930 private Reduce 930 protected Reduce 930 public Reduce 930 static Reduce 930 strictfp Reduce 930 synchronized Reduce 930 transient Reduce 930 volatile Reduce 930 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 930 RBRACE Reduce 930 SEMICOLON Reduce 930 QUESTION Reduce 888 COMMA Reduce 930 AT Reduce 930 RestrictedIdentifiersealed Reduce 930 $eof Reduce 930 Default reduction to rule 930 STATE 1022 --------------------------------------------------------------------- ( 19 806 860 862 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1824 Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 930 final Reduce 930 instanceof Reduce 868 native Reduce 930 non-sealed Reduce 930 private Reduce 930 protected Reduce 930 public Reduce 930 static Reduce 930 strictfp Reduce 930 synchronized Reduce 930 transient Reduce 930 volatile Reduce 930 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 930 RBRACE Reduce 930 SEMICOLON Reduce 930 QUESTION Reduce 888 COMMA Reduce 930 DOT Reduce 528 AT Reduce 930 COLON_COLON Reduce 528 RestrictedIdentifiersealed Reduce 930 $eof Reduce 930 Default reduction to rule 930 STATE 1023 --------------------------------------------------------------------- ( 19 223 271 613 806 860 862 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1825 Name ::= QualifiedName . (73) abstract Reduce 931 final Reduce 931 instanceof Reduce 73 native Reduce 931 non-sealed Reduce 931 private Reduce 931 protected Reduce 931 public Reduce 931 static Reduce 931 strictfp Reduce 931 synchronized Reduce 931 transient Reduce 931 volatile Reduce 931 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 EQUAL_EQUAL Reduce 73 LESS_EQUAL Reduce 73 GREATER_EQUAL Reduce 73 NOT_EQUAL Reduce 73 LEFT_SHIFT Reduce 73 RIGHT_SHIFT Reduce 73 UNSIGNED_RIGHT_SHIFT Reduce 73 OR_OR Reduce 73 AND_AND Reduce 73 PLUS Reduce 73 MINUS Reduce 73 REMAINDER Reduce 73 XOR Reduce 73 AND Reduce 73 MULTIPLY Reduce 73 OR Reduce 73 DIVIDE Reduce 73 GREATER Reduce 73 LESS Reduce 73 LPAREN Reduce 73 RPAREN Reduce 931 RBRACE Reduce 931 LBRACKET Reduce 73 SEMICOLON Reduce 931 QUESTION Reduce 73 COMMA Reduce 931 DOT Reduce 73 AT Reduce 931 COLON_COLON Reduce 73 BeginTypeArguments Reduce 73 AT308 Reduce 73 RestrictedIdentifiersealed Reduce 931 $eof Reduce 931 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1826 Default reduction to rule 73 STATE 1024 --------------------------------------------------------------------- ( 19 806 860 862 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 930 final Reduce 930 instanceof Reduce 868 native Reduce 930 non-sealed Reduce 930 private Reduce 930 protected Reduce 930 public Reduce 930 static Reduce 930 strictfp Reduce 930 synchronized Reduce 930 transient Reduce 930 volatile Reduce 930 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 930 RBRACE Reduce 930 LBRACKET Reduce 544 SEMICOLON Reduce 930 QUESTION Reduce 888 COMMA Reduce 930 DOT Reduce 526 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1827 AT Reduce 930 COLON_COLON Reduce 526 RestrictedIdentifiersealed Reduce 930 $eof Reduce 930 Default reduction to rule 930 STATE 1025 --------------------------------------------------------------------- ( 19 806 860 862 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 930 final Reduce 930 instanceof Reduce 868 native Reduce 930 non-sealed Reduce 930 private Reduce 930 protected Reduce 930 public Reduce 930 static Reduce 930 strictfp Reduce 930 synchronized Reduce 930 transient Reduce 930 volatile Reduce 930 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 930 RBRACE Reduce 930 LBRACKET Reduce 543 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1828 SEMICOLON Reduce 930 QUESTION Reduce 888 COMMA Reduce 930 DOT Reduce 526 AT Reduce 930 COLON_COLON Reduce 526 RestrictedIdentifiersealed Reduce 930 $eof Reduce 930 Default reduction to rule 930 STATE 1026 --------------------------------------------------------------------- ( 19 806 860 862 ) PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 930 final Reduce 930 instanceof Reduce 868 native Reduce 930 non-sealed Reduce 930 private Reduce 930 protected Reduce 930 public Reduce 930 static Reduce 930 strictfp Reduce 930 synchronized Reduce 930 transient Reduce 930 volatile Reduce 930 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1829 LESS Reduce 852 RPAREN Reduce 930 RBRACE Reduce 930 LBRACKET Reduce 542 SEMICOLON Reduce 930 QUESTION Reduce 888 COMMA Reduce 930 DOT Reduce 526 AT Reduce 930 COLON_COLON Reduce 526 RestrictedIdentifiersealed Reduce 930 $eof Reduce 930 Default reduction to rule 930 STATE 1027 --------------------------------------------------------------------- ( 19 806 860 862 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 930 final Reduce 930 instanceof Reduce 868 native Reduce 930 non-sealed Reduce 930 private Reduce 930 protected Reduce 930 public Reduce 930 static Reduce 930 strictfp Reduce 930 synchronized Reduce 930 transient Reduce 930 volatile Reduce 930 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1830 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 930 RBRACE Reduce 930 LBRACKET Reduce 541 SEMICOLON Reduce 930 QUESTION Reduce 888 COMMA Reduce 930 DOT Reduce 526 AT Reduce 930 COLON_COLON Reduce 526 RestrictedIdentifiersealed Reduce 930 $eof Reduce 930 Default reduction to rule 930 STATE 1028 --------------------------------------------------------------------- ( 19 806 860 862 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 930 final Reduce 930 instanceof Reduce 868 native Reduce 930 non-sealed Reduce 930 private Reduce 930 protected Reduce 930 public Reduce 930 static Reduce 930 strictfp Reduce 930 synchronized Reduce 930 transient Reduce 930 volatile Reduce 930 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1831 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 930 RBRACE Reduce 930 LBRACKET Reduce 534 SEMICOLON Reduce 930 QUESTION Reduce 888 COMMA Reduce 930 DOT Reduce 526 AT Reduce 930 COLON_COLON Reduce 526 RestrictedIdentifiersealed Reduce 930 $eof Reduce 930 Default reduction to rule 930 STATE 1029 --------------------------------------------------------------------- ( 19 806 860 862 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 930 final Reduce 930 instanceof Reduce 868 native Reduce 930 non-sealed Reduce 930 private Reduce 930 protected Reduce 930 public Reduce 930 static Reduce 930 strictfp Reduce 930 synchronized Reduce 930 transient Reduce 930 volatile Reduce 930 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1832 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 930 RBRACE Reduce 930 LBRACKET Reduce 533 SEMICOLON Reduce 930 QUESTION Reduce 888 COMMA Reduce 930 DOT Reduce 526 AT Reduce 930 COLON_COLON Reduce 526 RestrictedIdentifiersealed Reduce 930 $eof Reduce 930 Default reduction to rule 930 STATE 1030 --------------------------------------------------------------------- ( 30 41 76 126 128 129 130 182 242 243 274 275 283 324 326 487 516 558 578 582 597 598 602 608 610 652 659 703 717 820 ) DimsLoop ::= OneDimLoop . (601) Identifier Reduce 600 abstract Reduce 600 default Reduce 600 final Reduce 600 instanceof Reduce 600 native Reduce 600 non-sealed Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 this Reduce 600 throws Reduce 600 transient Reduce 600 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1833 volatile Reduce 600 EQUAL_EQUAL Reduce 600 NOT_EQUAL Reduce 600 RIGHT_SHIFT Reduce 600 UNSIGNED_RIGHT_SHIFT Reduce 600 OR_OR Reduce 600 AND_AND Reduce 600 XOR Reduce 600 AND Reduce 600 OR Reduce 600 GREATER Reduce 600 LPAREN Reduce 600 RPAREN Reduce 600 LBRACE Reduce 600 RBRACE Reduce 600 LBRACKET Reduce 601 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 600 EQUAL Reduce 600 AT Reduce 600 ELLIPSIS Reduce 600 COLON_COLON Reduce 600 ElidedSemicolonAndRightBrace Reduce 600 AT308 Reduce 601 AT308DOTDOTDOT Reduce 600 BeginCaseExpr Reduce 600 RestrictedIdentifiersealed Reduce 600 UNDERSCORE Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1031 --------------------------------------------------------------------- ( 49 107 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1834 BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 896 LBRACKET Reduce 529 QUESTION Reduce 888 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1032 --------------------------------------------------------------------- ( 49 107 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (462) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1835 UnaryExpression_NotName ::= PreIncrementExpression . (831) UnaryExpression_NotName ::= PreDecrementExpression . (832) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (835) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (836) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (839) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (840) instanceof Reduce 868 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 896 QUESTION Reduce 888 Default reduction to rule 852 STATE 1033 --------------------------------------------------------------------- ( 49 107 ) PrimaryNoNewArray ::= ReferenceExpression . (544) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1836 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 896 LBRACKET Reduce 544 QUESTION Reduce 888 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1034 --------------------------------------------------------------------- ( 49 107 ) PrimaryNoNewArray ::= LambdaExpression . (543) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1837 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 896 LBRACKET Reduce 543 QUESTION Reduce 888 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1035 --------------------------------------------------------------------- ( 49 107 ) PrimaryNoNewArray ::= ArrayAccess . (542) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1838 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 896 LBRACKET Reduce 542 QUESTION Reduce 888 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1036 --------------------------------------------------------------------- ( 49 107 ) PrimaryNoNewArray ::= MethodInvocation . (541) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1839 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 896 LBRACKET Reduce 541 QUESTION Reduce 888 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1037 --------------------------------------------------------------------- ( 49 107 ) PrimaryNoNewArray ::= FieldAccess . (534) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1840 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 896 LBRACKET Reduce 534 QUESTION Reduce 888 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1038 --------------------------------------------------------------------- ( 49 107 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 888 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1841 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 896 LBRACKET Reduce 533 QUESTION Reduce 888 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 Default reduction to rule 619 STATE 1039 --------------------------------------------------------------------- ( 49 101 107 119 334 762 849 850 902 907 933 937 958 980 981 983 986 987 ) Name ::= QualifiedName . (73) instanceof Reduce 73 PLUS_PLUS Reduce 620 MINUS_MINUS Reduce 620 EQUAL_EQUAL Reduce 73 LESS_EQUAL Reduce 73 GREATER_EQUAL Reduce 73 NOT_EQUAL Reduce 73 LEFT_SHIFT Reduce 73 RIGHT_SHIFT Reduce 73 UNSIGNED_RIGHT_SHIFT Reduce 73 PLUS_EQUAL Reduce 620 MINUS_EQUAL Reduce 620 MULTIPLY_EQUAL Reduce 620 DIVIDE_EQUAL Reduce 620 AND_EQUAL Reduce 620 OR_EQUAL Reduce 620 XOR_EQUAL Reduce 620 REMAINDER_EQUAL Reduce 620 LEFT_SHIFT_EQUAL Reduce 620 RIGHT_SHIFT_EQUAL Reduce 620 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 620 OR_OR Reduce 73 AND_AND Reduce 73 PLUS Reduce 73 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1842 MINUS Reduce 73 REMAINDER Reduce 73 XOR Reduce 73 AND Reduce 73 MULTIPLY Reduce 73 OR Reduce 73 DIVIDE Reduce 73 GREATER Reduce 73 LESS Reduce 73 LPAREN Reduce 73 RPAREN Reduce 73 LBRACKET Reduce 73 QUESTION Reduce 73 DOT Reduce 73 EQUAL Reduce 620 COLON_COLON Reduce 73 BeginTypeArguments Reduce 73 AT308 Reduce 73 Default reduction to rule 73 STATE 1040 --------------------------------------------------------------------- ( 49 107 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 888 AND_AND Reduce 885 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1843 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 896 QUESTION Reduce 888 DOT Reduce 528 EQUAL Reduce 619 COLON_COLON Reduce 528 Default reduction to rule 619 STATE 1041 --------------------------------------------------------------------- ( 69 75 125 141 147 150 151 155 184 190 192 204 230 236 276 279 291 296 299 302 350 352 356 359 360 364 420 424 438 443 475 496 513 514 518 534 542 559 577 649 670 671 692 712 713 719 727 734 824 825 863 884 885 888 923 951 952 ) Name ::= QualifiedName . (73) Identifier Reduce 61 abstract Reduce 61 final Reduce 61 implements Reduce 61 instanceof Reduce 61 native Reduce 61 non-sealed Reduce 61 private Reduce 61 protected Reduce 61 public Reduce 61 static Reduce 61 strictfp Reduce 61 synchronized Reduce 61 this Reduce 61 transient Reduce 61 volatile Reduce 61 EQUAL_EQUAL Reduce 61 NOT_EQUAL Reduce 61 RIGHT_SHIFT Reduce 61 UNSIGNED_RIGHT_SHIFT Reduce 61 OR_OR Reduce 61 AND_AND Reduce 61 XOR Reduce 61 AND Reduce 61 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1844 OR Reduce 61 GREATER Reduce 61 LESS Reduce 61 LPAREN Reduce 61 RPAREN Reduce 61 LBRACE Reduce 61 RBRACE Reduce 61 LBRACKET Reduce 73 RBRACKET Reduce 61 SEMICOLON Reduce 61 QUESTION Reduce 61 COLON Reduce 61 COMMA Reduce 61 DOT Reduce 73 AT Reduce 61 ELLIPSIS Reduce 61 ElidedSemicolonAndRightBrace Reduce 61 AT308 Reduce 73 AT308DOTDOTDOT Reduce 61 BeginCaseExpr Reduce 61 RestrictedIdentifiersealed Reduce 61 RestrictedIdentifierpermits Reduce 61 UNDERSCORE Reduce 61 $eof Reduce 61 Default reduction to rule 61 STATE 1042 --------------------------------------------------------------------- ( 69 496 ) ReferenceType ::= ArrayType . (58) Identifier Reduce 44 abstract Reduce 44 final Reduce 44 instanceof Reduce 44 native Reduce 44 non-sealed Reduce 44 private Reduce 44 protected Reduce 44 public Reduce 44 static Reduce 44 strictfp Reduce 44 synchronized Reduce 44 transient Reduce 44 volatile Reduce 44 EQUAL_EQUAL Reduce 44 NOT_EQUAL Reduce 44 OR_OR Reduce 44 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1845 AND_AND Reduce 44 XOR Reduce 44 AND Reduce 44 OR Reduce 44 LPAREN Reduce 58 RPAREN Reduce 44 RBRACE Reduce 44 RBRACKET Reduce 44 SEMICOLON Reduce 44 QUESTION Reduce 44 COLON Reduce 44 COMMA Reduce 44 AT Reduce 44 ElidedSemicolonAndRightBrace Reduce 44 BeginCaseExpr Reduce 44 RestrictedIdentifiersealed Reduce 44 UNDERSCORE Reduce 44 $eof Reduce 44 Default reduction to rule 44 STATE 1043 --------------------------------------------------------------------- ( 75 276 490 513 514 824 825 923 ) ReferenceType ::= ArrayType . (58) RIGHT_SHIFT Reduce 58 UNSIGNED_RIGHT_SHIFT Reduce 58 GREATER Reduce 58 COMMA Reduce 777 Default reduction to rule 58 STATE 1044 --------------------------------------------------------------------- ( 78 136 142 143 157 189 ) FormalParameterList ::= FormalParameter . (274) RPAREN Reduce 721 COMMA Reduce 274 Default reduction to rule 721 STATE 1045 --------------------------------------------------------------------- ( 80 523 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1846 ConstantExpression ::= Expression . (705) COLON Reduce 475 COMMA Reduce 475 BeginCaseExpr Reduce 475 $eof Reduce 475 Default reduction to rule 475 STATE 1046 --------------------------------------------------------------------- ( 192 204 443 ) ModuleModifier ::= open . (111) module Reduce 110 Default reduction to rule 110 STATE 1047 --------------------------------------------------------------------- ( 194 ) RequiresModifiers ::= RequiresModifier . (126) RequiresModifier ::= transitive . (128) RequiresModifier ::= static . (129) Identifier Reduce 124 static Reduce 126 transitive Reduce 126 Default reduction to rule 126 STATE 1048 --------------------------------------------------------------------- ( 196 202 ) SimpleName ::= Identifier . (74) UnannotatableName ::= SimpleName . (75) to Reduce 137 SEMICOLON Reduce 137 DOT Reduce 75 Default reduction to rule 137 STATE 1049 --------------------------------------------------------------------- ( 207 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1847 ClassMemberDeclaration ::= RecordDeclaration . (239) Identifier Reduce 239 abstract Reduce 239 boolean Reduce 239 byte Reduce 239 char Reduce 239 class Reduce 239 default Reduce 239 double Reduce 239 enum Reduce 239 final Reduce 239 float Reduce 239 int Reduce 239 interface Reduce 239 long Reduce 239 native Reduce 239 non-sealed Reduce 239 private Reduce 239 protected Reduce 239 public Reduce 239 short Reduce 239 static Reduce 239 strictfp Reduce 239 synchronized Reduce 239 transient Reduce 239 void Reduce 239 volatile Reduce 239 LESS Reduce 239 SEMICOLON Reduce 239 AT Reduce 239 AT308 Reduce 239 RestrictedIdentifierrecord Reduce 239 RestrictedIdentifiersealed Reduce 239 $eof Reduce 106 Default reduction to rule 239 STATE 1050 --------------------------------------------------------------------- ( 207 ) ClassMemberDeclaration ::= AnnotationTypeDeclaration . (238) Identifier Reduce 238 abstract Reduce 238 boolean Reduce 238 byte Reduce 238 char Reduce 238 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1848 class Reduce 238 default Reduce 238 double Reduce 238 enum Reduce 238 final Reduce 238 float Reduce 238 int Reduce 238 interface Reduce 238 long Reduce 238 native Reduce 238 non-sealed Reduce 238 private Reduce 238 protected Reduce 238 public Reduce 238 short Reduce 238 static Reduce 238 strictfp Reduce 238 synchronized Reduce 238 transient Reduce 238 void Reduce 238 volatile Reduce 238 LESS Reduce 238 SEMICOLON Reduce 238 AT Reduce 238 AT308 Reduce 238 RestrictedIdentifierrecord Reduce 238 RestrictedIdentifiersealed Reduce 238 $eof Reduce 106 Default reduction to rule 238 STATE 1051 --------------------------------------------------------------------- ( 207 ) ClassMemberDeclaration ::= EnumDeclaration . (237) Identifier Reduce 237 abstract Reduce 237 boolean Reduce 237 byte Reduce 237 char Reduce 237 class Reduce 237 default Reduce 237 double Reduce 237 enum Reduce 237 final Reduce 237 float Reduce 237 int Reduce 237 interface Reduce 237 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1849 long Reduce 237 native Reduce 237 non-sealed Reduce 237 private Reduce 237 protected Reduce 237 public Reduce 237 short Reduce 237 static Reduce 237 strictfp Reduce 237 synchronized Reduce 237 transient Reduce 237 void Reduce 237 volatile Reduce 237 LESS Reduce 237 SEMICOLON Reduce 237 AT Reduce 237 AT308 Reduce 237 RestrictedIdentifierrecord Reduce 237 RestrictedIdentifiersealed Reduce 237 $eof Reduce 106 Default reduction to rule 237 STATE 1052 --------------------------------------------------------------------- ( 207 ) ClassMemberDeclaration ::= InterfaceDeclaration . (236) Identifier Reduce 236 abstract Reduce 236 boolean Reduce 236 byte Reduce 236 char Reduce 236 class Reduce 236 default Reduce 236 double Reduce 236 enum Reduce 236 final Reduce 236 float Reduce 236 int Reduce 236 interface Reduce 236 long Reduce 236 native Reduce 236 non-sealed Reduce 236 private Reduce 236 protected Reduce 236 public Reduce 236 short Reduce 236 static Reduce 236 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1850 strictfp Reduce 236 synchronized Reduce 236 transient Reduce 236 void Reduce 236 volatile Reduce 236 LESS Reduce 236 SEMICOLON Reduce 236 AT Reduce 236 AT308 Reduce 236 RestrictedIdentifierrecord Reduce 236 RestrictedIdentifiersealed Reduce 236 $eof Reduce 106 Default reduction to rule 236 STATE 1053 --------------------------------------------------------------------- ( 207 ) ClassMemberDeclaration ::= ClassDeclaration . (235) Identifier Reduce 235 abstract Reduce 235 boolean Reduce 235 byte Reduce 235 char Reduce 235 class Reduce 235 default Reduce 235 double Reduce 235 enum Reduce 235 final Reduce 235 float Reduce 235 int Reduce 235 interface Reduce 235 long Reduce 235 native Reduce 235 non-sealed Reduce 235 private Reduce 235 protected Reduce 235 public Reduce 235 short Reduce 235 static Reduce 235 strictfp Reduce 235 synchronized Reduce 235 transient Reduce 235 void Reduce 235 volatile Reduce 235 LESS Reduce 235 SEMICOLON Reduce 235 AT Reduce 235 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1851 AT308 Reduce 235 RestrictedIdentifierrecord Reduce 235 RestrictedIdentifiersealed Reduce 235 $eof Reduce 106 Default reduction to rule 235 STATE 1054 --------------------------------------------------------------------- ( 207 ) ClassMemberDeclaration ::= MethodDeclaration . (234) MethodDeclaration ::= AbstractMethodDeclaration . (257) Identifier Reduce 234 abstract Reduce 234 boolean Reduce 234 byte Reduce 234 char Reduce 234 class Reduce 234 default Reduce 234 double Reduce 234 enum Reduce 234 final Reduce 234 float Reduce 234 int Reduce 234 interface Reduce 234 long Reduce 234 native Reduce 234 non-sealed Reduce 234 private Reduce 234 protected Reduce 234 public Reduce 234 short Reduce 234 static Reduce 234 strictfp Reduce 234 synchronized Reduce 234 transient Reduce 234 void Reduce 234 volatile Reduce 234 LESS Reduce 234 SEMICOLON Reduce 234 AT Reduce 234 AT308 Reduce 234 RestrictedIdentifierrecord Reduce 234 RestrictedIdentifiersealed Reduce 234 $eof Reduce 106 Default reduction to rule 234 STATE 1055 --------------------------------------------------------------------- ( 207 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1852 ClassMemberDeclaration ::= FieldDeclaration . (233) Identifier Reduce 233 abstract Reduce 233 boolean Reduce 233 byte Reduce 233 char Reduce 233 class Reduce 233 default Reduce 233 double Reduce 233 enum Reduce 233 final Reduce 233 float Reduce 233 int Reduce 233 interface Reduce 233 long Reduce 233 native Reduce 233 non-sealed Reduce 233 private Reduce 233 protected Reduce 233 public Reduce 233 short Reduce 233 static Reduce 233 strictfp Reduce 233 synchronized Reduce 233 transient Reduce 233 void Reduce 233 volatile Reduce 233 LESS Reduce 233 SEMICOLON Reduce 233 AT Reduce 233 AT308 Reduce 233 RestrictedIdentifierrecord Reduce 233 RestrictedIdentifiersealed Reduce 233 $eof Reduce 106 Default reduction to rule 233 STATE 1056 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1853 Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 MULTIPLY Reduce 630 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 RBRACE Reduce 630 LBRACKET Reduce 529 RBRACKET Reduce 630 SEMICOLON Reduce 630 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 DOT Reduce 526 AT Reduce 630 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1854 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 $eof Reduce 630 Default reduction to rule 630 STATE 1057 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 MULTIPLY Reduce 630 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1855 RBRACE Reduce 630 RBRACKET Reduce 630 SEMICOLON Reduce 630 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 AT Reduce 630 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 $eof Reduce 630 Default reduction to rule 630 STATE 1058 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1856 MULTIPLY Reduce 630 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 RBRACE Reduce 630 RBRACKET Reduce 630 SEMICOLON Reduce 630 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 AT Reduce 630 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 $eof Reduce 630 Default reduction to rule 630 STATE 1059 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1857 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 MULTIPLY Reduce 630 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 RBRACE Reduce 630 LBRACKET Reduce 544 RBRACKET Reduce 630 SEMICOLON Reduce 630 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 DOT Reduce 526 AT Reduce 630 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 $eof Reduce 630 Default reduction to rule 630 STATE 1060 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1858 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 MULTIPLY Reduce 630 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 RBRACE Reduce 630 LBRACKET Reduce 543 RBRACKET Reduce 630 SEMICOLON Reduce 630 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 DOT Reduce 526 AT Reduce 630 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 $eof Reduce 630 Default reduction to rule 630 STATE 1061 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1859 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 MULTIPLY Reduce 630 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 RBRACE Reduce 630 LBRACKET Reduce 542 RBRACKET Reduce 630 SEMICOLON Reduce 630 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 DOT Reduce 526 AT Reduce 630 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 $eof Reduce 630 Default reduction to rule 630 STATE 1062 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1860 PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 MULTIPLY Reduce 630 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 RBRACE Reduce 630 LBRACKET Reduce 541 RBRACKET Reduce 630 SEMICOLON Reduce 630 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 DOT Reduce 526 AT Reduce 630 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1861 $eof Reduce 630 Default reduction to rule 630 STATE 1063 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 MULTIPLY Reduce 630 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 RBRACE Reduce 630 LBRACKET Reduce 534 RBRACKET Reduce 630 SEMICOLON Reduce 630 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1862 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 DOT Reduce 526 AT Reduce 630 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 $eof Reduce 630 Default reduction to rule 630 STATE 1064 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 MULTIPLY Reduce 630 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1863 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 RBRACE Reduce 630 LBRACKET Reduce 533 RBRACKET Reduce 630 SEMICOLON Reduce 630 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 DOT Reduce 526 AT Reduce 630 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 $eof Reduce 630 Default reduction to rule 630 STATE 1065 --------------------------------------------------------------------- ( 208 209 244 245 246 247 248 249 250 371 372 373 374 377 378 379 410 411 412 877 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 630 final Reduce 630 instanceof Reduce 630 native Reduce 630 non-sealed Reduce 630 private Reduce 630 protected Reduce 630 public Reduce 630 static Reduce 630 strictfp Reduce 630 synchronized Reduce 630 transient Reduce 630 volatile Reduce 630 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 630 LESS_EQUAL Reduce 630 GREATER_EQUAL Reduce 630 NOT_EQUAL Reduce 630 LEFT_SHIFT Reduce 630 RIGHT_SHIFT Reduce 630 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1864 UNSIGNED_RIGHT_SHIFT Reduce 630 OR_OR Reduce 630 AND_AND Reduce 630 PLUS Reduce 630 MINUS Reduce 630 REMAINDER Reduce 630 XOR Reduce 630 AND Reduce 630 MULTIPLY Reduce 630 OR Reduce 630 DIVIDE Reduce 630 GREATER Reduce 630 LESS Reduce 630 RPAREN Reduce 630 RBRACE Reduce 630 RBRACKET Reduce 630 SEMICOLON Reduce 630 QUESTION Reduce 630 COLON Reduce 630 COMMA Reduce 630 DOT Reduce 528 AT Reduce 630 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 630 BeginCaseExpr Reduce 630 RestrictedIdentifiersealed Reduce 630 $eof Reduce 630 Default reduction to rule 630 STATE 1066 --------------------------------------------------------------------- ( 223 271 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1865 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 942 LBRACKET Reduce 529 QUESTION Reduce 888 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1067 --------------------------------------------------------------------- ( 223 271 ) MemberValuePairs ::= MemberValuePair . (925) RPAREN Reduce 924 COMMA Reduce 925 Default reduction to rule 924 STATE 1068 --------------------------------------------------------------------- ( 223 271 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (462) UnaryExpression_NotName ::= PreIncrementExpression . (831) UnaryExpression_NotName ::= PreDecrementExpression . (832) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (835) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (836) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (839) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (840) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1866 instanceof Reduce 868 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 942 QUESTION Reduce 888 Default reduction to rule 852 STATE 1069 --------------------------------------------------------------------- ( 223 271 ) PrimaryNoNewArray ::= ReferenceExpression . (544) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1867 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 942 LBRACKET Reduce 544 QUESTION Reduce 888 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1070 --------------------------------------------------------------------- ( 223 271 ) PrimaryNoNewArray ::= LambdaExpression . (543) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 942 LBRACKET Reduce 543 QUESTION Reduce 888 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1071 --------------------------------------------------------------------- ( 223 271 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1868 PrimaryNoNewArray ::= ArrayAccess . (542) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 942 LBRACKET Reduce 542 QUESTION Reduce 888 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1072 --------------------------------------------------------------------- ( 223 271 ) PrimaryNoNewArray ::= MethodInvocation . (541) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1869 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 942 LBRACKET Reduce 541 QUESTION Reduce 888 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1073 --------------------------------------------------------------------- ( 223 271 ) PrimaryNoNewArray ::= FieldAccess . (534) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 942 LBRACKET Reduce 534 QUESTION Reduce 888 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1870 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1074 --------------------------------------------------------------------- ( 223 271 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 942 LBRACKET Reduce 533 QUESTION Reduce 888 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1075 --------------------------------------------------------------------- ( 223 271 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) instanceof Reduce 868 PLUS_PLUS Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1871 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RPAREN Reduce 942 QUESTION Reduce 888 DOT Reduce 528 COLON_COLON Reduce 528 Default reduction to rule 852 STATE 1076 --------------------------------------------------------------------- ( 223 271 ) Annotation ::= NormalAnnotation . (918) Annotation ::= MarkerAnnotation . (919) Annotation ::= SingleMemberAnnotation . (920) MemberValue ::= ConditionalExpression_NotName . (930) MemberValue ::= Annotation . (932) MemberValue ::= MemberValueArrayInitializer . (933) RPAREN Reduce 942 Default reduction to rule 942 STATE 1077 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1872 Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 529 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1873 COMMA Reduce 656 DOT Reduce 526 AT Reduce 656 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1078 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1874 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 AT Reduce 656 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1079 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1875 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 AT Reduce 656 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1080 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1876 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 AT Reduce 656 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1081 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1877 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 544 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 526 AT Reduce 656 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1082 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1878 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 543 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 526 AT Reduce 656 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1083 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) PrimaryNoNewArray ::= ArrayAccess . (542) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1879 abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 542 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 526 AT Reduce 656 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1880 STATE 1084 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 541 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 526 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1881 AT Reduce 656 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1085 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1882 RBRACE Reduce 656 LBRACKET Reduce 534 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 526 AT Reduce 656 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1086 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1883 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 533 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 526 AT Reduce 656 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1087 --------------------------------------------------------------------- ( 251 252 253 384 385 386 405 406 407 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 656 final Reduce 656 instanceof Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 656 LESS_EQUAL Reduce 656 GREATER_EQUAL Reduce 656 NOT_EQUAL Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1884 LEFT_SHIFT Reduce 656 RIGHT_SHIFT Reduce 656 UNSIGNED_RIGHT_SHIFT Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 656 AND Reduce 656 MULTIPLY Reduce 652 OR Reduce 656 DIVIDE Reduce 652 GREATER Reduce 656 LESS Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 528 AT Reduce 656 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1088 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1885 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 LBRACKET Reduce 529 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 DOT Reduce 526 AT Reduce 652 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 STATE 1089 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1886 Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 652 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 DOT Reduce 528 AT Reduce 652 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1887 Default reduction to rule 652 STATE 1090 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 652 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 LBRACKET Reduce 544 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1888 COMMA Reduce 652 DOT Reduce 526 AT Reduce 652 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 STATE 1091 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 652 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1889 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 LBRACKET Reduce 543 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 DOT Reduce 526 AT Reduce 652 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 STATE 1092 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 652 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1890 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 LBRACKET Reduce 542 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 DOT Reduce 526 AT Reduce 652 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 STATE 1093 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 652 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1891 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 LBRACKET Reduce 541 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 DOT Reduce 526 AT Reduce 652 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 STATE 1094 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 652 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1892 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 LBRACKET Reduce 534 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 DOT Reduce 526 AT Reduce 652 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 STATE 1095 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1893 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 LBRACKET Reduce 533 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 DOT Reduce 526 AT Reduce 652 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 STATE 1096 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1894 PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 652 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 AT Reduce 652 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1895 STATE 1097 --------------------------------------------------------------------- ( 254 255 375 376 408 409 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 652 final Reduce 652 instanceof Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 652 LESS_EQUAL Reduce 652 GREATER_EQUAL Reduce 652 NOT_EQUAL Reduce 652 LEFT_SHIFT Reduce 652 RIGHT_SHIFT Reduce 652 UNSIGNED_RIGHT_SHIFT Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 PLUS Reduce 652 MINUS Reduce 652 REMAINDER Reduce 652 XOR Reduce 652 AND Reduce 652 MULTIPLY Reduce 652 OR Reduce 652 DIVIDE Reduce 652 GREATER Reduce 652 LESS Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 AT Reduce 652 ElidedSemicolonAndRightBrace Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1896 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 STATE 1098 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1897 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 LBRACKET Reduce 529 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 DOT Reduce 526 AT Reduce 659 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1099 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 EQUAL_EQUAL Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1898 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 AT Reduce 659 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1100 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1899 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 DOT Reduce 528 AT Reduce 659 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1101 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1900 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 LBRACKET Reduce 544 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 DOT Reduce 526 AT Reduce 659 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1102 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1901 PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 LBRACKET Reduce 543 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 DOT Reduce 526 AT Reduce 659 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1902 $eof Reduce 659 Default reduction to rule 659 STATE 1103 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 LBRACKET Reduce 542 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1903 COLON Reduce 659 COMMA Reduce 659 DOT Reduce 526 AT Reduce 659 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1104 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1904 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 LBRACKET Reduce 541 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 DOT Reduce 526 AT Reduce 659 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1105 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1905 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 LBRACKET Reduce 534 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 DOT Reduce 526 AT Reduce 659 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1106 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1906 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 LBRACKET Reduce 533 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 DOT Reduce 526 AT Reduce 659 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1107 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1907 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 AT Reduce 659 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1108 --------------------------------------------------------------------- ( 257 258 259 260 380 381 382 383 401 402 403 404 490 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 659 final Reduce 659 instanceof Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1908 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 659 LESS_EQUAL Reduce 659 GREATER_EQUAL Reduce 659 NOT_EQUAL Reduce 659 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 659 AND Reduce 659 MULTIPLY Reduce 652 OR Reduce 659 DIVIDE Reduce 652 GREATER Reduce 659 LESS Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 AT Reduce 659 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 1109 --------------------------------------------------------------------- ( 261 390 398 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1909 Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 LBRACKET Reduce 529 RBRACKET Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1910 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 DOT Reduce 526 AT Reduce 668 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1110 --------------------------------------------------------------------- ( 261 390 398 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1911 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 AT Reduce 668 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1111 --------------------------------------------------------------------- ( 261 390 398 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1912 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 AT Reduce 668 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1112 --------------------------------------------------------------------- ( 261 390 398 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1913 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 AT Reduce 668 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1113 --------------------------------------------------------------------- ( 261 390 398 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1914 volatile Reduce 668 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 LBRACKET Reduce 544 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 DOT Reduce 526 AT Reduce 668 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1114 --------------------------------------------------------------------- ( 261 390 398 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1915 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 LBRACKET Reduce 543 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 DOT Reduce 526 AT Reduce 668 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1115 --------------------------------------------------------------------- ( 261 390 398 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1916 PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 LBRACKET Reduce 542 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 DOT Reduce 526 AT Reduce 668 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1917 $eof Reduce 668 Default reduction to rule 668 STATE 1116 --------------------------------------------------------------------- ( 261 390 398 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 LBRACKET Reduce 541 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1918 COLON Reduce 668 COMMA Reduce 668 DOT Reduce 526 AT Reduce 668 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1117 --------------------------------------------------------------------- ( 261 390 398 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1919 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 LBRACKET Reduce 534 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 DOT Reduce 526 AT Reduce 668 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1118 --------------------------------------------------------------------- ( 261 390 398 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1920 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 LBRACKET Reduce 533 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 DOT Reduce 526 AT Reduce 668 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1119 --------------------------------------------------------------------- ( 261 390 398 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 668 final Reduce 668 instanceof Reduce 356 native Reduce 668 non-sealed Reduce 668 private Reduce 668 protected Reduce 668 public Reduce 668 static Reduce 668 strictfp Reduce 668 synchronized Reduce 668 transient Reduce 668 volatile Reduce 668 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1921 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 668 AND_AND Reduce 668 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 668 AND Reduce 668 MULTIPLY Reduce 652 OR Reduce 668 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 668 RBRACE Reduce 668 RBRACKET Reduce 668 SEMICOLON Reduce 668 QUESTION Reduce 668 COLON Reduce 668 COMMA Reduce 668 DOT Reduce 528 AT Reduce 668 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 668 BeginCaseExpr Reduce 668 RestrictedIdentifiersealed Reduce 668 $eof Reduce 668 Default reduction to rule 668 STATE 1120 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1922 PrimaryNoNewArray ::= Literal . (529) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 LBRACKET Reduce 529 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 DOT Reduce 526 AT Reduce 356 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1923 Default reduction to rule 356 STATE 1121 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 RBRACKET Reduce 356 SEMICOLON Reduce 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1924 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 AT Reduce 356 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 1122 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1925 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 DOT Reduce 528 AT Reduce 356 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 1123 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1926 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 LBRACKET Reduce 544 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 DOT Reduce 526 AT Reduce 356 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 1124 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1927 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 LBRACKET Reduce 543 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 DOT Reduce 526 AT Reduce 356 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 1125 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1928 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 LBRACKET Reduce 542 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 DOT Reduce 526 AT Reduce 356 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 1126 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 356 final Reduce 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1929 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 LBRACKET Reduce 541 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 DOT Reduce 526 AT Reduce 356 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 1127 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1930 PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 LBRACKET Reduce 534 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 DOT Reduce 526 AT Reduce 356 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1931 $eof Reduce 356 Default reduction to rule 356 STATE 1128 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 LBRACKET Reduce 533 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1932 COLON Reduce 356 COMMA Reduce 356 DOT Reduce 526 AT Reduce 356 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 1129 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1933 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 AT Reduce 356 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 1130 --------------------------------------------------------------------- ( 262 263 387 388 399 400 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 356 final Reduce 356 instanceof Reduce 356 native Reduce 356 non-sealed Reduce 356 private Reduce 356 protected Reduce 356 public Reduce 356 static Reduce 356 strictfp Reduce 356 synchronized Reduce 356 transient Reduce 356 volatile Reduce 356 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 356 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 356 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 356 AND_AND Reduce 356 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1934 XOR Reduce 356 AND Reduce 356 MULTIPLY Reduce 652 OR Reduce 356 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 356 RBRACE Reduce 356 RBRACKET Reduce 356 SEMICOLON Reduce 356 QUESTION Reduce 356 COLON Reduce 356 COMMA Reduce 356 AT Reduce 356 ElidedSemicolonAndRightBrace Reduce 356 BeginCaseExpr Reduce 356 RestrictedIdentifiersealed Reduce 356 $eof Reduce 356 Default reduction to rule 356 STATE 1131 --------------------------------------------------------------------- ( 264 392 396 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1935 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 LBRACKET Reduce 529 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 DOT Reduce 526 AT Reduce 673 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 1132 --------------------------------------------------------------------- ( 264 392 396 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1936 MultiplicativeExpression ::= UnaryExpression . (652) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 AT Reduce 673 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 1133 --------------------------------------------------------------------- ( 264 392 396 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1937 PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 AT Reduce 673 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1938 STATE 1134 --------------------------------------------------------------------- ( 264 392 396 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 AT Reduce 673 ElidedSemicolonAndRightBrace Reduce 673 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1939 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 1135 --------------------------------------------------------------------- ( 264 392 396 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 LBRACKET Reduce 544 RBRACKET Reduce 673 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1940 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 DOT Reduce 526 AT Reduce 673 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 1136 --------------------------------------------------------------------- ( 264 392 396 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1941 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 LBRACKET Reduce 543 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 DOT Reduce 526 AT Reduce 673 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 1137 --------------------------------------------------------------------- ( 264 392 396 ) PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1942 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 LBRACKET Reduce 542 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 DOT Reduce 526 AT Reduce 673 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 1138 --------------------------------------------------------------------- ( 264 392 396 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1943 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 LBRACKET Reduce 541 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 DOT Reduce 526 AT Reduce 673 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 1139 --------------------------------------------------------------------- ( 264 392 396 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1944 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 LBRACKET Reduce 534 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 DOT Reduce 526 AT Reduce 673 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 1140 --------------------------------------------------------------------- ( 264 392 396 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1945 PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 LBRACKET Reduce 533 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 DOT Reduce 526 AT Reduce 673 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1946 Default reduction to rule 673 STATE 1141 --------------------------------------------------------------------- ( 264 392 396 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 673 final Reduce 673 instanceof Reduce 356 native Reduce 673 non-sealed Reduce 673 private Reduce 673 protected Reduce 673 public Reduce 673 static Reduce 673 strictfp Reduce 673 synchronized Reduce 673 transient Reduce 673 volatile Reduce 673 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 673 AND_AND Reduce 673 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 673 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 673 RBRACE Reduce 673 RBRACKET Reduce 673 SEMICOLON Reduce 673 QUESTION Reduce 673 COLON Reduce 673 COMMA Reduce 673 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1947 DOT Reduce 528 AT Reduce 673 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 673 BeginCaseExpr Reduce 673 RestrictedIdentifiersealed Reduce 673 $eof Reduce 673 Default reduction to rule 673 STATE 1142 --------------------------------------------------------------------- ( 265 389 397 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1948 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 LBRACKET Reduce 529 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 DOT Reduce 526 AT Reduce 671 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1143 --------------------------------------------------------------------- ( 265 389 397 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1949 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 AT Reduce 671 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1144 --------------------------------------------------------------------- ( 265 389 397 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1950 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 DOT Reduce 528 AT Reduce 671 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1145 --------------------------------------------------------------------- ( 265 389 397 ) PrimaryNoNewArray ::= ReferenceExpression . (544) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1951 abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 LBRACKET Reduce 544 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 DOT Reduce 526 AT Reduce 671 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1952 STATE 1146 --------------------------------------------------------------------- ( 265 389 397 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 LBRACKET Reduce 543 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 DOT Reduce 526 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1953 AT Reduce 671 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1147 --------------------------------------------------------------------- ( 265 389 397 ) PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1954 RBRACE Reduce 671 LBRACKET Reduce 542 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 DOT Reduce 526 AT Reduce 671 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1148 --------------------------------------------------------------------- ( 265 389 397 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1955 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 LBRACKET Reduce 541 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 DOT Reduce 526 AT Reduce 671 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1149 --------------------------------------------------------------------- ( 265 389 397 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1956 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 LBRACKET Reduce 534 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 DOT Reduce 526 AT Reduce 671 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1150 --------------------------------------------------------------------- ( 265 389 397 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1957 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 LBRACKET Reduce 533 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 DOT Reduce 526 AT Reduce 671 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1151 --------------------------------------------------------------------- ( 265 389 397 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1958 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 AT Reduce 671 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1152 --------------------------------------------------------------------- ( 265 389 397 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1959 PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 671 final Reduce 671 instanceof Reduce 356 native Reduce 671 non-sealed Reduce 671 private Reduce 671 protected Reduce 671 public Reduce 671 static Reduce 671 strictfp Reduce 671 synchronized Reduce 671 transient Reduce 671 volatile Reduce 671 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 671 AND_AND Reduce 671 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 671 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 671 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 671 RBRACE Reduce 671 RBRACKET Reduce 671 SEMICOLON Reduce 671 QUESTION Reduce 671 COLON Reduce 671 COMMA Reduce 671 AT Reduce 671 ElidedSemicolonAndRightBrace Reduce 671 BeginCaseExpr Reduce 671 RestrictedIdentifiersealed Reduce 671 $eof Reduce 671 Default reduction to rule 671 STATE 1153 --------------------------------------------------------------------- ( 267 394 414 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1960 Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 LBRACKET Reduce 529 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1961 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 DOT Reduce 526 AT Reduce 677 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1154 --------------------------------------------------------------------- ( 267 394 414 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1962 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 AT Reduce 677 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1155 --------------------------------------------------------------------- ( 267 394 414 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1963 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 AT Reduce 677 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1156 --------------------------------------------------------------------- ( 267 394 414 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1964 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 AT Reduce 677 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1157 --------------------------------------------------------------------- ( 267 394 414 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1965 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 LBRACKET Reduce 544 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 DOT Reduce 526 AT Reduce 677 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1158 --------------------------------------------------------------------- ( 267 394 414 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1966 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 LBRACKET Reduce 543 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 DOT Reduce 526 AT Reduce 677 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1159 --------------------------------------------------------------------- ( 267 394 414 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1967 PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 LBRACKET Reduce 542 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 DOT Reduce 526 AT Reduce 677 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1968 $eof Reduce 677 Default reduction to rule 677 STATE 1160 --------------------------------------------------------------------- ( 267 394 414 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 LBRACKET Reduce 541 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1969 COLON Reduce 677 COMMA Reduce 677 DOT Reduce 526 AT Reduce 677 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1161 --------------------------------------------------------------------- ( 267 394 414 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1970 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 LBRACKET Reduce 534 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 DOT Reduce 526 AT Reduce 677 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1162 --------------------------------------------------------------------- ( 267 394 414 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1971 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 LBRACKET Reduce 533 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 DOT Reduce 526 AT Reduce 677 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1163 --------------------------------------------------------------------- ( 267 394 414 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 677 final Reduce 677 instanceof Reduce 356 native Reduce 677 non-sealed Reduce 677 private Reduce 677 protected Reduce 677 public Reduce 677 static Reduce 677 strictfp Reduce 677 synchronized Reduce 677 transient Reduce 677 volatile Reduce 677 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1972 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 677 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 677 RBRACE Reduce 677 RBRACKET Reduce 677 SEMICOLON Reduce 677 QUESTION Reduce 677 COLON Reduce 677 COMMA Reduce 677 DOT Reduce 528 AT Reduce 677 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 677 BeginCaseExpr Reduce 677 RestrictedIdentifiersealed Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 1164 --------------------------------------------------------------------- ( 268 391 395 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1973 PrimaryNoNewArray ::= Literal . (529) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 LBRACKET Reduce 529 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 DOT Reduce 526 AT Reduce 675 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1974 Default reduction to rule 675 STATE 1165 --------------------------------------------------------------------- ( 268 391 395 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 RBRACKET Reduce 675 SEMICOLON Reduce 675 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1975 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 AT Reduce 675 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 1166 --------------------------------------------------------------------- ( 268 391 395 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1976 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 DOT Reduce 528 AT Reduce 675 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 1167 --------------------------------------------------------------------- ( 268 391 395 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1977 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 LBRACKET Reduce 544 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 DOT Reduce 526 AT Reduce 675 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 1168 --------------------------------------------------------------------- ( 268 391 395 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1978 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 LBRACKET Reduce 543 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 DOT Reduce 526 AT Reduce 675 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 1169 --------------------------------------------------------------------- ( 268 391 395 ) PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1979 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 LBRACKET Reduce 542 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 DOT Reduce 526 AT Reduce 675 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 1170 --------------------------------------------------------------------- ( 268 391 395 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 675 final Reduce 675 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1980 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 LBRACKET Reduce 541 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 DOT Reduce 526 AT Reduce 675 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 1171 --------------------------------------------------------------------- ( 268 391 395 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1981 PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 LBRACKET Reduce 534 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 DOT Reduce 526 AT Reduce 675 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1982 $eof Reduce 675 Default reduction to rule 675 STATE 1172 --------------------------------------------------------------------- ( 268 391 395 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 LBRACKET Reduce 533 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1983 COLON Reduce 675 COMMA Reduce 675 DOT Reduce 526 AT Reduce 675 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 1173 --------------------------------------------------------------------- ( 268 391 395 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1984 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 AT Reduce 675 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 1174 --------------------------------------------------------------------- ( 268 391 395 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 675 final Reduce 675 instanceof Reduce 356 native Reduce 675 non-sealed Reduce 675 private Reduce 675 protected Reduce 675 public Reduce 675 static Reduce 675 strictfp Reduce 675 synchronized Reduce 675 transient Reduce 675 volatile Reduce 675 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 675 AND_AND Reduce 675 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1985 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 675 RBRACE Reduce 675 RBRACKET Reduce 675 SEMICOLON Reduce 675 QUESTION Reduce 675 COLON Reduce 675 COMMA Reduce 675 AT Reduce 675 ElidedSemicolonAndRightBrace Reduce 675 BeginCaseExpr Reduce 675 RestrictedIdentifiersealed Reduce 675 $eof Reduce 675 Default reduction to rule 675 STATE 1175 --------------------------------------------------------------------- ( 269 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1986 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 529 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 619 STATE 1176 --------------------------------------------------------------------- ( 269 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1987 instanceof Reduce 356 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 683 STATE 1177 --------------------------------------------------------------------- ( 269 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1988 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 528 EQUAL Reduce 619 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 619 STATE 1178 --------------------------------------------------------------------- ( 269 ) PrimaryNoNewArray ::= ReferenceExpression . (544) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1989 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 544 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 619 STATE 1179 --------------------------------------------------------------------- ( 269 ) PrimaryNoNewArray ::= LambdaExpression . (543) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1990 instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 543 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 619 STATE 1180 --------------------------------------------------------------------- ( 269 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1991 PrimaryNoNewArray ::= ArrayAccess . (542) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 542 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1992 STATE 1181 --------------------------------------------------------------------- ( 269 ) PrimaryNoNewArray ::= MethodInvocation . (541) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 541 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 526 EQUAL Reduce 619 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1993 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 619 STATE 1182 --------------------------------------------------------------------- ( 269 ) PrimaryNoNewArray ::= FieldAccess . (534) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 534 RBRACKET Reduce 683 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1994 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 619 STATE 1183 --------------------------------------------------------------------- ( 269 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) instanceof Reduce 356 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 619 MINUS_EQUAL Reduce 619 MULTIPLY_EQUAL Reduce 619 DIVIDE_EQUAL Reduce 619 AND_EQUAL Reduce 619 OR_EQUAL Reduce 619 XOR_EQUAL Reduce 619 REMAINDER_EQUAL Reduce 619 LEFT_SHIFT_EQUAL Reduce 619 RIGHT_SHIFT_EQUAL Reduce 619 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 619 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1995 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 533 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 526 EQUAL Reduce 619 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 619 STATE 1184 --------------------------------------------------------------------- ( 269 ) PostfixExpression ::= PostDecrementExpression . (622) instanceof Reduce 356 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 622 MINUS_EQUAL Reduce 622 MULTIPLY_EQUAL Reduce 622 DIVIDE_EQUAL Reduce 622 AND_EQUAL Reduce 622 OR_EQUAL Reduce 622 XOR_EQUAL Reduce 622 REMAINDER_EQUAL Reduce 622 LEFT_SHIFT_EQUAL Reduce 622 RIGHT_SHIFT_EQUAL Reduce 622 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 622 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1996 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 EQUAL Reduce 622 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 622 STATE 1185 --------------------------------------------------------------------- ( 269 ) PostfixExpression ::= PostIncrementExpression . (621) instanceof Reduce 356 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 PLUS_EQUAL Reduce 621 MINUS_EQUAL Reduce 621 MULTIPLY_EQUAL Reduce 621 DIVIDE_EQUAL Reduce 621 AND_EQUAL Reduce 621 OR_EQUAL Reduce 621 XOR_EQUAL Reduce 621 REMAINDER_EQUAL Reduce 621 LEFT_SHIFT_EQUAL Reduce 621 RIGHT_SHIFT_EQUAL Reduce 621 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 621 OR_OR Reduce 679 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1997 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 679 COLON Reduce 683 COMMA Reduce 683 EQUAL Reduce 621 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 621 STATE 1186 --------------------------------------------------------------------- ( 306 ) RecordComponents ::= RecordComponent . (339) RecordComponent ::= VariableArityRecordComponent . (341) RPAREN Reduce 338 COMMA Reduce 339 Default reduction to rule 338 STATE 1187 --------------------------------------------------------------------- ( 315 ) Catches ::= CatchClause . (520) Identifier Reduce 520 abstract Reduce 520 assert Reduce 520 boolean Reduce 520 break Reduce 520 byte Reduce 520 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1998 case Reduce 520 catch Reduce 520 char Reduce 520 class Reduce 520 continue Reduce 520 default Reduce 520 do Reduce 520 double Reduce 520 else Reduce 520 enum Reduce 520 false Reduce 520 final Reduce 520 finally Reduce 741 float Reduce 520 for Reduce 520 if Reduce 520 int Reduce 520 interface Reduce 520 long Reduce 520 native Reduce 520 new Reduce 520 non-sealed Reduce 520 null Reduce 520 private Reduce 520 protected Reduce 520 public Reduce 520 return Reduce 520 short Reduce 520 static Reduce 520 strictfp Reduce 520 super Reduce 520 switch Reduce 520 synchronized Reduce 520 this Reduce 520 throw Reduce 520 transient Reduce 520 true Reduce 520 try Reduce 520 void Reduce 520 volatile Reduce 520 while Reduce 520 IntegerLiteral Reduce 520 LongLiteral Reduce 520 FloatingPointLiteral Reduce 520 DoubleLiteral Reduce 520 CharacterLiteral Reduce 520 StringLiteral Reduce 520 TextBlock Reduce 520 PLUS_PLUS Reduce 520 MINUS_MINUS Reduce 520 LESS Reduce 520 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 1999 LPAREN Reduce 520 LBRACE Reduce 520 RBRACE Reduce 520 SEMICOLON Reduce 520 AT Reduce 520 BeginLambda Reduce 520 AT308 Reduce 520 RestrictedIdentifierYield Reduce 520 RestrictedIdentifierrecord Reduce 520 RestrictedIdentifiersealed Reduce 520 UNDERSCORE Reduce 520 $eof Reduce 520 Default reduction to rule 520 STATE 1188 --------------------------------------------------------------------- ( 317 740 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) LBRACKET Reduce 529 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 526 STATE 1189 --------------------------------------------------------------------- ( 317 740 ) Name ::= QualifiedName . (73) Identifier Reduce 61 LESS Reduce 61 LPAREN Reduce 73 RPAREN Reduce 515 LBRACKET Reduce 73 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2000 SEMICOLON Reduce 515 DOT Reduce 73 COLON_COLON Reduce 73 BeginTypeArguments Reduce 73 AT308 Reduce 73 UNDERSCORE Reduce 61 Default reduction to rule 73 STATE 1190 --------------------------------------------------------------------- ( 317 740 ) PrimaryNoNewArray ::= ReferenceExpression . (544) LBRACKET Reduce 544 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 526 STATE 1191 --------------------------------------------------------------------- ( 317 740 ) PrimaryNoNewArray ::= LambdaExpression . (543) LBRACKET Reduce 543 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 526 STATE 1192 --------------------------------------------------------------------- ( 317 740 ) PrimaryNoNewArray ::= ArrayAccess . (542) LBRACKET Reduce 542 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 526 STATE 1193 --------------------------------------------------------------------- ( 317 740 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2001 PrimaryNoNewArray ::= MethodInvocation . (541) LBRACKET Reduce 541 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 526 STATE 1194 --------------------------------------------------------------------- ( 317 740 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) LBRACKET Reduce 533 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 526 STATE 1195 --------------------------------------------------------------------- ( 337 934 ) StatementExpressionList ::= StatementExpression . (490) SEMICOLON Reduce 487 COMMA Reduce 490 Default reduction to rule 487 STATE 1196 --------------------------------------------------------------------- ( 347 ) VariableInitializer ::= Expression . (255) VariableInitializer ::= ArrayInitializer . (256) RBRACE Reduce 379 COMMA Reduce 379 Default reduction to rule 379 STATE 1197 --------------------------------------------------------------------- ( 431 795 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2002 SimpleName ::= Identifier . (74) UnannotatableName ::= SimpleName . (75) SEMICOLON Reduce 134 COMMA Reduce 134 DOT Reduce 75 Default reduction to rule 134 STATE 1198 --------------------------------------------------------------------- ( 435 796 ) Name ::= QualifiedName . (73) SEMICOLON Reduce 144 COMMA Reduce 144 DOT Reduce 73 Default reduction to rule 144 STATE 1199 --------------------------------------------------------------------- ( 442 673 ) ClassMemberDeclaration ::= MethodDeclaration . (234) MethodDeclaration ::= AbstractMethodDeclaration . (257) Identifier Reduce 234 abstract Reduce 234 boolean Reduce 234 byte Reduce 234 char Reduce 234 class Reduce 234 default Reduce 234 double Reduce 234 enum Reduce 234 final Reduce 234 float Reduce 234 int Reduce 234 interface Reduce 234 long Reduce 234 native Reduce 234 non-sealed Reduce 234 private Reduce 234 protected Reduce 234 public Reduce 234 short Reduce 234 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2003 static Reduce 234 strictfp Reduce 234 synchronized Reduce 234 transient Reduce 234 void Reduce 234 volatile Reduce 234 LESS Reduce 234 SEMICOLON Reduce 234 AT Reduce 234 AT308 Reduce 234 RestrictedIdentifierrecord Reduce 234 RestrictedIdentifiersealed Reduce 234 $eof Reduce 227 Default reduction to rule 234 STATE 1200 --------------------------------------------------------------------- ( 442 673 ) ClassMemberDeclaration ::= RecordDeclaration . (239) Identifier Reduce 239 abstract Reduce 239 boolean Reduce 239 byte Reduce 239 char Reduce 239 class Reduce 239 default Reduce 239 double Reduce 239 enum Reduce 239 final Reduce 239 float Reduce 239 int Reduce 239 interface Reduce 239 long Reduce 239 native Reduce 239 non-sealed Reduce 239 private Reduce 239 protected Reduce 239 public Reduce 239 short Reduce 239 static Reduce 239 strictfp Reduce 239 synchronized Reduce 239 transient Reduce 239 void Reduce 239 volatile Reduce 239 LESS Reduce 239 SEMICOLON Reduce 239 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2004 AT Reduce 239 AT308 Reduce 239 RestrictedIdentifierrecord Reduce 239 RestrictedIdentifiersealed Reduce 239 $eof Reduce 227 Default reduction to rule 239 STATE 1201 --------------------------------------------------------------------- ( 442 673 ) ClassMemberDeclaration ::= AnnotationTypeDeclaration . (238) Identifier Reduce 238 abstract Reduce 238 boolean Reduce 238 byte Reduce 238 char Reduce 238 class Reduce 238 default Reduce 238 double Reduce 238 enum Reduce 238 final Reduce 238 float Reduce 238 int Reduce 238 interface Reduce 238 long Reduce 238 native Reduce 238 non-sealed Reduce 238 private Reduce 238 protected Reduce 238 public Reduce 238 short Reduce 238 static Reduce 238 strictfp Reduce 238 synchronized Reduce 238 transient Reduce 238 void Reduce 238 volatile Reduce 238 LESS Reduce 238 SEMICOLON Reduce 238 AT Reduce 238 AT308 Reduce 238 RestrictedIdentifierrecord Reduce 238 RestrictedIdentifiersealed Reduce 238 $eof Reduce 227 Default reduction to rule 238 STATE 1202 --------------------------------------------------------------------- ( 442 673 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2005 ClassMemberDeclaration ::= EnumDeclaration . (237) Identifier Reduce 237 abstract Reduce 237 boolean Reduce 237 byte Reduce 237 char Reduce 237 class Reduce 237 default Reduce 237 double Reduce 237 enum Reduce 237 final Reduce 237 float Reduce 237 int Reduce 237 interface Reduce 237 long Reduce 237 native Reduce 237 non-sealed Reduce 237 private Reduce 237 protected Reduce 237 public Reduce 237 short Reduce 237 static Reduce 237 strictfp Reduce 237 synchronized Reduce 237 transient Reduce 237 void Reduce 237 volatile Reduce 237 LESS Reduce 237 SEMICOLON Reduce 237 AT Reduce 237 AT308 Reduce 237 RestrictedIdentifierrecord Reduce 237 RestrictedIdentifiersealed Reduce 237 $eof Reduce 227 Default reduction to rule 237 STATE 1203 --------------------------------------------------------------------- ( 442 673 ) ClassMemberDeclaration ::= InterfaceDeclaration . (236) Identifier Reduce 236 abstract Reduce 236 boolean Reduce 236 byte Reduce 236 char Reduce 236 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2006 class Reduce 236 default Reduce 236 double Reduce 236 enum Reduce 236 final Reduce 236 float Reduce 236 int Reduce 236 interface Reduce 236 long Reduce 236 native Reduce 236 non-sealed Reduce 236 private Reduce 236 protected Reduce 236 public Reduce 236 short Reduce 236 static Reduce 236 strictfp Reduce 236 synchronized Reduce 236 transient Reduce 236 void Reduce 236 volatile Reduce 236 LESS Reduce 236 SEMICOLON Reduce 236 AT Reduce 236 AT308 Reduce 236 RestrictedIdentifierrecord Reduce 236 RestrictedIdentifiersealed Reduce 236 $eof Reduce 227 Default reduction to rule 236 STATE 1204 --------------------------------------------------------------------- ( 442 673 ) ClassMemberDeclaration ::= ClassDeclaration . (235) Identifier Reduce 235 abstract Reduce 235 boolean Reduce 235 byte Reduce 235 char Reduce 235 class Reduce 235 default Reduce 235 double Reduce 235 enum Reduce 235 final Reduce 235 float Reduce 235 int Reduce 235 interface Reduce 235 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2007 long Reduce 235 native Reduce 235 non-sealed Reduce 235 private Reduce 235 protected Reduce 235 public Reduce 235 short Reduce 235 static Reduce 235 strictfp Reduce 235 synchronized Reduce 235 transient Reduce 235 void Reduce 235 volatile Reduce 235 LESS Reduce 235 SEMICOLON Reduce 235 AT Reduce 235 AT308 Reduce 235 RestrictedIdentifierrecord Reduce 235 RestrictedIdentifiersealed Reduce 235 $eof Reduce 227 Default reduction to rule 235 STATE 1205 --------------------------------------------------------------------- ( 442 673 ) ClassMemberDeclaration ::= FieldDeclaration . (233) Identifier Reduce 233 abstract Reduce 233 boolean Reduce 233 byte Reduce 233 char Reduce 233 class Reduce 233 default Reduce 233 double Reduce 233 enum Reduce 233 final Reduce 233 float Reduce 233 int Reduce 233 interface Reduce 233 long Reduce 233 native Reduce 233 non-sealed Reduce 233 private Reduce 233 protected Reduce 233 public Reduce 233 short Reduce 233 static Reduce 233 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2008 strictfp Reduce 233 synchronized Reduce 233 transient Reduce 233 void Reduce 233 volatile Reduce 233 LESS Reduce 233 SEMICOLON Reduce 233 AT Reduce 233 AT308 Reduce 233 RestrictedIdentifierrecord Reduce 233 RestrictedIdentifiersealed Reduce 233 $eof Reduce 227 Default reduction to rule 233 STATE 1206 --------------------------------------------------------------------- ( 485 489 700 878 ) AdditionalBoundList ::= AdditionalBound . (817) AND Reduce 817 RPAREN Reduce 644 Default reduction to rule 817 STATE 1207 --------------------------------------------------------------------- ( 511 ) Pattern ::= TypePattern . (362) Pattern ::= RecordPattern . (363) ComponentPatternList ::= ComponentPattern . (369) ComponentPattern ::= Pattern . (371) ComponentPattern ::= UnnamedPattern . (372) RPAREN Reduce 368 COMMA Reduce 369 Default reduction to rule 368 STATE 1208 --------------------------------------------------------------------- ( 550 ) Catches ::= CatchClause . (520) Identifier Reduce 741 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2009 abstract Reduce 741 assert Reduce 741 boolean Reduce 741 break Reduce 741 byte Reduce 741 case Reduce 741 catch Reduce 520 char Reduce 741 class Reduce 741 continue Reduce 741 default Reduce 741 do Reduce 741 double Reduce 741 else Reduce 741 enum Reduce 741 false Reduce 741 final Reduce 741 finally Reduce 741 float Reduce 741 for Reduce 741 if Reduce 741 int Reduce 741 interface Reduce 741 long Reduce 741 native Reduce 741 new Reduce 741 non-sealed Reduce 741 null Reduce 741 private Reduce 741 protected Reduce 741 public Reduce 741 return Reduce 741 short Reduce 741 static Reduce 741 strictfp Reduce 741 super Reduce 741 switch Reduce 741 synchronized Reduce 741 this Reduce 741 throw Reduce 741 transient Reduce 741 true Reduce 741 try Reduce 741 void Reduce 741 volatile Reduce 741 while Reduce 741 IntegerLiteral Reduce 741 LongLiteral Reduce 741 FloatingPointLiteral Reduce 741 DoubleLiteral Reduce 741 CharacterLiteral Reduce 741 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2010 StringLiteral Reduce 741 TextBlock Reduce 741 PLUS_PLUS Reduce 741 MINUS_MINUS Reduce 741 LESS Reduce 741 LPAREN Reduce 741 LBRACE Reduce 741 RBRACE Reduce 741 SEMICOLON Reduce 741 AT Reduce 741 BeginLambda Reduce 741 AT308 Reduce 741 RestrictedIdentifierYield Reduce 741 RestrictedIdentifierrecord Reduce 741 RestrictedIdentifiersealed Reduce 741 UNDERSCORE Reduce 741 $eof Reduce 741 Default reduction to rule 741 STATE 1209 --------------------------------------------------------------------- ( 597 598 610 652 ) Dimsopt ::= Dims . (715) abstract Reduce 269 default Reduce 269 final Reduce 269 native Reduce 269 non-sealed Reduce 269 private Reduce 269 protected Reduce 269 public Reduce 269 static Reduce 269 strictfp Reduce 269 synchronized Reduce 269 throws Reduce 269 transient Reduce 269 volatile Reduce 269 LBRACE Reduce 269 SEMICOLON Reduce 269 AT Reduce 269 RestrictedIdentifiersealed Reduce 269 $eof Reduce 269 Default reduction to rule 269 STATE 1210 --------------------------------------------------------------------- ( 613 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2011 Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RBRACE Reduce 939 LBRACKET Reduce 529 QUESTION Reduce 888 COMMA Reduce 939 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1211 --------------------------------------------------------------------- ( 613 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (462) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2012 UnaryExpression_NotName ::= PreIncrementExpression . (831) UnaryExpression_NotName ::= PreDecrementExpression . (832) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (835) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (836) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (839) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (840) instanceof Reduce 868 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RBRACE Reduce 939 QUESTION Reduce 888 COMMA Reduce 939 Default reduction to rule 852 STATE 1212 --------------------------------------------------------------------- ( 613 ) PrimaryNoNewArray ::= ReferenceExpression . (544) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2013 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RBRACE Reduce 939 LBRACKET Reduce 544 QUESTION Reduce 888 COMMA Reduce 939 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1213 --------------------------------------------------------------------- ( 613 ) PrimaryNoNewArray ::= LambdaExpression . (543) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RBRACE Reduce 939 LBRACKET Reduce 543 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2014 QUESTION Reduce 888 COMMA Reduce 939 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1214 --------------------------------------------------------------------- ( 613 ) PrimaryNoNewArray ::= ArrayAccess . (542) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RBRACE Reduce 939 LBRACKET Reduce 542 QUESTION Reduce 888 COMMA Reduce 939 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1215 --------------------------------------------------------------------- ( 613 ) PrimaryNoNewArray ::= MethodInvocation . (541) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2015 instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RBRACE Reduce 939 LBRACKET Reduce 541 QUESTION Reduce 888 COMMA Reduce 939 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1216 --------------------------------------------------------------------- ( 613 ) PrimaryNoNewArray ::= FieldAccess . (534) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2016 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RBRACE Reduce 939 LBRACKET Reduce 534 QUESTION Reduce 888 COMMA Reduce 939 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1217 --------------------------------------------------------------------- ( 613 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RBRACE Reduce 939 LBRACKET Reduce 533 QUESTION Reduce 888 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2017 COMMA Reduce 939 DOT Reduce 526 COLON_COLON Reduce 526 Default reduction to rule 852 STATE 1218 --------------------------------------------------------------------- ( 613 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) instanceof Reduce 868 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 871 LESS_EQUAL Reduce 859 GREATER_EQUAL Reduce 859 NOT_EQUAL Reduce 871 LEFT_SHIFT Reduce 852 RIGHT_SHIFT Reduce 852 UNSIGNED_RIGHT_SHIFT Reduce 852 OR_OR Reduce 888 AND_AND Reduce 885 PLUS Reduce 847 MINUS Reduce 847 REMAINDER Reduce 840 XOR Reduce 879 AND Reduce 876 MULTIPLY Reduce 840 OR Reduce 882 DIVIDE Reduce 840 GREATER Reduce 852 LESS Reduce 852 RBRACE Reduce 939 QUESTION Reduce 888 COMMA Reduce 939 DOT Reduce 528 COLON_COLON Reduce 528 Default reduction to rule 852 STATE 1219 --------------------------------------------------------------------- ( 649 ) Type ::= ReferenceType . (44) ReferenceType ::= ArrayType . (58) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2018 Identifier Reduce 281 OR Reduce 281 UNDERSCORE Reduce 281 Default reduction to rule 281 STATE 1220 --------------------------------------------------------------------- ( 701 818 880 922 969 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 volatile Reduce 633 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2019 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 LBRACKET Reduce 529 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 DOT Reduce 526 AT Reduce 633 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 1221 --------------------------------------------------------------------- ( 701 818 880 922 969 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 volatile Reduce 633 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2020 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 DOT Reduce 528 AT Reduce 633 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 1222 --------------------------------------------------------------------- ( 701 818 880 922 969 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2021 volatile Reduce 633 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 LBRACKET Reduce 544 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 DOT Reduce 526 AT Reduce 633 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 1223 --------------------------------------------------------------------- ( 701 818 880 922 969 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2022 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 volatile Reduce 633 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 LBRACKET Reduce 543 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 DOT Reduce 526 AT Reduce 633 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 1224 --------------------------------------------------------------------- ( 701 818 880 922 969 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2023 PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 volatile Reduce 633 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 LBRACKET Reduce 542 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 DOT Reduce 526 AT Reduce 633 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2024 $eof Reduce 633 Default reduction to rule 633 STATE 1225 --------------------------------------------------------------------- ( 701 818 880 922 969 ) PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 volatile Reduce 633 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 LBRACKET Reduce 541 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2025 COLON Reduce 633 COMMA Reduce 633 DOT Reduce 526 AT Reduce 633 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 1226 --------------------------------------------------------------------- ( 701 818 880 922 969 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 volatile Reduce 633 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2026 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 LBRACKET Reduce 534 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 DOT Reduce 526 AT Reduce 633 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 1227 --------------------------------------------------------------------- ( 701 818 880 922 969 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 volatile Reduce 633 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2027 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 LBRACKET Reduce 533 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 DOT Reduce 526 AT Reduce 633 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 1228 --------------------------------------------------------------------- ( 701 818 880 922 969 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 transient Reduce 633 volatile Reduce 633 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2028 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 AT Reduce 633 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 1229 --------------------------------------------------------------------- ( 701 818 880 922 969 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 633 final Reduce 633 instanceof Reduce 633 native Reduce 633 non-sealed Reduce 633 private Reduce 633 protected Reduce 633 public Reduce 633 static Reduce 633 strictfp Reduce 633 synchronized Reduce 633 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2029 transient Reduce 633 volatile Reduce 633 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 633 LESS_EQUAL Reduce 633 GREATER_EQUAL Reduce 633 NOT_EQUAL Reduce 633 LEFT_SHIFT Reduce 633 RIGHT_SHIFT Reduce 633 UNSIGNED_RIGHT_SHIFT Reduce 633 OR_OR Reduce 633 AND_AND Reduce 633 PLUS Reduce 633 MINUS Reduce 633 REMAINDER Reduce 633 XOR Reduce 633 AND Reduce 633 MULTIPLY Reduce 633 OR Reduce 633 DIVIDE Reduce 633 GREATER Reduce 633 LESS Reduce 633 RPAREN Reduce 633 RBRACE Reduce 633 RBRACKET Reduce 633 SEMICOLON Reduce 633 QUESTION Reduce 633 COLON Reduce 633 COMMA Reduce 633 AT Reduce 633 ElidedSemicolonAndRightBrace Reduce 633 BeginCaseExpr Reduce 633 RestrictedIdentifiersealed Reduce 633 $eof Reduce 633 Default reduction to rule 633 STATE 1230 --------------------------------------------------------------------- ( 705 784 785 ) Literal ::= IntegerLiteral . (32) Literal ::= LongLiteral . (33) Literal ::= FloatingPointLiteral . (34) Literal ::= DoubleLiteral . (35) Literal ::= CharacterLiteral . (36) Literal ::= StringLiteral . (37) Literal ::= TextBlock . (38) Literal ::= null . (39) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2030 Literal ::= BooleanLiteral . (40) BooleanLiteral ::= true . (41) BooleanLiteral ::= false . (42) PrimaryNoNewArray ::= Literal . (529) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 LBRACKET Reduce 529 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 DOT Reduce 526 AT Reduce 681 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 681 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2031 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1231 --------------------------------------------------------------------- ( 705 784 785 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (461) UnaryExpression ::= PreIncrementExpression . (626) UnaryExpression ::= PreDecrementExpression . (627) UnaryExpression ::= UnaryExpressionNotPlusMinus . (630) UnaryExpressionNotPlusMinus ::= CastExpression . (636) MultiplicativeExpression ::= UnaryExpression . (652) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2032 RBRACE Reduce 681 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 AT Reduce 681 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1232 --------------------------------------------------------------------- ( 705 784 785 ) PostfixExpression ::= PostDecrementExpression . (622) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 PLUS_PLUS Reduce 622 MINUS_MINUS Reduce 622 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2033 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 AT Reduce 681 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1233 --------------------------------------------------------------------- ( 705 784 785 ) PostfixExpression ::= PostIncrementExpression . (621) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 PLUS_PLUS Reduce 621 MINUS_MINUS Reduce 621 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2034 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 AT Reduce 681 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1234 --------------------------------------------------------------------- ( 705 784 785 ) PrimaryNoNewArray ::= ReferenceExpression . (544) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2035 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 LBRACKET Reduce 544 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 DOT Reduce 526 AT Reduce 681 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1235 --------------------------------------------------------------------- ( 705 784 785 ) PrimaryNoNewArray ::= LambdaExpression . (543) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2036 volatile Reduce 681 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 LBRACKET Reduce 543 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 DOT Reduce 526 AT Reduce 681 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1236 --------------------------------------------------------------------- ( 705 784 785 ) PrimaryNoNewArray ::= ArrayAccess . (542) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2037 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 LBRACKET Reduce 542 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 DOT Reduce 526 AT Reduce 681 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1237 --------------------------------------------------------------------- ( 705 784 785 ) IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2038 PrimaryNoNewArray ::= MethodInvocation . (541) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 LBRACKET Reduce 541 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 DOT Reduce 526 AT Reduce 681 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2039 $eof Reduce 681 Default reduction to rule 681 STATE 1238 --------------------------------------------------------------------- ( 705 784 785 ) PrimaryNoNewArray ::= FieldAccess . (534) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 LBRACKET Reduce 534 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2040 COLON Reduce 681 COMMA Reduce 681 DOT Reduce 526 AT Reduce 681 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1239 --------------------------------------------------------------------- ( 705 784 785 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (533) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2041 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 LBRACKET Reduce 533 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 DOT Reduce 526 AT Reduce 681 COLON_COLON Reduce 526 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1240 --------------------------------------------------------------------- ( 705 784 785 ) Primary ::= ArrayCreationWithoutArrayInitializer . (528) abstract Reduce 681 final Reduce 681 instanceof Reduce 356 native Reduce 681 non-sealed Reduce 681 private Reduce 681 protected Reduce 681 public Reduce 681 static Reduce 681 strictfp Reduce 681 synchronized Reduce 681 transient Reduce 681 volatile Reduce 681 PLUS_PLUS Reduce 619 MINUS_MINUS Reduce 619 EQUAL_EQUAL Reduce 668 LESS_EQUAL Reduce 663 GREATER_EQUAL Reduce 663 NOT_EQUAL Reduce 668 LEFT_SHIFT Reduce 659 RIGHT_SHIFT Reduce 659 UNSIGNED_RIGHT_SHIFT Reduce 659 OR_OR Reduce 679 AND_AND Reduce 677 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2042 PLUS Reduce 656 MINUS Reduce 656 REMAINDER Reduce 652 XOR Reduce 673 AND Reduce 671 MULTIPLY Reduce 652 OR Reduce 675 DIVIDE Reduce 652 GREATER Reduce 663 LESS Reduce 663 RPAREN Reduce 681 RBRACE Reduce 681 RBRACKET Reduce 681 SEMICOLON Reduce 681 QUESTION Reduce 679 COLON Reduce 681 COMMA Reduce 681 DOT Reduce 528 AT Reduce 681 COLON_COLON Reduce 528 ElidedSemicolonAndRightBrace Reduce 681 BeginCaseExpr Reduce 681 RestrictedIdentifiersealed Reduce 681 $eof Reduce 681 Default reduction to rule 681 STATE 1241 --------------------------------------------------------------------- ( 849 902 937 980 981 986 987 ) StatementWithoutTrailingSubstatement ::= AssertStatement . (414) StatementWithoutTrailingSubstatement ::= Block . (415) StatementWithoutTrailingSubstatement ::= EmptyStatement . (416) StatementWithoutTrailingSubstatement ::= ExpressionStatement . (417) StatementWithoutTrailingSubstatement ::= SwitchStatement . (418) StatementWithoutTrailingSubstatement ::= DoStatement . (419) StatementWithoutTrailingSubstatement ::= BreakStatement . (420) StatementWithoutTrailingSubstatement ::= ContinueStatement . (421) StatementWithoutTrailingSubstatement ::= ReturnStatement . (422) StatementWithoutTrailingSubstatement ::= SynchronizedStatement . (423) StatementWithoutTrailingSubstatement ::= ThrowStatement . (424) StatementWithoutTrailingSubstatement ::= TryStatement . (425) StatementWithoutTrailingSubstatement ::= TryStatementWithResources . (426) StatementWithoutTrailingSubstatement ::= YieldStatement . (427) Identifier Reduce 401 abstract Reduce 401 assert Reduce 401 boolean Reduce 401 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2043 break Reduce 401 byte Reduce 401 case Reduce 401 char Reduce 401 class Reduce 401 continue Reduce 401 default Reduce 401 do Reduce 401 double Reduce 401 else Reduce 408 enum Reduce 401 false Reduce 401 final Reduce 401 float Reduce 401 for Reduce 401 if Reduce 401 int Reduce 401 interface Reduce 401 long Reduce 401 native Reduce 401 new Reduce 401 non-sealed Reduce 401 null Reduce 401 private Reduce 401 protected Reduce 401 public Reduce 401 return Reduce 401 short Reduce 401 static Reduce 401 strictfp Reduce 401 super Reduce 401 switch Reduce 401 synchronized Reduce 401 this Reduce 401 throw Reduce 401 transient Reduce 401 true Reduce 401 try Reduce 401 void Reduce 401 volatile Reduce 401 while Reduce 401 IntegerLiteral Reduce 401 LongLiteral Reduce 401 FloatingPointLiteral Reduce 401 DoubleLiteral Reduce 401 CharacterLiteral Reduce 401 StringLiteral Reduce 401 TextBlock Reduce 401 PLUS_PLUS Reduce 401 MINUS_MINUS Reduce 401 LESS Reduce 401 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2044 LPAREN Reduce 401 LBRACE Reduce 401 RBRACE Reduce 401 SEMICOLON Reduce 401 AT Reduce 401 BeginLambda Reduce 401 AT308 Reduce 401 RestrictedIdentifierYield Reduce 401 RestrictedIdentifierrecord Reduce 401 RestrictedIdentifiersealed Reduce 401 UNDERSCORE Reduce 401 $eof Reduce 401 Default reduction to rule 401 STATE 1242 --------------------------------------------------------------------- ( 907 983 ) StatementExpressionList ::= StatementExpression . (490) RPAREN Reduce 737 COMMA Reduce 490 Default reduction to rule 737 IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2045 Length of base Action Table: 17665 Number of entries in base Action Table: 14247 Percentage of increase: 23.9% Storage required for base Tables: 35330 Bytes, 35K Storage required for Rules: 2847 Bytes Number of unique terminal states: 909 Number of Shift actions saved by merging: 4235 Number of Reduce actions saved by merging: 2872 Number of Reduce saved by default: 12666 Length of Terminal Check Table: 8327 Length of Terminal Action Table: 8279 Number of entries in Terminal Action Table: 7701 Percentage of increase: 7.5% Storage required for Terminal Tables: 24885 Bytes, 25K Total storage required for Tables: 60215 Bytes, 59K Actions in Compressed Tables: Number of Shifts: 2404 Number of Shift/Reduces: 441 Number of Gotos: 10423 Number of Goto/Reduces: 2582 Number of Reduces: 3947 Number of Defaults: 622 Error maps storage: Storage required for ACTION_SYMBOLS_BASE map: 2484 Bytes Storage required for ACTION_SYMBOLS_RANGE map: 3960 Bytes Storage required for NACTION_SYMBOLS_BASE map: 2484 Bytes Storage required for NACTION_SYMBOLS_RANGE map: 1694 Bytes Storage required for TERMINAL_INDEX map: 276 Bytes Storage required for NON_TERMINAL_INDEX map: 876 Bytes Storage required for STRING_BUFFER map: 17828 Bytes ***Warning: Base Check vector contains value > 127. 16-bit words used. ***Warning: Terminal symbol > 127. 16-bit words used. non-sealed may be an invalid variable name. Escaped symbol $eof is an invalid C variable. Escaped symbol $error is an invalid C variable. IBM Research Jikes Parser Generator 1.2 Tue Apr 23 02:38:57 2024 Page 2046 Mapping of new state numbers into original numbers: 950 ==>> 947 984 ==>> 40 990 ==>> 313 993 ==>> 2 994 ==>> 1 995 ==>> 779 996 ==>> 57 1000 ==>> 177 1002 ==>> 800 1007 ==>> 799 1008 ==>> 34 1009 ==>> 29 1011 ==>> 90 1012 ==>> 33 1040 ==>> 35 1041 ==>> 68 1042 ==>> 82 1043 ==>> 369 1045 ==>> 515 1073 ==>> 30 1081 ==>> 227 1090 ==>> 42 1093 ==>> 554 1102 ==>> 36 1103 ==>> 287 1104 ==>> 83 1105 ==>> 744 1106 ==>> 960 1143 ==>> 39 1151 ==>> 887 1152 ==>> 485 1158 ==>> 747 1167 ==>> 91 1168 ==>> 27 1196 ==>> 924 1197 ==>> 145 1199 ==>> 44 1201 ==>> 528 1228 ==>> 46 1244 ==>> 9 1245 ==>> 85 1249 ==>> 26 1254 ==>> 502 1259 ==>> 28 1260 ==>> 503 1261 ==>> 195 1262 ==>> 11 1296 ==>> 871 1298 ==>> 489 1299 ==>> 915 1301 ==>> 48 1302 ==>> 551 1320 ==>> 81 1321 ==>> 284 1384 ==>> 77 1395 ==>> 711 1396 ==>> 520 1397 ==>> 84 1401 ==>> 298 1413 ==>> 12 1448 ==>> 417 1458 ==>> 526 1470 ==>> 47 1535 ==>> 303 1550 ==>> 71 1555 ==>> 295 1557 ==>> 95 1558 ==>> 217 1564 ==>> 944 1615 ==>> 700 1630 ==>> 124 1632 ==>> 315 1637 ==>> 87 1643 ==>> 161 1654 ==>> 343 1664 ==>> 529 1665 ==>> 43 1677 ==>> 21 1711 ==>> 54 1717 ==>> 50 1720 ==>> 878 1721 ==>> 623 1722 ==>> 31 1727 ==>> 196 1736 ==>> 875 1739 ==>> 920 1768 ==>> 156 1769 ==>> 51 1772 ==>> 55 1799 ==>> 732 1800 ==>> 218 1802 ==>> 435 1813 ==>> 883 1814 ==>> 56 1816 ==>> 790 1817 ==>> 58 1825 ==>> 948 1830 ==>> 332 1880 ==>> 135 1892 ==>> 88 1952 ==>> 198 1969 ==>> 70 1976 ==>> 86 1978 ==>> 133 1981 ==>> 705 2034 ==>> 624 2041 ==>> 635 2043 ==>> 440 2081 ==>> 59 2086 ==>> 32 2088 ==>> 37 2089 ==>> 201 2095 ==>> 305 2102 ==>> 826 2104 ==>> 122 2105 ==>> 314 2133 ==>> 25 2134 ==>> 636 2135 ==>> 137 2136 ==>> 968 2138 ==>> 52 2165 ==>> 726 2177 ==>> 273 2181 ==>> 674 2188 ==>> 60 2189 ==>> 127 2191 ==>> 304 2194 ==>> 265 2235 ==>> 53 2236 ==>> 65 2241 ==>> 349 2243 ==>> 429 2244 ==>> 132 2282 ==>> 61 2287 ==>> 140 2288 ==>> 348 2290 ==>> 108 2296 ==>> 672 2301 ==>> 94 2302 ==>> 308 2336 ==>> 164 2366 ==>> 200 2378 ==>> 306 2379 ==>> 231 2382 ==>> 165 2383 ==>> 342 2387 ==>> 219 2390 ==>> 205 2392 ==>> 194 2395 ==>> 185 2430 ==>> 170 2452 ==>> 8 2485 ==>> 550 2486 ==>> 171 2488 ==>> 235 2490 ==>> 199 2532 ==>> 38 2534 ==>> 225 2535 ==>> 66 2546 ==>> 965 2584 ==>> 241 2586 ==>> 439 2592 ==>> 282 2598 ==>> 316 2604 ==>> 300 2605 ==>> 546 2607 ==>> 89 2608 ==>> 93 2638 ==>> 288 2639 ==>> 290 2641 ==>> 764 2668 ==>> 471 2673 ==>> 62 2674 ==>> 63 2675 ==>> 240 2688 ==>> 341 2689 ==>> 188 2693 ==>> 64 2694 ==>> 488 2697 ==>> 849 2734 ==>> 353 2736 ==>> 531 2740 ==>> 191 2753 ==>> 277 2764 ==>> 682 2765 ==>> 560 2770 ==>> 67 2771 ==>> 216 2774 ==>> 541 2776 ==>> 41 2790 ==>> 220 2822 ==>> 72 2823 ==>> 902 2858 ==>> 354 2861 ==>> 367 2862 ==>> 458 2863 ==>> 444 2871 ==>> 73 2873 ==>> 576 2875 ==>> 484 2877 ==>> 278 2895 ==>> 148 2897 ==>> 418 2900 ==>> 547 2902 ==>> 796 2913 ==>> 650 2914 ==>> 232 2915 ==>> 327 2916 ==>> 553 2918 ==>> 221 2945 ==>> 480 2948 ==>> 606 2949 ==>> 937 2985 ==>> 74 2988 ==>> 92 2989 ==>> 366 2992 ==>> 230 3003 ==>> 7 3021 ==>> 594 3024 ==>> 709 3028 ==>> 76 3036 ==>> 97 3042 ==>> 736 3044 ==>> 138 3072 ==>> 370 3073 ==>> 611 3075 ==>> 980 3111 ==>> 675 3115 ==>> 468 3124 ==>> 144 3126 ==>> 146 3127 ==>> 723 3129 ==>> 715 3147 ==>> 774 3151 ==>> 737 3152 ==>> 765 3154 ==>> 345 3165 ==>> 855 3168 ==>> 517 3170 ==>> 233 3198 ==>> 778 3201 ==>> 981 3237 ==>> 697 3238 ==>> 301 3240 ==>> 583 3241 ==>> 99 3244 ==>> 236 3255 ==>> 835 3275 ==>> 702 3276 ==>> 787 3278 ==>> 840 3280 ==>> 128 3288 ==>> 691 3324 ==>> 814 3325 ==>> 696 3326 ==>> 100 3327 ==>> 986 3362 ==>> 706 3363 ==>> 821 3364 ==>> 102 3366 ==>> 921 3367 ==>> 839 3374 ==>> 428 3375 ==>> 660 3376 ==>> 729 3377 ==>> 681 3378 ==>> 730 3381 ==>> 868 3387 ==>> 103 3399 ==>> 104 3403 ==>> 743 3404 ==>> 852 3406 ==>> 363 3417 ==>> 105 3418 ==>> 106 3419 ==>> 761 3420 ==>> 109 3450 ==>> 757 3451 ==>> 685 3452 ==>> 807 3453 ==>> 987 3488 ==>> 763 3489 ==>> 110 3490 ==>> 758 3493 ==>> 819 3496 ==>> 299 3507 ==>> 111 3508 ==>> 112 3514 ==>> 916 3515 ==>> 943 3525 ==>> 113 3527 ==>> 865 3529 ==>> 895 3530 ==>> 114 3532 ==>> 368 3575 ==>> 19 3614 ==>> 692 3633 ==>> 126 3648 ==>> 609 3664 ==>> 613 3700 ==>> 649 3713 ==>> 919 3714 ==>> 698 3716 ==>> 775 3722 ==>> 24 3728 ==>> 116 3730 ==>> 890 3746 ==>> 831 3751 ==>> 833 3753 ==>> 117 3774 ==>> 101 3809 ==>> 959 3810 ==>> 928 3811 ==>> 950 3812 ==>> 118 3813 ==>> 822 3814 ==>> 879 3819 ==>> 978 3834 ==>> 982 3842 ==>> 854 3847 ==>> 892 3849 ==>> 908 3850 ==>> 120 3851 ==>> 121 3853 ==>> 123 3855 ==>> 131 3856 ==>> 139 3858 ==>> 152 3859 ==>> 975 3863 ==>> 842 3864 ==>> 930 3866 ==>> 940 3867 ==>> 953 3896 ==>> 119 3931 ==>> 153 3932 ==>> 731 3935 ==>> 154 3936 ==>> 158 3939 ==>> 159 3940 ==>> 719 3952 ==>> 160 3953 ==>> 162 3954 ==>> 163 3955 ==>> 166 3956 ==>> 167 3957 ==>> 168 3959 ==>> 169 3960 ==>> 172 3961 ==>> 830 3962 ==>> 886 3964 ==>> 973 3967 ==>> 977 3968 ==>> 173 3971 ==>> 174 3972 ==>> 175 3973 ==>> 176 3975 ==>> 612 3985 ==>> 976 3986 ==>> 178 3991 ==>> 179 4018 ==>> 334 4053 ==>> 180 4054 ==>> 181 4055 ==>> 183 4057 ==>> 186 4061 ==>> 285 4072 ==>> 193 4073 ==>> 197 4075 ==>> 206 4076 ==>> 211 4079 ==>> 212 4082 ==>> 213 4092 ==>> 214 4093 ==>> 222 4094 ==>> 226 4095 ==>> 229 4097 ==>> 270 4100 ==>> 10 4103 ==>> 272 4104 ==>> 280 4105 ==>> 281 4107 ==>> 286 4111 ==>> 448 4140 ==>> 850 4174 ==>> 339 4178 ==>> 289 4183 ==>> 699 4194 ==>> 292 4195 ==>> 293 4197 ==>> 309 4198 ==>> 310 4199 ==>> 311 4200 ==>> 312 4201 ==>> 318 4202 ==>> 320 4203 ==>> 321 4204 ==>> 322 4205 ==>> 323 4206 ==>> 329 4207 ==>> 330 4208 ==>> 333 4212 ==>> 340 4213 ==>> 344 4214 ==>> 346 4215 ==>> 351 4216 ==>> 358 4217 ==>> 361 4219 ==>> 597 4233 ==>> 362 4235 ==>> 419 4262 ==>> 933 4296 ==>> 357 4297 ==>> 422 4299 ==>> 365 4300 ==>> 426 4301 ==>> 427 4305 ==>> 430 4307 ==>> 432 4308 ==>> 431 4312 ==>> 433 4313 ==>> 202 4315 ==>> 434 4317 ==>> 436 4318 ==>> 437 4319 ==>> 446 4320 ==>> 447 4322 ==>> 449 4323 ==>> 450 4324 ==>> 452 4325 ==>> 453 4326 ==>> 454 4328 ==>> 455 4329 ==>> 456 4330 ==>> 457 4333 ==>> 459 4334 ==>> 460 4335 ==>> 461 4336 ==>> 462 4337 ==>> 463 4338 ==>> 464 4339 ==>> 465 4342 ==>> 467 4343 ==>> 469 4344 ==>> 470 4345 ==>> 472 4346 ==>> 473 4348 ==>> 242 4357 ==>> 474 4384 ==>> 958 4418 ==>> 476 4419 ==>> 478 4421 ==>> 479 4422 ==>> 482 4424 ==>> 483 4427 ==>> 296 4442 ==>> 486 4443 ==>> 491 4444 ==>> 492 4446 ==>> 493 4447 ==>> 494 4448 ==>> 495 4451 ==>> 497 4455 ==>> 498 4456 ==>> 499 4457 ==>> 500 4458 ==>> 501 4459 ==>> 504 4461 ==>> 505 4463 ==>> 506 4464 ==>> 507 4465 ==>> 508 4466 ==>> 509 4467 ==>> 510 4471 ==>> 512 4473 ==>> 466 4477 ==>> 593 4479 ==>> 522 4506 ==>> 223 4543 ==>> 525 4544 ==>> 527 4545 ==>> 530 4546 ==>> 532 4548 ==>> 136 4549 ==>> 535 4550 ==>> 536 4551 ==>> 537 4552 ==>> 538 4553 ==>> 539 4554 ==>> 543 4556 ==>> 544 4558 ==>> 548 4563 ==>> 271 4600 ==>> 552 4606 ==>> 555 4607 ==>> 556 4610 ==>> 557 4612 ==>> 561 4613 ==>> 562 4620 ==>> 251 4661 ==>> 563 4677 ==>> 564 4678 ==>> 655 4688 ==>> 565 4690 ==>> 566 4691 ==>> 567 4692 ==>> 797 4693 ==>> 570 4694 ==>> 571 4695 ==>> 573 4696 ==>> 574 4697 ==>> 575 4699 ==>> 579 4700 ==>> 580 4701 ==>> 581 4702 ==>> 584 4705 ==>> 129 4713 ==>> 666 4714 ==>> 586 4715 ==>> 587 4716 ==>> 684 4718 ==>> 588 4734 ==>> 589 4735 ==>> 590 4737 ==>> 591 4738 ==>> 592 4739 ==>> 595 4740 ==>> 596 4741 ==>> 599 4742 ==>> 600 4751 ==>> 601 4753 ==>> 603 4754 ==>> 604 4756 ==>> 605 4757 ==>> 607 4758 ==>> 614 4762 ==>> 615 4770 ==>> 616 4782 ==>> 617 4784 ==>> 618 4786 ==>> 619 4787 ==>> 620 4789 ==>> 738 4790 ==>> 621 4794 ==>> 622 4798 ==>> 625 4799 ==>> 626 4800 ==>> 806 4836 ==>> 627 4837 ==>> 130 4846 ==>> 628 4847 ==>> 629 4848 ==>> 630 4857 ==>> 631 4858 ==>> 632 4860 ==>> 633 4861 ==>> 634 4862 ==>> 637 4864 ==>> 638 4866 ==>> 639 4868 ==>> 415 4869 ==>> 640 4870 ==>> 860 4906 ==>> 745 4907 ==>> 641 4908 ==>> 642 4909 ==>> 643 4910 ==>> 780 4920 ==>> 644 4930 ==>> 824 4943 ==>> 645 4944 ==>> 657 4952 ==>> 646 4953 ==>> 647 4970 ==>> 648 4971 ==>> 653 4972 ==>> 654 4973 ==>> 658 4974 ==>> 661 4975 ==>> 662 4980 ==>> 891 4982 ==>> 663 4985 ==>> 664 4986 ==>> 665 4987 ==>> 667 4988 ==>> 676 4989 ==>> 20 4990 ==>> 677 4991 ==>> 679 4993 ==>> 686 4999 ==>> 518 5012 ==>> 687 5013 ==>> 689 5014 ==>> 695 5015 ==>> 704 5016 ==>> 707 5017 ==>> 708 5018 ==>> 710 5019 ==>> 714 5020 ==>> 716 5022 ==>> 718 5023 ==>> 720 5025 ==>> 721 5053 ==>> 725 5054 ==>> 741 5055 ==>> 742 5059 ==>> 749 5060 ==>> 750 5061 ==>> 752 5062 ==>> 753 5066 ==>> 754 5069 ==>> 862 5111 ==>> 755 5113 ==>> 756 5114 ==>> 766 5115 ==>> 767 5116 ==>> 769 5117 ==>> 770 5119 ==>> 773 5121 ==>> 776 5126 ==>> 80 5173 ==>> 777 5174 ==>> 781 5175 ==>> 782 5177 ==>> 783 5179 ==>> 786 5180 ==>> 788 5181 ==>> 789 5182 ==>> 791 5186 ==>> 792 5191 ==>> 793 5192 ==>> 317 5221 ==>> 794 5222 ==>> 798 5224 ==>> 802 5242 ==>> 804 5244 ==>> 805 5249 ==>> 810 5251 ==>> 812 5253 ==>> 813 5254 ==>> 815 5259 ==>> 816 5261 ==>> 827 5262 ==>> 828 5263 ==>> 829 5264 ==>> 832 5265 ==>> 836 5268 ==>> 347 5315 ==>> 425 5316 ==>> 837 5317 ==>> 838 5319 ==>> 841 5321 ==>> 22 5322 ==>> 843 5323 ==>> 846 5324 ==>> 847 5328 ==>> 848 5331 ==>> 257 5373 ==>> 722 5378 ==>> 851 5379 ==>> 856 5380 ==>> 859 5382 ==>> 861 5383 ==>> 866 5385 ==>> 867 5386 ==>> 585 5387 ==>> 760 5389 ==>> 869 5390 ==>> 853 5391 ==>> 521 5406 ==>> 870 5407 ==>> 872 5408 ==>> 874 5409 ==>> 876 5410 ==>> 17 5411 ==>> 881 5412 ==>> 215 5421 ==>> 882 5422 ==>> 889 5423 ==>> 893 5425 ==>> 894 5430 ==>> 896 5431 ==>> 897 5432 ==>> 898 5434 ==>> 899 5435 ==>> 795 5437 ==>> 900 5438 ==>> 901 5441 ==>> 903 5442 ==>> 904 5445 ==>> 905 5446 ==>> 906 5448 ==>> 910 5449 ==>> 911 5450 ==>> 912 5451 ==>> 913 5452 ==>> 917 5457 ==>> 925 5458 ==>> 926 5460 ==>> 927 5462 ==>> 929 5467 ==>> 931 5469 ==>> 4 5471 ==>> 932 5472 ==>> 938 5474 ==>> 939 5475 ==>> 941 5476 ==>> 942 5478 ==>> 945 5480 ==>> 946 5500 ==>> 949 5509 ==>> 955 5512 ==>> 956 5513 ==>> 23 5518 ==>> 957 5519 ==>> 961 5521 ==>> 962 5526 ==>> 964 5527 ==>> 966 5531 ==>> 967 5534 ==>> 970 5535 ==>> 971 5537 ==>> 979 5538 ==>> 984 5541 ==>> 985 5544 ==>> 988 5545 ==>> 989 5561 ==>> 990 5562 ==>> 991 5565 ==>> 992 5570 ==>> 993 5571 ==>> 994 5574 ==>> 995 5575 ==>> 996 5577 ==>> 997 5578 ==>> 998 5579 ==>> 999 5582 ==>> 1000 5583 ==>> 1001 5599 ==>> 1002 5600 ==>> 1003 5601 ==>> 1004 5603 ==>> 1005 5604 ==>> 1006 5605 ==>> 125 5618 ==>> 1007 5619 ==>> 1008 5624 ==>> 1009 5625 ==>> 1010 5626 ==>> 1011 5627 ==>> 1012 5628 ==>> 1013 5629 ==>> 1014 5632 ==>> 1015 5633 ==>> 1016 5634 ==>> 1017 5635 ==>> 1018 5637 ==>> 1019 5638 ==>> 1020 5640 ==>> 1021 5644 ==>> 1022 5645 ==>> 1023 5646 ==>> 1024 5647 ==>> 1025 5649 ==>> 1026 5655 ==>> 1027 5662 ==>> 1028 5663 ==>> 1029 5664 ==>> 1030 5666 ==>> 1031 5672 ==>> 1032 5674 ==>> 1033 5675 ==>> 1034 5677 ==>> 1035 5678 ==>> 1036 5680 ==>> 1037 5682 ==>> 1038 5683 ==>> 1039 5684 ==>> 1040 5688 ==>> 1041 5689 ==>> 1042 5690 ==>> 1043 5691 ==>> 1044 5692 ==>> 1045 5694 ==>> 1046 5701 ==>> 1047 5702 ==>> 1048 5703 ==>> 1049 5704 ==>> 1050 5705 ==>> 1051 5706 ==>> 1052 5707 ==>> 1053 5710 ==>> 1054 5711 ==>> 234 5719 ==>> 1055 5721 ==>> 1056 5723 ==>> 1057 5724 ==>> 237 5733 ==>> 1058 5736 ==>> 1059 5737 ==>> 1060 5751 ==>> 1061 5752 ==>> 1062 5753 ==>> 1063 5754 ==>> 1064 5755 ==>> 1065 5756 ==>> 1066 5757 ==>> 1067 5758 ==>> 1068 5759 ==>> 523 5806 ==>> 1069 5807 ==>> 1070 5808 ==>> 1071 5810 ==>> 1072 5819 ==>> 1073 5822 ==>> 224 5869 ==>> 1074 5870 ==>> 1075 5871 ==>> 1076 5875 ==>> 1077 5877 ==>> 1078 5878 ==>> 1079 5882 ==>> 1080 5886 ==>> 1081 5887 ==>> 1082 5888 ==>> 1083 5889 ==>> 1084 5890 ==>> 1085 5891 ==>> 1086 5892 ==>> 1087 5893 ==>> 1088 5894 ==>> 1089 5895 ==>> 1090 5896 ==>> 1091 5897 ==>> 1092 5899 ==>> 274 5907 ==>> 275 5916 ==>> 1093 5918 ==>> 328 5966 ==>> 1094 5967 ==>> 1095 5969 ==>> 1096 5971 ==>> 1097 5972 ==>> 1098 5973 ==>> 1099 5974 ==>> 1100 5981 ==>> 1101 5982 ==>> 1102 5983 ==>> 1103 5984 ==>> 1104 5985 ==>> 1105 5986 ==>> 1106 5987 ==>> 1107 5988 ==>> 1108 5992 ==>> 1109 5993 ==>> 445 5994 ==>> 1110 5995 ==>> 1111 5996 ==>> 1112 6000 ==>> 283 6008 ==>> 1113 6009 ==>> 1114 6010 ==>> 1115 6012 ==>> 1116 6014 ==>> 331 6061 ==>> 1117 6062 ==>> 1118 6063 ==>> 1119 6065 ==>> 1120 6067 ==>> 1121 6068 ==>> 1122 6069 ==>> 1123 6070 ==>> 1124 6074 ==>> 1125 6077 ==>> 1126 6078 ==>> 1127 6079 ==>> 1128 6080 ==>> 1129 6081 ==>> 1130 6082 ==>> 1131 6083 ==>> 1132 6084 ==>> 1133 6085 ==>> 1134 6089 ==>> 1135 6093 ==>> 668 6094 ==>> 1136 6095 ==>> 421 6103 ==>> 1137 6104 ==>> 1138 6105 ==>> 1139 6108 ==>> 1140 6110 ==>> 568 6157 ==>> 1141 6158 ==>> 1142 6159 ==>> 1143 6161 ==>> 1144 6163 ==>> 1145 6164 ==>> 1146 6165 ==>> 1147 6166 ==>> 1148 6170 ==>> 1149 6174 ==>> 1150 6181 ==>> 1151 6182 ==>> 1152 6183 ==>> 1153 6184 ==>> 1154 6185 ==>> 1155 6186 ==>> 1156 6187 ==>> 1157 6190 ==>> 1158 6191 ==>> 423 6199 ==>> 1159 6200 ==>> 1160 6201 ==>> 1161 6204 ==>> 1162 6206 ==>> 569 6253 ==>> 1163 6254 ==>> 1164 6255 ==>> 1165 6257 ==>> 1166 6259 ==>> 1167 6260 ==>> 1168 6261 ==>> 1169 6262 ==>> 1170 6266 ==>> 1171 6270 ==>> 1172 6271 ==>> 1173 6272 ==>> 1174 6274 ==>> 1175 6281 ==>> 1176 6282 ==>> 1177 6284 ==>> 1178 6285 ==>> 1179 6286 ==>> 1180 6287 ==>> 1181 6290 ==>> 703 6298 ==>> 1182 6300 ==>> 1183 6302 ==>> 651 6350 ==>> 1184 6351 ==>> 1185 6353 ==>> 1186 6355 ==>> 1187 6356 ==>> 1188 6357 ==>> 1189 6358 ==>> 1190 6362 ==>> 1191 6366 ==>> 1192 6367 ==>> 1193 6368 ==>> 1194 6369 ==>> 1195 6370 ==>> 1196 6371 ==>> 1197 6372 ==>> 1198 6373 ==>> 1199 6374 ==>> 1200 6375 ==>> 1201 6376 ==>> 1202 6377 ==>> 1203 6378 ==>> 1204 6379 ==>> 1205 6384 ==>> 1206 6385 ==>> 1207 6386 ==>> 1208 6387 ==>> 1209 6388 ==>> 1210 6389 ==>> 1211 6390 ==>> 1212 6391 ==>> 1213 6392 ==>> 1214 6393 ==>> 1215 6394 ==>> 1216 6396 ==>> 1217 6398 ==>> 656 6446 ==>> 1218 6447 ==>> 1219 6449 ==>> 1220 6451 ==>> 1221 6452 ==>> 1222 6453 ==>> 1223 6454 ==>> 1224 6458 ==>> 1225 6461 ==>> 1226 6462 ==>> 1227 6463 ==>> 1228 6464 ==>> 1229 6465 ==>> 1230 6466 ==>> 1231 6467 ==>> 1232 6468 ==>> 1233 6469 ==>> 1234 6470 ==>> 1235 6471 ==>> 1236 6472 ==>> 1237 6473 ==>> 1238 6474 ==>> 1239 6475 ==>> 1240 6476 ==>> 1241 6477 ==>> 1242 6494 ==>> 678 6590 ==>> 680 6686 ==>> 688 6782 ==>> 690 6878 ==>> 694 6974 ==>> 748 7070 ==>> 751 7166 ==>> 768 7262 ==>> 771 7325 ==>> 477 7337 ==>> 481 7358 ==>> 772 7421 ==>> 801 7518 ==>> 803 7614 ==>> 808 7710 ==>> 809 7806 ==>> 811 7902 ==>> 817 7998 ==>> 844 8094 ==>> 845 8190 ==>> 857 8286 ==>> 858 8382 ==>> 873 8478 ==>> 909 8541 ==>> 918 8638 ==>> 954 8701 ==>> 972 8793 ==>> 13 8848 ==>> 733 8856 ==>> 49 8924 ==>> 834 8946 ==>> 98 9028 ==>> 326 9040 ==>> 107 9083 ==>> 337 9225 ==>> 759 9288 ==>> 934 9334 ==>> 297 9358 ==>> 141 9430 ==>> 974 9500 ==>> 701 9538 ==>> 3 9621 ==>> 79 9705 ==>> 96 9768 ==>> 115 9831 ==>> 210 9894 ==>> 228 9957 ==>> 238 10020 ==>> 239 10083 ==>> 266 10146 ==>> 269 10208 ==>> 319 10299 ==>> 325 10362 ==>> 335 10425 ==>> 336 10488 ==>> 338 10551 ==>> 393 10614 ==>> 413 10677 ==>> 451 10730 ==>> 6 10740 ==>> 490 10807 ==>> 524 10872 ==>> 740 10961 ==>> 572 11024 ==>> 683 11087 ==>> 693 11150 ==>> 746 11213 ==>> 935 11276 ==>> 936 11339 ==>> 963 11386 ==>> 207 11402 ==>> 907 11486 ==>> 598 11498 ==>> 610 11529 ==>> 818 11561 ==>> 441 11603 ==>> 823 11679 ==>> 784 11759 ==>> 785 11800 ==>> 307 11824 ==>> 652 11894 ==>> 14 11897 ==>> 182 11991 ==>> 475 12003 ==>> 559 12085 ==>> 267 12144 ==>> 762 12197 ==>> 394 12255 ==>> 414 12296 ==>> 134 12321 ==>> 324 12393 ==>> 577 12469 ==>> 268 12544 ==>> 391 12597 ==>> 395 12638 ==>> 545 12650 ==>> 254 12735 ==>> 147 12811 ==>> 264 12886 ==>> 392 12937 ==>> 396 12988 ==>> 389 13035 ==>> 397 13076 ==>> 540 13082 ==>> 262 13133 ==>> 142 13167 ==>> 15 13168 ==>> 45 13264 ==>> 69 13340 ==>> 263 13388 ==>> 261 13467 ==>> 390 13508 ==>> 549 13513 ==>> 398 13602 ==>> 728 13604 ==>> 487 13619 ==>> 359 13649 ==>> 143 13693 ==>> 149 13792 ==>> 184 13866 ==>> 387 13914 ==>> 388 13959 ==>> 399 14000 ==>> 735 14004 ==>> 400 14097 ==>> 291 14173 ==>> 258 14214 ==>> 259 14255 ==>> 260 14296 ==>> 380 14337 ==>> 381 14378 ==>> 382 14419 ==>> 383 14460 ==>> 401 14501 ==>> 402 14542 ==>> 403 14583 ==>> 404 14624 ==>> 252 14664 ==>> 253 14704 ==>> 384 14744 ==>> 385 14784 ==>> 386 14824 ==>> 405 14864 ==>> 406 14904 ==>> 407 14944 ==>> 983 14979 ==>> 18 14987 ==>> 255 15069 ==>> 880 15129 ==>> 516 15151 ==>> 375 15201 ==>> 350 15224 ==>> 302 15278 ==>> 376 15317 ==>> 408 15356 ==>> 409 15395 ==>> 673 15396 ==>> 208 15434 ==>> 187 15452 ==>> 256 15538 ==>> 209 15576 ==>> 244 15621 ==>> 245 15688 ==>> 246 15726 ==>> 247 15764 ==>> 248 15802 ==>> 249 15840 ==>> 250 15878 ==>> 371 15916 ==>> 372 15954 ==>> 373 15992 ==>> 374 16030 ==>> 377 16068 ==>> 378 16106 ==>> 379 16144 ==>> 410 16182 ==>> 411 16220 ==>> 412 16258 ==>> 877 16296 ==>> 442 16297 ==>> 922 16338 ==>> 157 16353 ==>> 416 16386 ==>> 533 16443 ==>> 189 16478 ==>> 16 16493 ==>> 724 16587 ==>> 825 16668 ==>> 969 16722 ==>> 514 16735 ==>> 923 16803 ==>> 669 16812 ==>> 558 16824 ==>> 5 16919 ==>> 75 16946 ==>> 864 16950 ==>> 578 16986 ==>> 582 17054 ==>> 276 17086 ==>> 602 17121 ==>> 513 17141 ==>> 192 17154 ==>> 204 17182 ==>> 519 17253 ==>> 443 17280 ==>> 951 17303 ==>> 952 17334 ==>> 914 17353 ==>> 150 17379 ==>> 151 17460 ==>> 155 17483 ==>> 190 17553 ==>> 534 17565 ==>> 670 17587 ==>> 884 17615 ==>> 885 17637 ==>> 352 17666 ==>> 608 17715 ==>> 356 17743 ==>> 360 17802 ==>> 203 17812 ==>> 364 17825 ==>> 420 17838 ==>> 424 17897 ==>> 355 17907 ==>> 438 17920 ==>> 496 17933 ==>> 542 17992 ==>> 739 18002 ==>> 671 18015 ==>> 712 18028 ==>> 713 18096 ==>> 727 18109 ==>> 863 18122 ==>> 888 18146 ==>> 243 18166 ==>> 78 18192 ==>> 734 18203 ==>> 279 18216 ==>> 511 18243 ==>> 294 18253 ==>> 659 18314 ==>> 717 18329 ==>> 820