IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 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 Mon Oct 4 09:57:22 2021 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 Mon Oct 4 09:57:22 2021 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 > ::= GREATER -> ::= ARROW -= ::= MINUS_EQUAL ( ::= LPAREN -- ::= MINUS_MINUS ^= ::= XOR_EQUAL == ::= EQUAL_EQUAL - ::= MINUS <<= ::= LEFT_SHIFT_EQUAL ^ ::= XOR = ::= EQUAL != ::= NOT_EQUAL <= ::= LESS_EQUAL << ::= LEFT_SHIFT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 4 , ::= COMMA &= ::= AND_EQUAL ! ::= NOT ~ ::= TWIDDLE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 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 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 yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral 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 $eof $error IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 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 ::= REMAINDER Expression 16 Goal ::= REMAINDER ArrayInitializer 17 Goal ::= TWIDDLE BlockStatementsopt 18 Goal ::= LBRACE BlockStatementopt 19 Goal ::= OR_OR MemberValue 20 Goal ::= QUESTION AnnotationTypeMemberDeclaration 21 Goal ::= ARROW ParenthesizedLambdaParameterList 22 Goal ::= LPAREN ParenthesizedCastNameAndBounds 23 Goal ::= LESS ReferenceExpressionTypeArgumentsAndTrunk 24 Goal ::= AT TypeAnnotations 25 Literal -> IntegerLiteral 26 Literal -> LongLiteral 27 Literal -> FloatingPointLiteral 28 Literal -> DoubleLiteral 29 Literal -> CharacterLiteral 30 Literal -> StringLiteral 31 Literal -> null 32 Literal -> BooleanLiteral 33 BooleanLiteral -> true 34 BooleanLiteral -> false 35 Type ::= PrimitiveType 36 Type -> ReferenceType 37 PrimitiveType ::= TypeAnnotationsopt NumericType 38 NumericType -> IntegralType 39 NumericType -> FloatingPointType 40 PrimitiveType ::= TypeAnnotationsopt boolean 41 PrimitiveType ::= TypeAnnotationsopt void 42 IntegralType -> byte 43 IntegralType -> short 44 IntegralType -> int 45 IntegralType -> long 46 IntegralType -> char 47 FloatingPointType -> float IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 7 48 FloatingPointType -> double 49 ReferenceType ::= ClassOrInterfaceType 50 ReferenceType -> ArrayType 51 ClassOrInterfaceType -> ClassOrInterface 52 ClassOrInterfaceType -> GenericType 53 ClassOrInterface ::= Name 54 ClassOrInterface ::= GenericType DOT Name 55 GenericType ::= ClassOrInterface TypeArguments 56 GenericType ::= ClassOrInterface LESS GREATER 57 ArrayTypeWithTypeArgumentsName ::= GenericType DOT Name 58 ArrayType ::= PrimitiveType Dims 59 ArrayType ::= Name Dims 60 ArrayType ::= ArrayTypeWithTypeArgumentsName Dims 61 ArrayType ::= GenericType Dims 62 ClassType -> ClassOrInterfaceType 63 Name ::= SimpleName 64 Name ::= TypeAnnotations SimpleName 65 Name -> QualifiedName 66 SimpleName -> Identifier 67 UnannotatableName -> SimpleName 68 UnannotatableName ::= UnannotatableName DOT SimpleName 69 QualifiedName ::= Name DOT SimpleName 70 QualifiedName ::= Name DOT TypeAnnotations SimpleName 71 TypeAnnotationsopt ::= 72 TypeAnnotationsopt -> TypeAnnotations 73 TypeAnnotations ::= TypeAnnotations0 74 TypeAnnotations0 -> TypeAnnotation 75 TypeAnnotations0 ::= TypeAnnotations0 TypeAnnotation 76 TypeAnnotation ::= NormalTypeAnnotation 77 TypeAnnotation ::= MarkerTypeAnnotation 78 TypeAnnotation ::= SingleMemberTypeAnnotation 79 TypeAnnotationName ::= AT308 UnannotatableName 80 NormalTypeAnnotation ::= TypeAnnotationName LPAREN MemberValuePairsopt RPAREN 81 MarkerTypeAnnotation ::= TypeAnnotationName 82 SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN 83 RejectTypeAnnotations ::= 84 PushZeroTypeAnnotations ::= 85 VariableDeclaratorIdOrThis ::= this 86 VariableDeclaratorIdOrThis ::= UnannotatableName DOT this 87 VariableDeclaratorIdOrThis ::= VariableDeclaratorId 88 CompilationUnit ::= EnterCompilationUnit InternalCompilationUnit 89 InternalCompilationUnit ::= PackageDeclaration 90 InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports 91 InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports TypeDeclarations 92 InternalCompilationUnit ::= PackageDeclaration TypeDeclarations 93 InternalCompilationUnit ::= ImportDeclarations ReduceImports 94 InternalCompilationUnit ::= TypeDeclarations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 8 95 InternalCompilationUnit ::= ImportDeclarations ReduceImports TypeDeclarations 96 InternalCompilationUnit ::= 97 InternalCompilationUnit ::= ImportDeclarations ReduceImports ModuleDeclaration 98 InternalCompilationUnit ::= ModuleDeclaration 99 ModuleDeclaration ::= ModuleHeader ModuleBody 100 ModuleHeader ::= Modifiersopt ModuleModifieropt module UnannotatableName 101 ModuleModifieropt ::= 102 ModuleModifieropt ::= ModuleModifier 103 ModuleModifier -> open 104 ModuleBody ::= LBRACE ModuleStatementsOpt RBRACE 105 ModuleStatementsOpt ::= 106 ModuleStatementsOpt -> ModuleStatements 107 ModuleStatements ::= ModuleStatement 108 ModuleStatements ::= ModuleStatements ModuleStatement 109 ModuleStatement ::= RequiresStatement 110 ModuleStatement ::= ExportsStatement 111 ModuleStatement ::= OpensStatement 112 ModuleStatement ::= UsesStatement 113 ModuleStatement ::= ProvidesStatement 114 RequiresStatement ::= SingleRequiresModuleName SEMICOLON 115 SingleRequiresModuleName ::= requires RequiresModifiersopt UnannotatableName 116 RequiresModifiersopt ::= RequiresModifiers 117 RequiresModifiersopt ::= 118 RequiresModifiers -> RequiresModifier 119 RequiresModifiers ::= RequiresModifiers RequiresModifier 120 RequiresModifier -> transitive 121 RequiresModifier -> static 122 ExportsStatement ::= ExportsHeader TargetModuleListopt SEMICOLON 123 ExportsHeader ::= exports SinglePkgName 124 TargetModuleListopt ::= 125 TargetModuleListopt ::= to TargetModuleNameList 126 TargetModuleName ::= UnannotatableName 127 TargetModuleNameList -> TargetModuleName 128 TargetModuleNameList ::= TargetModuleNameList COMMA TargetModuleName 129 SinglePkgName ::= UnannotatableName 130 OpensStatement ::= OpensHeader TargetModuleListopt SEMICOLON 131 OpensHeader ::= opens SinglePkgName 132 UsesStatement ::= UsesHeader SEMICOLON 133 UsesHeader ::= uses Name 134 ProvidesStatement ::= ProvidesInterface WithClause SEMICOLON 135 ProvidesInterface ::= provides Name 136 ServiceImplName ::= Name 137 ServiceImplNameList -> ServiceImplName 138 ServiceImplNameList ::= ServiceImplNameList COMMA ServiceImplName 139 WithClause ::= with ServiceImplNameList 140 ReduceImports ::= 141 EnterCompilationUnit ::= 142 Header -> ImportDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 9 143 Header -> PackageDeclaration 144 Header -> ClassHeader 145 Header -> InterfaceHeader 146 Header -> EnumHeader 147 Header -> AnnotationTypeDeclarationHeader 148 Header -> StaticInitializer 149 Header -> RecoveryMethodHeader 150 Header -> FieldDeclaration 151 Header -> AllocationHeader 152 Header -> ArrayCreationHeader 153 Header -> ModuleHeader 154 Header -> RequiresStatement 155 Header -> ExportsStatement 156 Header -> UsesStatement 157 Header -> ProvidesStatement 158 Header -> OpensStatement 159 Header1 -> Header 160 Header1 -> ConstructorHeader 161 Header2 -> Header 162 Header2 -> EnumConstantHeader 163 CatchHeader ::= catch LPAREN CatchFormalParameter RPAREN LBRACE 164 ImportDeclarations -> ImportDeclaration 165 ImportDeclarations ::= ImportDeclarations ImportDeclaration 166 TypeDeclarations -> TypeDeclaration 167 TypeDeclarations ::= TypeDeclarations TypeDeclaration 168 PackageDeclaration ::= PackageDeclarationName SEMICOLON 169 PackageDeclarationName ::= Modifiers package PushRealModifiers Name RejectTypeAnnotations 170 PackageDeclarationName ::= PackageComment package Name RejectTypeAnnotations 171 PackageComment ::= 172 ImportDeclaration -> SingleTypeImportDeclaration 173 ImportDeclaration -> TypeImportOnDemandDeclaration 174 ImportDeclaration -> SingleStaticImportDeclaration 175 ImportDeclaration -> StaticImportOnDemandDeclaration 176 SingleTypeImportDeclaration ::= SingleTypeImportDeclarationName SEMICOLON 177 SingleTypeImportDeclarationName ::= import Name RejectTypeAnnotations 178 TypeImportOnDemandDeclaration ::= TypeImportOnDemandDeclarationName SEMICOLON 179 TypeImportOnDemandDeclarationName ::= import Name DOT RejectTypeAnnotations MULTIPLY 180 TypeDeclaration -> ClassDeclaration 181 TypeDeclaration -> InterfaceDeclaration 182 TypeDeclaration ::= SEMICOLON 183 TypeDeclaration -> EnumDeclaration 184 TypeDeclaration -> AnnotationTypeDeclaration 185 Modifiers -> Modifier 186 Modifiers ::= Modifiers Modifier 187 Modifier -> public 188 Modifier -> protected 189 Modifier -> private IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 10 190 Modifier -> static 191 Modifier -> abstract 192 Modifier -> final 193 Modifier -> native 194 Modifier -> synchronized 195 Modifier -> transient 196 Modifier -> volatile 197 Modifier -> strictfp 198 Modifier ::= Annotation 199 ClassDeclaration ::= ClassHeader ClassBody 200 ClassHeader ::= ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 201 ClassHeaderName ::= ClassHeaderName1 TypeParameters 202 ClassHeaderName -> ClassHeaderName1 203 ClassHeaderName1 ::= Modifiersopt class Identifier 204 ClassHeaderExtends ::= extends ClassType 205 ClassHeaderImplements ::= implements InterfaceTypeList 206 InterfaceTypeList -> InterfaceType 207 InterfaceTypeList ::= InterfaceTypeList COMMA InterfaceType 208 InterfaceType ::= ClassOrInterfaceType 209 ClassBody ::= LBRACE ClassBodyDeclarationsopt RBRACE 210 ClassBodyDeclarations ::= ClassBodyDeclaration 211 ClassBodyDeclarations ::= ClassBodyDeclarations ClassBodyDeclaration 212 ClassBodyDeclaration -> ClassMemberDeclaration 213 ClassBodyDeclaration -> StaticInitializer 214 ClassBodyDeclaration -> ConstructorDeclaration 215 ClassBodyDeclaration ::= Diet NestedMethod CreateInitializer Block 216 Diet ::= 217 Initializer ::= Diet NestedMethod CreateInitializer Block 218 CreateInitializer ::= 219 ClassMemberDeclaration -> FieldDeclaration 220 ClassMemberDeclaration -> MethodDeclaration 221 ClassMemberDeclaration -> ClassDeclaration 222 ClassMemberDeclaration -> InterfaceDeclaration 223 ClassMemberDeclaration -> EnumDeclaration 224 ClassMemberDeclaration -> AnnotationTypeDeclaration 225 ClassMemberDeclaration ::= SEMICOLON 226 GenericMethodDeclaration -> MethodDeclaration 227 GenericMethodDeclaration -> ConstructorDeclaration 228 FieldDeclaration ::= Modifiersopt Type VariableDeclarators SEMICOLON 229 VariableDeclarators -> VariableDeclarator 230 VariableDeclarators ::= VariableDeclarators COMMA VariableDeclarator 231 VariableDeclarator ::= VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization 232 VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization 233 EnterVariable ::= 234 ExitVariableWithInitialization ::= 235 ExitVariableWithoutInitialization ::= 236 ForceNoDiet ::= IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 11 237 RestoreDiet ::= 238 VariableDeclaratorId ::= Identifier Dimsopt 239 VariableInitializer -> Expression 240 VariableInitializer -> ArrayInitializer 241 MethodDeclaration -> AbstractMethodDeclaration 242 MethodDeclaration ::= MethodHeader MethodBody 243 MethodDeclaration ::= DefaultMethodHeader MethodBody 244 AbstractMethodDeclaration ::= MethodHeader SEMICOLON 245 MethodHeader ::= MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt 246 DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt 247 MethodHeaderName ::= Modifiersopt TypeParameters Type Identifier LPAREN 248 MethodHeaderName ::= Modifiersopt Type Identifier LPAREN 249 DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier LPAREN 250 DefaultMethodHeaderName ::= ModifiersWithDefault Type Identifier LPAREN 251 ModifiersWithDefault ::= Modifiersopt default Modifiersopt 252 MethodHeaderRightParen ::= RPAREN 253 MethodHeaderExtendedDims ::= Dimsopt 254 MethodHeaderThrowsClause ::= throws ClassTypeList 255 ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt 256 ConstructorHeaderName ::= Modifiersopt TypeParameters Identifier LPAREN 257 ConstructorHeaderName ::= Modifiersopt Identifier LPAREN 258 FormalParameterList -> FormalParameter 259 FormalParameterList ::= FormalParameterList COMMA FormalParameter 260 FormalParameter ::= Modifiersopt Type VariableDeclaratorIdOrThis 261 FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis 262 FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis 263 CatchFormalParameter ::= Modifiersopt CatchType VariableDeclaratorId 264 CatchType ::= UnionType 265 UnionType ::= Type 266 UnionType ::= UnionType OR Type 267 ClassTypeList -> ClassTypeElt 268 ClassTypeList ::= ClassTypeList COMMA ClassTypeElt 269 ClassTypeElt ::= ClassType 270 MethodBody ::= NestedMethod LBRACE BlockStatementsopt RBRACE 271 NestedMethod ::= 272 StaticInitializer ::= StaticOnly Block 273 StaticOnly ::= static 274 ConstructorDeclaration ::= ConstructorHeader MethodBody 275 ConstructorDeclaration ::= ConstructorHeader SEMICOLON 276 ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt RPAREN SEMICOLON 277 ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 12 278 ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt RPAREN SEMICOLON 279 ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON 280 ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON 281 ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON 282 ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON 283 ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON 284 ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON 285 ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON 286 ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON 287 ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON 288 InterfaceDeclaration ::= InterfaceHeader InterfaceBody 289 InterfaceHeader ::= InterfaceHeaderName InterfaceHeaderExtendsopt 290 InterfaceHeaderName ::= InterfaceHeaderName1 TypeParameters 291 InterfaceHeaderName -> InterfaceHeaderName1 292 InterfaceHeaderName1 ::= Modifiersopt interface Identifier 293 InterfaceHeaderExtends ::= extends InterfaceTypeList 294 InterfaceBody ::= LBRACE InterfaceMemberDeclarationsopt RBRACE 295 InterfaceMemberDeclarations -> InterfaceMemberDeclaration 296 InterfaceMemberDeclarations ::= InterfaceMemberDeclarations InterfaceMemberDeclaration 297 InterfaceMemberDeclaration ::= SEMICOLON 298 InterfaceMemberDeclaration -> ConstantDeclaration 299 InterfaceMemberDeclaration ::= DefaultMethodHeader MethodBody 300 InterfaceMemberDeclaration ::= MethodHeader MethodBody 301 InterfaceMemberDeclaration ::= DefaultMethodHeader SEMICOLON 302 InvalidConstructorDeclaration ::= ConstructorHeader MethodBody 303 InvalidConstructorDeclaration ::= ConstructorHeader SEMICOLON 304 InvalidInitializer -> StaticInitializer 305 InvalidInitializer -> Initializer 306 InterfaceMemberDeclaration -> AbstractMethodDeclaration 307 InterfaceMemberDeclaration -> InvalidConstructorDeclaration 308 InterfaceMemberDeclaration -> InvalidInitializer 309 InterfaceMemberDeclaration -> ClassDeclaration 310 InterfaceMemberDeclaration -> InterfaceDeclaration 311 InterfaceMemberDeclaration -> EnumDeclaration 312 InterfaceMemberDeclaration -> AnnotationTypeDeclaration 313 ConstantDeclaration -> FieldDeclaration 314 PushLeftBrace ::= 315 ArrayInitializer ::= LBRACE PushLeftBrace ,opt RBRACE 316 ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers RBRACE 317 ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers COMMA IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 13 RBRACE 318 VariableInitializers ::= VariableInitializer 319 VariableInitializers ::= VariableInitializers COMMA VariableInitializer 320 Block ::= OpenBlock LBRACE BlockStatementsopt RBRACE 321 OpenBlock ::= 322 BlockStatements ::= BlockStatement 323 BlockStatements ::= BlockStatements BlockStatement 324 BlockStatementopt ::= BlockStatementopt0 325 BlockStatementopt0 ::= 326 BlockStatementopt0 -> BlockStatement 327 BlockStatement -> LocalVariableDeclarationStatement 328 BlockStatement -> Statement 329 BlockStatement -> ClassDeclaration 330 BlockStatement ::= InterfaceDeclaration 331 BlockStatement ::= AnnotationTypeDeclaration 332 BlockStatement ::= EnumDeclaration 333 LocalVariableDeclarationStatement ::= LocalVariableDeclaration SEMICOLON 334 LocalVariableDeclaration ::= Type PushModifiers VariableDeclarators 335 LocalVariableDeclaration ::= Modifiers Type PushRealModifiers VariableDeclarators 336 PushModifiers ::= 337 PushModifiersForHeader ::= 338 PushRealModifiers ::= 339 Statement -> StatementWithoutTrailingSubstatement 340 Statement -> LabeledStatement 341 Statement -> IfThenStatement 342 Statement -> IfThenElseStatement 343 Statement -> WhileStatement 344 Statement -> ForStatement 345 Statement -> EnhancedForStatement 346 StatementNoShortIf -> StatementWithoutTrailingSubstatement 347 StatementNoShortIf -> LabeledStatementNoShortIf 348 StatementNoShortIf -> IfThenElseStatementNoShortIf 349 StatementNoShortIf -> WhileStatementNoShortIf 350 StatementNoShortIf -> ForStatementNoShortIf 351 StatementNoShortIf -> EnhancedForStatementNoShortIf 352 StatementWithoutTrailingSubstatement -> AssertStatement 353 StatementWithoutTrailingSubstatement -> Block 354 StatementWithoutTrailingSubstatement -> EmptyStatement 355 StatementWithoutTrailingSubstatement -> ExpressionStatement 356 StatementWithoutTrailingSubstatement -> SwitchStatement 357 StatementWithoutTrailingSubstatement -> DoStatement 358 StatementWithoutTrailingSubstatement -> BreakStatement 359 StatementWithoutTrailingSubstatement -> ContinueStatement 360 StatementWithoutTrailingSubstatement -> ReturnStatement 361 StatementWithoutTrailingSubstatement -> SynchronizedStatement 362 StatementWithoutTrailingSubstatement -> ThrowStatement 363 StatementWithoutTrailingSubstatement -> TryStatement 364 StatementWithoutTrailingSubstatement -> TryStatementWithResources 365 StatementWithoutTrailingSubstatement -> YieldStatement 366 EmptyStatement ::= SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 14 367 LabeledStatement ::= Label COLON Statement 368 LabeledStatementNoShortIf ::= Label COLON StatementNoShortIf 369 Label ::= Identifier 370 ExpressionStatement ::= StatementExpression SEMICOLON 371 ExpressionStatement ::= ExplicitConstructorInvocation 372 StatementExpression ::= Assignment 373 StatementExpression ::= PreIncrementExpression 374 StatementExpression ::= PreDecrementExpression 375 StatementExpression ::= PostIncrementExpression 376 StatementExpression ::= PostDecrementExpression 377 StatementExpression ::= MethodInvocation 378 StatementExpression ::= ClassInstanceCreationExpression 379 IfThenStatement ::= if LPAREN Expression RPAREN Statement 380 IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf else Statement 381 IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf 382 SwitchStatement ::= switch LPAREN Expression RPAREN OpenBlock SwitchBlock 383 SwitchBlock ::= LBRACE RBRACE 384 SwitchBlock ::= LBRACE SwitchBlockStatements RBRACE 385 SwitchBlock ::= LBRACE SwitchLabels RBRACE 386 SwitchBlock ::= LBRACE SwitchBlockStatements SwitchLabels RBRACE 387 SwitchBlockStatements -> SwitchBlockStatement 388 SwitchBlockStatements ::= SwitchBlockStatements SwitchBlockStatement 389 SwitchBlockStatement -> SwitchLabeledRule 390 SwitchBlockStatement ::= SwitchLabels BlockStatements 391 SwitchLabels -> SwitchLabel 392 SwitchLabels ::= SwitchLabels SwitchLabel 393 SwitchLabel ::= SwitchLabelCaseLhs COLON 394 SwitchLabel ::= default COLON 395 UnaryExpressionNotPlusMinus -> SwitchExpression 396 UnaryExpressionNotPlusMinus_NotName -> SwitchExpression 397 SwitchExpression ::= switch LPAREN Expression RPAREN OpenBlock SwitchBlock 398 SwitchLabeledRule ::= SwitchLabeledExpression 399 SwitchLabeledRule ::= SwitchLabeledBlock 400 SwitchLabeledRule ::= SwitchLabeledThrowStatement 401 SwitchLabeledExpression ::= SwitchLabelExpr Expression SEMICOLON 402 SwitchLabeledBlock ::= SwitchLabelExpr Block 403 SwitchLabeledThrowStatement ::= SwitchLabelExpr ThrowExpression SEMICOLON 404 SwitchLabelExpr ::= default ARROW 405 SwitchLabelExpr ::= SwitchLabelCaseLhs BeginCaseExpr ARROW 406 SwitchLabelCaseLhs ::= case ConstantExpressions 407 WhileStatement ::= while LPAREN Expression RPAREN Statement 408 WhileStatementNoShortIf ::= while LPAREN Expression RPAREN StatementNoShortIf 409 DoStatement ::= do Statement while LPAREN Expression RPAREN SEMICOLON 410 ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement 411 ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 15 SEMICOLON ForUpdateopt RPAREN StatementNoShortIf 412 ForInit ::= StatementExpressionList 413 ForInit -> LocalVariableDeclaration 414 ForUpdate -> StatementExpressionList 415 StatementExpressionList -> StatementExpression 416 StatementExpressionList ::= StatementExpressionList COMMA StatementExpression 417 AssertStatement ::= assert Expression SEMICOLON 418 AssertStatement ::= assert Expression COLON Expression SEMICOLON 419 BreakStatement ::= break SEMICOLON 420 BreakStatement ::= break Expression SEMICOLON 421 ContinueStatement ::= continue SEMICOLON 422 ContinueStatement ::= continue Identifier SEMICOLON 423 ReturnStatement ::= return Expressionopt SEMICOLON 424 ThrowStatement ::= throw Expression SEMICOLON 425 ThrowExpression ::= throw Expression 426 SynchronizedStatement ::= OnlySynchronized LPAREN Expression RPAREN Block 427 OnlySynchronized ::= synchronized 428 TryStatement ::= try TryBlock Catches 429 TryStatement ::= try TryBlock Catchesopt Finally 430 TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt 431 TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt Finally 432 YieldStatement ::= yield Expression SEMICOLON 433 ResourceSpecification ::= LPAREN Resources ;opt RPAREN 434 ;opt ::= 435 ;opt ::= SEMICOLON 436 Resources ::= Resource 437 Resources ::= Resources TrailingSemiColon Resource 438 TrailingSemiColon ::= SEMICOLON 439 Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization 440 Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization 441 Resource ::= Name 442 Resource ::= FieldAccess 443 TryBlock ::= Block ExitTryBlock 444 ExitTryBlock ::= 445 Catches -> CatchClause 446 Catches ::= Catches CatchClause 447 CatchClause ::= catch LPAREN CatchFormalParameter RPAREN Block 448 Finally ::= finally Block 449 PushLPAREN ::= LPAREN 450 PushRPAREN ::= RPAREN 451 Primary -> PrimaryNoNewArray 452 Primary -> ArrayCreationWithArrayInitializer 453 Primary -> ArrayCreationWithoutArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 16 454 PrimaryNoNewArray -> Literal 455 PrimaryNoNewArray ::= this 456 PrimaryNoNewArray ::= PushLPAREN Expression_NotName PushRPAREN 457 PrimaryNoNewArray ::= PushLPAREN Name PushRPAREN 458 PrimaryNoNewArray -> ClassInstanceCreationExpression 459 PrimaryNoNewArray -> FieldAccess 460 PrimaryNoNewArray ::= Name DOT this 461 QualifiedSuperReceiver ::= Name DOT super 462 PrimaryNoNewArray ::= Name DOT class 463 PrimaryNoNewArray ::= Name Dims DOT class 464 PrimaryNoNewArray ::= PrimitiveType Dims DOT class 465 PrimaryNoNewArray ::= PrimitiveType DOT class 466 PrimaryNoNewArray -> MethodInvocation 467 PrimaryNoNewArray -> ArrayAccess 468 PrimaryNoNewArray -> LambdaExpression 469 PrimaryNoNewArray -> ReferenceExpression 470 ReferenceExpressionTypeArgumentsAndTrunk ::= ReferenceExpressionTypeArgumentsAndTrunk0 471 ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments Dimsopt 472 ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments DOT ClassOrInterfaceType Dimsopt 473 ReferenceExpression ::= PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew 474 ReferenceExpression ::= Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew 475 ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew 476 ReferenceExpression ::= Primary COLON_COLON NonWildTypeArgumentsopt Identifier 477 ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier 478 ReferenceExpression ::= super COLON_COLON NonWildTypeArgumentsopt Identifier 479 NonWildTypeArgumentsopt ::= 480 NonWildTypeArgumentsopt -> OnlyTypeArguments 481 IdentifierOrNew ::= Identifier 482 IdentifierOrNew ::= new 483 LambdaExpression ::= LambdaParameters ARROW LambdaBody 484 NestedLambda ::= 485 LambdaParameters ::= Identifier NestedLambda 486 LambdaParameters ::= BeginLambda NestedLambda LambdaParameterList 487 ParenthesizedLambdaParameterList ::= LambdaParameterList 488 LambdaParameterList ::= PushLPAREN FormalParameterListopt PushRPAREN 489 LambdaParameterList ::= PushLPAREN TypeElidedFormalParameterList PushRPAREN 490 TypeElidedFormalParameterList -> TypeElidedFormalParameter 491 TypeElidedFormalParameterList ::= TypeElidedFormalParameterList COMMA TypeElidedFormalParameter IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 17 492 TypeElidedFormalParameter ::= Modifiersopt Identifier 493 LambdaBody ::= ElidedLeftBraceAndReturn Expression ElidedSemicolonAndRightBrace 494 LambdaBody -> Block 495 ElidedLeftBraceAndReturn ::= 496 AllocationHeader ::= new ClassType LPAREN ArgumentListopt RPAREN 497 ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt 498 ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt 499 ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 500 ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 501 ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 502 ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 503 EnterInstanceCreationArgumentList ::= 504 ClassInstanceCreationExpressionName ::= Name DOT new 505 UnqualifiedClassBodyopt ::= 506 UnqualifiedClassBodyopt ::= UnqualifiedEnterAnonymousClassBody ClassBody 507 UnqualifiedEnterAnonymousClassBody ::= 508 QualifiedClassBodyopt ::= 509 QualifiedClassBodyopt ::= QualifiedEnterAnonymousClassBody ClassBody 510 QualifiedEnterAnonymousClassBody ::= 511 ArgumentList ::= Expression 512 ArgumentList ::= ArgumentList COMMA Expression 513 ArrayCreationHeader ::= new PrimitiveType DimWithOrWithOutExprs 514 ArrayCreationHeader ::= new ClassOrInterfaceType DimWithOrWithOutExprs 515 ArrayCreationWithoutArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs 516 ArrayCreationWithArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs ArrayInitializer 517 ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 18 DimWithOrWithOutExprs 518 ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer 519 DimWithOrWithOutExprs ::= DimWithOrWithOutExpr 520 DimWithOrWithOutExprs ::= DimWithOrWithOutExprs DimWithOrWithOutExpr 521 DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET Expression RBRACKET 522 DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET RBRACKET 523 Dims ::= DimsLoop 524 DimsLoop -> OneDimLoop 525 DimsLoop ::= DimsLoop OneDimLoop 526 OneDimLoop ::= LBRACKET RBRACKET 527 OneDimLoop ::= TypeAnnotations LBRACKET RBRACKET 528 FieldAccess ::= Primary DOT Identifier 529 FieldAccess ::= super DOT Identifier 530 FieldAccess ::= QualifiedSuperReceiver DOT Identifier 531 MethodInvocation ::= Name LPAREN ArgumentListopt RPAREN 532 MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 533 MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 534 MethodInvocation ::= Primary DOT Identifier LPAREN ArgumentListopt RPAREN 535 MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN 536 MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 537 MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 538 MethodInvocation ::= super DOT Identifier LPAREN ArgumentListopt RPAREN 539 ArrayAccess ::= Name LBRACKET Expression RBRACKET 540 ArrayAccess ::= PrimaryNoNewArray LBRACKET Expression RBRACKET 541 ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET 542 PostfixExpression -> Primary 543 PostfixExpression ::= Name 544 PostfixExpression -> PostIncrementExpression 545 PostfixExpression -> PostDecrementExpression 546 PostIncrementExpression ::= PostfixExpression PLUS_PLUS 547 PostDecrementExpression ::= PostfixExpression MINUS_MINUS 548 PushPosition ::= 549 UnaryExpression -> PreIncrementExpression 550 UnaryExpression -> PreDecrementExpression 551 UnaryExpression ::= PLUS PushPosition UnaryExpression 552 UnaryExpression ::= MINUS PushPosition UnaryExpression 553 UnaryExpression -> UnaryExpressionNotPlusMinus 554 PreIncrementExpression ::= PLUS_PLUS PushPosition UnaryExpression 555 PreDecrementExpression ::= MINUS_MINUS PushPosition UnaryExpression 556 UnaryExpressionNotPlusMinus -> PostfixExpression 557 UnaryExpressionNotPlusMinus ::= TWIDDLE PushPosition UnaryExpression 558 UnaryExpressionNotPlusMinus ::= NOT PushPosition UnaryExpression 559 UnaryExpressionNotPlusMinus -> CastExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 19 560 CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression 561 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus 562 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus 563 CastExpression ::= PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus 564 CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus 565 CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus 566 AdditionalBoundsListOpt ::= 567 AdditionalBoundsListOpt -> AdditionalBoundList 568 ParenthesizedCastNameAndBounds ::= LPAREN CastNameAndBounds RPAREN 569 CastNameAndBounds ::= Name AdditionalBoundList 570 OnlyTypeArgumentsForCastExpression ::= OnlyTypeArguments 571 InsideCastExpression ::= 572 InsideCastExpressionLL1 ::= 573 InsideCastExpressionLL1WithBounds ::= 574 InsideCastExpressionWithQualifiedGenerics ::= 575 MultiplicativeExpression -> UnaryExpression 576 MultiplicativeExpression ::= MultiplicativeExpression MULTIPLY UnaryExpression 577 MultiplicativeExpression ::= MultiplicativeExpression DIVIDE UnaryExpression 578 MultiplicativeExpression ::= MultiplicativeExpression REMAINDER UnaryExpression 579 AdditiveExpression -> MultiplicativeExpression 580 AdditiveExpression ::= AdditiveExpression PLUS MultiplicativeExpression 581 AdditiveExpression ::= AdditiveExpression MINUS MultiplicativeExpression 582 ShiftExpression -> AdditiveExpression 583 ShiftExpression ::= ShiftExpression LEFT_SHIFT AdditiveExpression 584 ShiftExpression ::= ShiftExpression RIGHT_SHIFT AdditiveExpression 585 ShiftExpression ::= ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression 586 RelationalExpression -> ShiftExpression 587 RelationalExpression ::= RelationalExpression LESS ShiftExpression 588 RelationalExpression ::= RelationalExpression GREATER ShiftExpression 589 RelationalExpression ::= RelationalExpression LESS_EQUAL ShiftExpression 590 RelationalExpression ::= RelationalExpression GREATER_EQUAL ShiftExpression 591 InstanceofExpression -> RelationalExpression 592 InstanceofExpression ::= InstanceofExpression instanceof ReferenceType 593 EqualityExpression -> InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 20 594 EqualityExpression ::= EqualityExpression EQUAL_EQUAL InstanceofExpression 595 EqualityExpression ::= EqualityExpression NOT_EQUAL InstanceofExpression 596 AndExpression -> EqualityExpression 597 AndExpression ::= AndExpression AND EqualityExpression 598 ExclusiveOrExpression -> AndExpression 599 ExclusiveOrExpression ::= ExclusiveOrExpression XOR AndExpression 600 InclusiveOrExpression -> ExclusiveOrExpression 601 InclusiveOrExpression ::= InclusiveOrExpression OR ExclusiveOrExpression 602 ConditionalAndExpression -> InclusiveOrExpression 603 ConditionalAndExpression ::= ConditionalAndExpression AND_AND InclusiveOrExpression 604 ConditionalOrExpression -> ConditionalAndExpression 605 ConditionalOrExpression ::= ConditionalOrExpression OR_OR ConditionalAndExpression 606 ConditionalExpression -> ConditionalOrExpression 607 ConditionalExpression ::= ConditionalOrExpression QUESTION Expression COLON ConditionalExpression 608 AssignmentExpression -> ConditionalExpression 609 AssignmentExpression -> Assignment 610 Assignment ::= PostfixExpression AssignmentOperator AssignmentExpression 611 InvalidArrayInitializerAssignement ::= PostfixExpression AssignmentOperator ArrayInitializer 612 Assignment ::= InvalidArrayInitializerAssignement 613 AssignmentOperator ::= EQUAL 614 AssignmentOperator ::= MULTIPLY_EQUAL 615 AssignmentOperator ::= DIVIDE_EQUAL 616 AssignmentOperator ::= REMAINDER_EQUAL 617 AssignmentOperator ::= PLUS_EQUAL 618 AssignmentOperator ::= MINUS_EQUAL 619 AssignmentOperator ::= LEFT_SHIFT_EQUAL 620 AssignmentOperator ::= RIGHT_SHIFT_EQUAL 621 AssignmentOperator ::= UNSIGNED_RIGHT_SHIFT_EQUAL 622 AssignmentOperator ::= AND_EQUAL 623 AssignmentOperator ::= XOR_EQUAL 624 AssignmentOperator ::= OR_EQUAL 625 Expression ::= AssignmentExpression 626 ClassHeaderExtendsopt ::= 627 ClassHeaderExtendsopt -> ClassHeaderExtends 628 Expressionopt ::= 629 Expressionopt -> Expression 630 ConstantExpressions -> Expression 631 ConstantExpressions ::= ConstantExpressions COMMA Expression 632 ConstantExpression -> Expression 633 ,opt ::= 634 ,opt -> COMMA 635 ClassBodyDeclarationsopt ::= 636 ClassBodyDeclarationsopt ::= NestedType ClassBodyDeclarations 637 Modifiersopt ::= 638 Modifiersopt ::= Modifiers 639 BlockStatementsopt ::= IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 21 640 BlockStatementsopt -> BlockStatements 641 Dimsopt ::= 642 Dimsopt -> Dims 643 ArgumentListopt ::= 644 ArgumentListopt -> ArgumentList 645 MethodHeaderThrowsClauseopt ::= 646 MethodHeaderThrowsClauseopt -> MethodHeaderThrowsClause 647 FormalParameterListopt ::= 648 FormalParameterListopt -> FormalParameterList 649 ClassHeaderImplementsopt ::= 650 ClassHeaderImplementsopt -> ClassHeaderImplements 651 InterfaceMemberDeclarationsopt ::= 652 InterfaceMemberDeclarationsopt ::= NestedType InterfaceMemberDeclarations 653 NestedType ::= 654 ForInitopt ::= 655 ForInitopt -> ForInit 656 ForUpdateopt ::= 657 ForUpdateopt -> ForUpdate 658 InterfaceHeaderExtendsopt ::= 659 InterfaceHeaderExtendsopt -> InterfaceHeaderExtends 660 Catchesopt ::= 661 Catchesopt -> Catches 662 EnumDeclaration ::= EnumHeader EnumBody 663 EnumHeader ::= EnumHeaderName ClassHeaderImplementsopt 664 EnumHeaderName ::= Modifiersopt enum Identifier 665 EnumHeaderName ::= Modifiersopt enum Identifier TypeParameters 666 EnumBody ::= LBRACE EnumBodyDeclarationsopt RBRACE 667 EnumBody ::= LBRACE COMMA EnumBodyDeclarationsopt RBRACE 668 EnumBody ::= LBRACE EnumConstants COMMA EnumBodyDeclarationsopt RBRACE 669 EnumBody ::= LBRACE EnumConstants EnumBodyDeclarationsopt RBRACE 670 EnumConstants -> EnumConstant 671 EnumConstants ::= EnumConstants COMMA EnumConstant 672 EnumConstantHeaderName ::= Modifiersopt Identifier 673 EnumConstantHeader ::= EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet 674 EnumConstant ::= EnumConstantHeader ForceNoDiet ClassBody RestoreDiet 675 EnumConstant ::= EnumConstantHeader 676 Arguments ::= LPAREN ArgumentListopt RPAREN 677 Argumentsopt ::= 678 Argumentsopt -> Arguments 679 EnumDeclarations ::= SEMICOLON ClassBodyDeclarationsopt 680 EnumBodyDeclarationsopt ::= 681 EnumBodyDeclarationsopt -> EnumDeclarations 682 EnhancedForStatement ::= EnhancedForStatementHeader Statement 683 EnhancedForStatementNoShortIf ::= EnhancedForStatementHeader StatementNoShortIf 684 EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers Identifier Dimsopt 685 EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 686 EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 22 Expression RPAREN 687 SingleStaticImportDeclaration ::= SingleStaticImportDeclarationName SEMICOLON 688 SingleStaticImportDeclarationName ::= import static Name RejectTypeAnnotations 689 StaticImportOnDemandDeclaration ::= StaticImportOnDemandDeclarationName SEMICOLON 690 StaticImportOnDemandDeclarationName ::= import static Name DOT RejectTypeAnnotations MULTIPLY 691 TypeArguments ::= LESS TypeArgumentList1 692 OnlyTypeArguments ::= LESS TypeArgumentList1 693 TypeArgumentList1 -> TypeArgument1 694 TypeArgumentList1 ::= TypeArgumentList COMMA TypeArgument1 695 TypeArgumentList -> TypeArgument 696 TypeArgumentList ::= TypeArgumentList COMMA TypeArgument 697 TypeArgument ::= ReferenceType 698 TypeArgument -> Wildcard 699 TypeArgument1 -> ReferenceType1 700 TypeArgument1 -> Wildcard1 701 ReferenceType1 ::= ReferenceType GREATER 702 ReferenceType1 ::= ClassOrInterface LESS TypeArgumentList2 703 TypeArgumentList2 -> TypeArgument2 704 TypeArgumentList2 ::= TypeArgumentList COMMA TypeArgument2 705 TypeArgument2 -> ReferenceType2 706 TypeArgument2 -> Wildcard2 707 ReferenceType2 ::= ReferenceType RIGHT_SHIFT 708 ReferenceType2 ::= ClassOrInterface LESS TypeArgumentList3 709 TypeArgumentList3 -> TypeArgument3 710 TypeArgumentList3 ::= TypeArgumentList COMMA TypeArgument3 711 TypeArgument3 -> ReferenceType3 712 TypeArgument3 -> Wildcard3 713 ReferenceType3 ::= ReferenceType UNSIGNED_RIGHT_SHIFT 714 Wildcard ::= TypeAnnotationsopt QUESTION 715 Wildcard ::= TypeAnnotationsopt QUESTION WildcardBounds 716 WildcardBounds ::= extends ReferenceType 717 WildcardBounds ::= super ReferenceType 718 Wildcard1 ::= TypeAnnotationsopt QUESTION GREATER 719 Wildcard1 ::= TypeAnnotationsopt QUESTION WildcardBounds1 720 WildcardBounds1 ::= extends ReferenceType1 721 WildcardBounds1 ::= super ReferenceType1 722 Wildcard2 ::= TypeAnnotationsopt QUESTION RIGHT_SHIFT 723 Wildcard2 ::= TypeAnnotationsopt QUESTION WildcardBounds2 724 WildcardBounds2 ::= extends ReferenceType2 725 WildcardBounds2 ::= super ReferenceType2 726 Wildcard3 ::= TypeAnnotationsopt QUESTION UNSIGNED_RIGHT_SHIFT 727 Wildcard3 ::= TypeAnnotationsopt QUESTION WildcardBounds3 728 WildcardBounds3 ::= extends ReferenceType3 729 WildcardBounds3 ::= super ReferenceType3 730 TypeParameterHeader ::= TypeAnnotationsopt Identifier 731 TypeParameters ::= LESS TypeParameterList1 732 TypeParameterList -> TypeParameter IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 23 733 TypeParameterList ::= TypeParameterList COMMA TypeParameter 734 TypeParameter -> TypeParameterHeader 735 TypeParameter ::= TypeParameterHeader extends ReferenceType 736 TypeParameter ::= TypeParameterHeader extends ReferenceType AdditionalBoundList 737 AdditionalBoundList -> AdditionalBound 738 AdditionalBoundList ::= AdditionalBoundList AdditionalBound 739 AdditionalBound ::= AND ReferenceType 740 TypeParameterList1 -> TypeParameter1 741 TypeParameterList1 ::= TypeParameterList COMMA TypeParameter1 742 TypeParameter1 ::= TypeParameterHeader GREATER 743 TypeParameter1 ::= TypeParameterHeader extends ReferenceType1 744 TypeParameter1 ::= TypeParameterHeader extends ReferenceType AdditionalBoundList1 745 AdditionalBoundList1 -> AdditionalBound1 746 AdditionalBoundList1 ::= AdditionalBoundList AdditionalBound1 747 AdditionalBound1 ::= AND ReferenceType1 748 PostfixExpression_NotName -> Primary 749 PostfixExpression_NotName -> PostIncrementExpression 750 PostfixExpression_NotName -> PostDecrementExpression 751 UnaryExpression_NotName -> PreIncrementExpression 752 UnaryExpression_NotName -> PreDecrementExpression 753 UnaryExpression_NotName ::= PLUS PushPosition UnaryExpression 754 UnaryExpression_NotName ::= MINUS PushPosition UnaryExpression 755 UnaryExpression_NotName -> UnaryExpressionNotPlusMinus_NotName 756 UnaryExpressionNotPlusMinus_NotName -> PostfixExpression_NotName 757 UnaryExpressionNotPlusMinus_NotName ::= TWIDDLE PushPosition UnaryExpression 758 UnaryExpressionNotPlusMinus_NotName ::= NOT PushPosition UnaryExpression 759 UnaryExpressionNotPlusMinus_NotName -> CastExpression 760 MultiplicativeExpression_NotName -> UnaryExpression_NotName 761 MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName MULTIPLY UnaryExpression 762 MultiplicativeExpression_NotName ::= Name MULTIPLY UnaryExpression 763 MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName DIVIDE UnaryExpression 764 MultiplicativeExpression_NotName ::= Name DIVIDE UnaryExpression 765 MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName REMAINDER UnaryExpression 766 MultiplicativeExpression_NotName ::= Name REMAINDER UnaryExpression 767 AdditiveExpression_NotName -> MultiplicativeExpression_NotName 768 AdditiveExpression_NotName ::= AdditiveExpression_NotName PLUS MultiplicativeExpression 769 AdditiveExpression_NotName ::= Name PLUS MultiplicativeExpression 770 AdditiveExpression_NotName ::= AdditiveExpression_NotName MINUS MultiplicativeExpression 771 AdditiveExpression_NotName ::= Name MINUS MultiplicativeExpression 772 ShiftExpression_NotName -> AdditiveExpression_NotName 773 ShiftExpression_NotName ::= ShiftExpression_NotName LEFT_SHIFT AdditiveExpression 774 ShiftExpression_NotName ::= Name LEFT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 24 775 ShiftExpression_NotName ::= ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression 776 ShiftExpression_NotName ::= Name RIGHT_SHIFT AdditiveExpression 777 ShiftExpression_NotName ::= ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression 778 ShiftExpression_NotName ::= Name UNSIGNED_RIGHT_SHIFT AdditiveExpression 779 RelationalExpression_NotName -> ShiftExpression_NotName 780 RelationalExpression_NotName ::= ShiftExpression_NotName LESS ShiftExpression 781 RelationalExpression_NotName ::= Name LESS ShiftExpression 782 RelationalExpression_NotName ::= ShiftExpression_NotName GREATER ShiftExpression 783 RelationalExpression_NotName ::= Name GREATER ShiftExpression 784 RelationalExpression_NotName ::= RelationalExpression_NotName LESS_EQUAL ShiftExpression 785 RelationalExpression_NotName ::= Name LESS_EQUAL ShiftExpression 786 RelationalExpression_NotName ::= RelationalExpression_NotName GREATER_EQUAL ShiftExpression 787 RelationalExpression_NotName ::= Name GREATER_EQUAL ShiftExpression 788 InstanceofExpression_NotName -> RelationalExpression_NotName 789 InstanceofExpression_NotName ::= Name instanceof ReferenceType 790 InstanceofExpression_NotName ::= InstanceofExpression_NotName instanceof ReferenceType 791 EqualityExpression_NotName -> InstanceofExpression_NotName 792 EqualityExpression_NotName ::= EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression 793 EqualityExpression_NotName ::= Name EQUAL_EQUAL InstanceofExpression 794 EqualityExpression_NotName ::= EqualityExpression_NotName NOT_EQUAL InstanceofExpression 795 EqualityExpression_NotName ::= Name NOT_EQUAL InstanceofExpression 796 AndExpression_NotName -> EqualityExpression_NotName 797 AndExpression_NotName ::= AndExpression_NotName AND EqualityExpression 798 AndExpression_NotName ::= Name AND EqualityExpression 799 ExclusiveOrExpression_NotName -> AndExpression_NotName 800 ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName XOR AndExpression 801 ExclusiveOrExpression_NotName ::= Name XOR AndExpression 802 InclusiveOrExpression_NotName -> ExclusiveOrExpression_NotName 803 InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName OR ExclusiveOrExpression 804 InclusiveOrExpression_NotName ::= Name OR ExclusiveOrExpression 805 ConditionalAndExpression_NotName -> InclusiveOrExpression_NotName 806 ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName AND_AND InclusiveOrExpression 807 ConditionalAndExpression_NotName ::= Name AND_AND InclusiveOrExpression 808 ConditionalOrExpression_NotName -> ConditionalAndExpression_NotName 809 ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName OR_OR ConditionalAndExpression 810 ConditionalOrExpression_NotName ::= Name OR_OR ConditionalAndExpression 811 ConditionalExpression_NotName -> ConditionalOrExpression_NotName 812 ConditionalExpression_NotName ::= ConditionalOrExpression_NotName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 25 QUESTION Expression COLON ConditionalExpression 813 ConditionalExpression_NotName ::= Name QUESTION Expression COLON ConditionalExpression 814 AssignmentExpression_NotName -> ConditionalExpression_NotName 815 AssignmentExpression_NotName -> Assignment 816 Expression_NotName -> AssignmentExpression_NotName 817 AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier 818 AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier TypeParameters 819 AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier TypeParameters 820 AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier 821 AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 822 AnnotationTypeDeclaration ::= AnnotationTypeDeclarationHeader AnnotationTypeBody 823 AnnotationTypeBody ::= LBRACE AnnotationTypeMemberDeclarationsopt RBRACE 824 AnnotationTypeMemberDeclarationsopt ::= 825 AnnotationTypeMemberDeclarationsopt ::= NestedType AnnotationTypeMemberDeclarations 826 AnnotationTypeMemberDeclarations -> AnnotationTypeMemberDeclaration 827 AnnotationTypeMemberDeclarations ::= AnnotationTypeMemberDeclarations AnnotationTypeMemberDeclaration 828 AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier LPAREN 829 AnnotationMethodHeaderName ::= Modifiersopt Type Identifier LPAREN 830 AnnotationMethodHeaderDefaultValueopt ::= 831 AnnotationMethodHeaderDefaultValueopt ::= DefaultValue 832 AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt 833 AnnotationTypeMemberDeclaration ::= AnnotationMethodHeader SEMICOLON 834 AnnotationTypeMemberDeclaration -> ConstantDeclaration 835 AnnotationTypeMemberDeclaration -> ConstructorDeclaration 836 AnnotationTypeMemberDeclaration -> TypeDeclaration 837 DefaultValue ::= default MemberValue 838 Annotation -> NormalAnnotation 839 Annotation -> MarkerAnnotation 840 Annotation -> SingleMemberAnnotation 841 AnnotationName ::= AT UnannotatableName 842 NormalAnnotation ::= AnnotationName LPAREN MemberValuePairsopt RPAREN 843 MemberValuePairsopt ::= 844 MemberValuePairsopt -> MemberValuePairs 845 MemberValuePairs -> MemberValuePair 846 MemberValuePairs ::= MemberValuePairs COMMA MemberValuePair 847 MemberValuePair ::= SimpleName EQUAL EnterMemberValue MemberValue IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 26 ExitMemberValue 848 EnterMemberValue ::= 849 ExitMemberValue ::= 850 MemberValue -> ConditionalExpression_NotName 851 MemberValue ::= Name 852 MemberValue -> Annotation 853 MemberValue -> MemberValueArrayInitializer 854 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE 855 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE 856 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE 857 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE 858 EnterMemberValueArrayInitializer ::= 859 MemberValues -> MemberValue 860 MemberValues ::= MemberValues COMMA MemberValue 861 MarkerAnnotation ::= AnnotationName 862 SingleMemberAnnotationMemberValue ::= MemberValue 863 SingleMemberAnnotation ::= AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN 864 RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier LPAREN 865 RecoveryMethodHeaderName ::= Modifiersopt Type Identifier LPAREN 866 RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier LPAREN 867 RecoveryMethodHeaderName ::= ModifiersWithDefault Type Identifier LPAREN 868 RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt 869 RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 27 *** The following Terminals are useless: const goto IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 28 *** The following Non-Terminal is useless: ConstantExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 29 Cross-reference table: $error ==>> ,opt ==>> 633 634 ;opt ==>> 434 435 AND ==>> 14 597 739 747 797 798 AND_AND ==>> 9 603 806 807 AND_EQUAL ==>> 622 ARROW ==>> 21 404 405 483 AT ==>> 24 817 818 819 820 841 AT308 ==>> 79 AT308DOTDOTDOT ==>> 262 AbstractMethodDeclaration ==>> 244 AdditionalBound ==>> 739 AdditionalBound1 ==>> 747 AdditionalBoundList ==>> 737 738 AdditionalBoundList1 ==>> 745 746 AdditionalBoundsListOpt ==>> 566 567 AdditiveExpression ==>> 579 580 581 AdditiveExpression_NotName ==>> 767 768 769 770 771 AllocationHeader ==>> 496 AndExpression ==>> 596 597 AndExpression_NotName ==>> 796 797 798 Annotation ==>> 838 839 840 AnnotationMethodHeader ==>> 832 AnnotationMethodHeaderDefaultValueopt ==>> 830 831 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 30 AnnotationMethodHeaderName ==>> 828 829 AnnotationName ==>> 841 AnnotationTypeBody ==>> 823 AnnotationTypeDeclaration ==>> 822 AnnotationTypeDeclarationHeader ==>> 821 AnnotationTypeDeclarationHeaderName ==>> 817 818 819 820 AnnotationTypeMemberDeclaration ==>> 833 834 835 836 AnnotationTypeMemberDeclarations ==>> 826 827 AnnotationTypeMemberDeclarationsopt ==>> 824 825 ArgumentList ==>> 511 512 ArgumentListopt ==>> 643 644 Arguments ==>> 676 Argumentsopt ==>> 677 678 ArrayAccess ==>> 539 540 541 ArrayCreationHeader ==>> 513 514 ArrayCreationWithArrayInitializer ==>> 516 518 ArrayCreationWithoutArrayInitializer ==>> 515 517 ArrayInitializer ==>> 315 316 317 ArrayType ==>> 58 59 60 61 ArrayTypeWithTypeArgumentsName ==>> 57 AssertStatement ==>> 417 418 Assignment ==>> 610 612 AssignmentExpression ==>> 608 609 AssignmentExpression_NotName ==>> 814 815 AssignmentOperator ==>> 613 614 615 616 617 618 619 620 621 622 623 624 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 31 BeginCaseExpr ==>> 405 BeginIntersectionCast ==>> 564 BeginLambda ==>> 486 BeginTypeArguments ==>> 475 Block ==>> 320 BlockStatement ==>> 327 328 329 330 331 332 BlockStatementopt ==>> 324 BlockStatementopt0 ==>> 325 326 BlockStatements ==>> 322 323 BlockStatementsopt ==>> 639 640 BooleanLiteral ==>> 33 34 BreakStatement ==>> 419 420 COLON ==>> 367 368 393 394 418 607 686 812 813 COLON_COLON ==>> 473 474 475 476 477 478 COMMA ==>> 128 138 207 230 259 268 317 319 416 491 512 631 634 667 668 671 694 696 704 710 733 741 846 854 856 860 CastExpression ==>> 560 561 562 563 564 565 CastNameAndBounds ==>> 569 CatchClause ==>> 447 CatchFormalParameter ==>> 263 CatchHeader ==>> 163 CatchType ==>> 264 Catches ==>> 445 446 Catchesopt ==>> 660 661 CharacterLiteral ==>> 29 ClassBody ==>> 209 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 32 ClassBodyDeclaration ==>> 212 213 214 215 ClassBodyDeclarations ==>> 210 211 ClassBodyDeclarationsopt ==>> 635 636 ClassDeclaration ==>> 199 ClassHeader ==>> 200 ClassHeaderExtends ==>> 204 ClassHeaderExtendsopt ==>> 626 627 ClassHeaderImplements ==>> 205 ClassHeaderImplementsopt ==>> 649 650 ClassHeaderName ==>> 201 202 ClassHeaderName1 ==>> 203 ClassInstanceCreationExpression ==>> 497 498 499 500 501 502 ClassInstanceCreationExpressionName ==>> 504 ClassMemberDeclaration ==>> 219 220 221 222 223 224 225 ClassOrInterface ==>> 53 54 ClassOrInterfaceType ==>> 51 52 ClassType ==>> 62 ClassTypeElt ==>> 269 ClassTypeList ==>> 267 268 CompilationUnit ==>> 88 ConditionalAndExpression ==>> 602 603 ConditionalAndExpression_NotName ==>> 805 806 807 ConditionalExpression ==>> 606 607 ConditionalExpression_NotName ==>> 811 812 813 ConditionalOrExpression ==>> 604 605 ConditionalOrExpression_NotName ==>> 808 809 810 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 33 ConstantDeclaration ==>> 313 ConstantExpression ==>> 632 ConstantExpressions ==>> 630 631 ConstructorDeclaration ==>> 274 275 ConstructorHeader ==>> 255 ConstructorHeaderName ==>> 256 257 ContinueStatement ==>> 421 422 CreateInitializer ==>> 218 DIVIDE ==>> 13 577 763 764 DIVIDE_EQUAL ==>> 615 DOT ==>> 54 57 68 69 70 86 179 280 281 282 283 284 285 286 287 460 461 462 463 464 465 472 499 500 504 528 529 530 532 533 534 535 536 537 538 562 690 DefaultMethodHeader ==>> 246 DefaultMethodHeaderName ==>> 249 250 DefaultValue ==>> 837 Diet ==>> 216 DimWithOrWithOutExpr ==>> 521 522 DimWithOrWithOutExprs ==>> 519 520 Dims ==>> 523 DimsLoop ==>> 524 525 Dimsopt ==>> 641 642 DoStatement ==>> 409 DoubleLiteral ==>> 28 ELLIPSIS ==>> 261 262 EQUAL ==>> 232 439 440 613 847 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 34 EQUAL_EQUAL ==>> 594 792 793 ElidedLeftBraceAndReturn ==>> 495 ElidedSemicolonAndRightBrace ==>> 493 EmptyStatement ==>> 366 EnhancedForStatement ==>> 682 EnhancedForStatementHeader ==>> 686 EnhancedForStatementHeaderInit ==>> 684 685 EnhancedForStatementNoShortIf ==>> 683 EnterCompilationUnit ==>> 141 EnterInstanceCreationArgumentList ==>> 503 EnterMemberValue ==>> 848 EnterMemberValueArrayInitializer ==>> 858 EnterVariable ==>> 233 EnumBody ==>> 666 667 668 669 EnumBodyDeclarationsopt ==>> 680 681 EnumConstant ==>> 674 675 EnumConstantHeader ==>> 673 EnumConstantHeaderName ==>> 672 EnumConstants ==>> 670 671 EnumDeclaration ==>> 662 EnumDeclarations ==>> 679 EnumHeader ==>> 663 EnumHeaderName ==>> 664 665 EqualityExpression ==>> 593 594 595 EqualityExpression_NotName ==>> 791 792 793 794 795 ExclusiveOrExpression ==>> 598 599 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 35 ExclusiveOrExpression_NotName ==>> 799 800 801 ExitMemberValue ==>> 849 ExitTryBlock ==>> 444 ExitVariableWithInitialization ==>> 234 ExitVariableWithoutInitialization ==>> 235 ExplicitConstructorInvocation ==>> 276 277 278 279 280 281 282 283 284 285 286 287 ExportsHeader ==>> 123 ExportsStatement ==>> 122 Expression ==>> 625 ExpressionStatement ==>> 370 371 Expression_NotName ==>> 816 Expressionopt ==>> 628 629 FieldAccess ==>> 528 529 530 FieldDeclaration ==>> 228 Finally ==>> 448 FloatingPointLiteral ==>> 27 FloatingPointType ==>> 47 48 ForInit ==>> 412 413 ForInitopt ==>> 654 655 ForStatement ==>> 410 ForStatementNoShortIf ==>> 411 ForUpdate ==>> 414 ForUpdateopt ==>> 656 657 ForceNoDiet ==>> 236 FormalParameter ==>> 260 261 262 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 36 FormalParameterList ==>> 258 259 FormalParameterListopt ==>> 647 648 GREATER ==>> 56 588 701 718 742 782 783 GREATER_EQUAL ==>> 590 786 787 GenericMethodDeclaration ==>> 226 227 GenericType ==>> 55 56 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 Header ==>> 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 Header1 ==>> 159 160 Header2 ==>> 161 162 Identifier ==>> 66 203 238 247 248 249 250 256 257 292 369 422 476 477 478 481 485 492 528 529 530 532 533 534 535 536 537 538 664 665 672 684 685 730 817 818 819 820 828 829 864 865 866 867 IdentifierOrNew ==>> 481 482 IfThenElseStatement ==>> 380 IfThenElseStatementNoShortIf ==>> 381 IfThenStatement ==>> 379 ImportDeclaration ==>> 172 173 174 175 ImportDeclarations ==>> 164 165 InclusiveOrExpression ==>> 600 601 InclusiveOrExpression_NotName ==>> 802 803 804 Initializer ==>> 217 InsideCastExpression ==>> 571 InsideCastExpressionLL1 ==>> 572 InsideCastExpressionLL1WithBounds ==>> 573 InsideCastExpressionWithQualifiedGenerics ==>> 574 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 37 InstanceofExpression ==>> 591 592 InstanceofExpression_NotName ==>> 788 789 790 IntegerLiteral ==>> 25 IntegralType ==>> 42 43 44 45 46 InterfaceBody ==>> 294 InterfaceDeclaration ==>> 288 InterfaceHeader ==>> 289 InterfaceHeaderExtends ==>> 293 InterfaceHeaderExtendsopt ==>> 658 659 InterfaceHeaderName ==>> 290 291 InterfaceHeaderName1 ==>> 292 InterfaceMemberDeclaration ==>> 297 298 299 300 301 306 307 308 309 310 311 312 InterfaceMemberDeclarations ==>> 295 296 InterfaceMemberDeclarationsopt ==>> 651 652 InterfaceType ==>> 208 InterfaceTypeList ==>> 206 207 InternalCompilationUnit ==>> 89 90 91 92 93 94 95 96 97 98 InvalidArrayInitializerAssignement ==>> 611 InvalidConstructorDeclaration ==>> 302 303 InvalidInitializer ==>> 304 305 LBRACE ==>> 18 104 163 209 270 294 315 316 317 320 383 384 385 386 666 667 668 669 823 854 855 856 857 LBRACKET ==>> 521 522 526 527 539 540 541 LEFT_SHIFT ==>> 583 773 774 LEFT_SHIFT_EQUAL ==>> 619 LESS ==>> 23 56 587 691 692 702 708 731 780 781 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 38 LESS_EQUAL ==>> 589 784 785 LPAREN ==>> 22 80 82 163 247 248 249 250 256 257 276 277 278 279 280 281 282 283 284 285 286 287 379 380 381 382 397 407 408 409 410 411 426 433 447 449 496 497 498 499 500 501 502 531 532 533 534 535 536 537 538 568 676 684 685 828 829 842 863 864 865 866 867 Label ==>> 369 LabeledStatement ==>> 367 LabeledStatementNoShortIf ==>> 368 LambdaBody ==>> 493 494 LambdaExpression ==>> 483 LambdaParameterList ==>> 488 489 LambdaParameters ==>> 485 486 Literal ==>> 25 26 27 28 29 30 31 32 LocalVariableDeclaration ==>> 334 335 LocalVariableDeclarationStatement ==>> 333 LongLiteral ==>> 26 MINUS ==>> 552 581 754 770 771 MINUS_EQUAL ==>> 618 MINUS_MINUS ==>> 2 547 555 MULTIPLY ==>> 7 8 179 576 690 761 762 MULTIPLY_EQUAL ==>> 614 MarkerAnnotation ==>> 861 MarkerTypeAnnotation ==>> 81 MemberValue ==>> 850 851 852 853 MemberValueArrayInitializer ==>> 854 855 856 857 MemberValuePair ==>> 847 MemberValuePairs ==>> 845 846 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 39 MemberValuePairsopt ==>> 843 844 MemberValues ==>> 859 860 MethodBody ==>> 270 MethodDeclaration ==>> 241 242 243 MethodHeader ==>> 245 MethodHeaderExtendedDims ==>> 253 MethodHeaderName ==>> 247 248 MethodHeaderRightParen ==>> 252 MethodHeaderThrowsClause ==>> 254 MethodHeaderThrowsClauseopt ==>> 645 646 MethodInvocation ==>> 531 532 533 534 535 536 537 538 Modifier ==>> 187 188 189 190 191 192 193 194 195 196 197 198 Modifiers ==>> 185 186 ModifiersWithDefault ==>> 251 Modifiersopt ==>> 637 638 ModuleBody ==>> 104 ModuleDeclaration ==>> 99 ModuleHeader ==>> 100 ModuleModifier ==>> 103 ModuleModifieropt ==>> 101 102 ModuleStatement ==>> 109 110 111 112 113 ModuleStatements ==>> 107 108 ModuleStatementsOpt ==>> 105 106 MultiplicativeExpression ==>> 575 576 577 578 MultiplicativeExpression_NotName ==>> 760 761 762 763 764 765 766 NOT ==>> 6 558 758 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 40 NOT_EQUAL ==>> 595 794 795 Name ==>> 63 64 65 NestedLambda ==>> 484 NestedMethod ==>> 271 NestedType ==>> 653 NonWildTypeArgumentsopt ==>> 479 480 NormalAnnotation ==>> 842 NormalTypeAnnotation ==>> 80 NumericType ==>> 38 39 OR ==>> 266 601 803 804 OR_EQUAL ==>> 624 OR_OR ==>> 10 19 605 809 810 OneDimLoop ==>> 526 527 OnlySynchronized ==>> 427 OnlyTypeArguments ==>> 692 OnlyTypeArgumentsForCastExpression ==>> 570 OpenBlock ==>> 321 OpensHeader ==>> 131 OpensStatement ==>> 130 PLUS ==>> 12 551 580 753 768 769 PLUS_EQUAL ==>> 617 PLUS_PLUS ==>> 1 546 554 PackageComment ==>> 171 PackageDeclaration ==>> 168 PackageDeclarationName ==>> 169 170 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 41 ParenthesizedCastNameAndBounds ==>> 568 ParenthesizedLambdaParameterList ==>> 487 PostDecrementExpression ==>> 547 PostIncrementExpression ==>> 546 PostfixExpression ==>> 542 543 544 545 PostfixExpression_NotName ==>> 748 749 750 PreDecrementExpression ==>> 555 PreIncrementExpression ==>> 554 Primary ==>> 451 452 453 PrimaryNoNewArray ==>> 454 455 456 457 458 459 460 462 463 464 465 466 467 468 469 PrimitiveType ==>> 37 40 41 ProvidesInterface ==>> 135 ProvidesStatement ==>> 134 PushLPAREN ==>> 449 PushLeftBrace ==>> 314 PushModifiers ==>> 336 PushModifiersForHeader ==>> 337 PushPosition ==>> 548 PushRPAREN ==>> 450 PushRealModifiers ==>> 338 PushZeroTypeAnnotations ==>> 84 QUESTION ==>> 11 20 607 714 715 718 719 722 723 726 727 812 813 QualifiedClassBodyopt ==>> 508 509 QualifiedEnterAnonymousClassBody ==>> 510 QualifiedName ==>> 69 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 42 QualifiedSuperReceiver ==>> 461 RBRACE ==>> 104 209 270 294 315 316 317 320 383 384 385 386 666 667 668 669 823 854 855 856 857 RBRACKET ==>> 521 522 526 527 539 540 541 REMAINDER ==>> 15 16 578 765 766 REMAINDER_EQUAL ==>> 616 RIGHT_SHIFT ==>> 3 4 584 707 722 775 776 RIGHT_SHIFT_EQUAL ==>> 620 RPAREN ==>> 80 82 163 252 276 277 278 279 280 281 282 283 284 285 286 287 379 380 381 382 397 407 408 409 410 411 426 433 447 450 496 497 498 499 500 501 502 531 532 533 534 535 536 537 538 568 676 686 842 863 RecoveryMethodHeader ==>> 868 869 RecoveryMethodHeaderName ==>> 864 865 866 867 ReduceImports ==>> 140 ReferenceExpression ==>> 473 474 475 476 477 478 ReferenceExpressionTypeArgumentsAndTrunk ==>> 470 ReferenceExpressionTypeArgumentsAndTrunk0 ==>> 471 472 ReferenceType ==>> 49 50 ReferenceType1 ==>> 701 702 ReferenceType2 ==>> 707 708 ReferenceType3 ==>> 713 RejectTypeAnnotations ==>> 83 RelationalExpression ==>> 586 587 588 589 590 RelationalExpression_NotName ==>> 779 780 781 782 783 784 785 786 787 RequiresModifier ==>> 120 121 RequiresModifiers ==>> 118 119 RequiresModifiersopt ==>> 116 117 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 43 RequiresStatement ==>> 114 Resource ==>> 439 440 441 442 ResourceSpecification ==>> 433 Resources ==>> 436 437 RestoreDiet ==>> 237 ReturnStatement ==>> 423 SEMICOLON ==>> 114 122 130 132 134 168 176 178 182 225 228 244 275 276 277 278 279 280 281 282 283 284 285 286 287 297 301 303 333 366 370 401 403 409 410 410 411 411 417 418 419 420 421 422 423 424 432 435 438 679 687 689 833 ServiceImplName ==>> 136 ServiceImplNameList ==>> 137 138 ShiftExpression ==>> 582 583 584 585 ShiftExpression_NotName ==>> 772 773 774 775 776 777 778 SimpleName ==>> 66 SingleMemberAnnotation ==>> 863 SingleMemberAnnotationMemberValue ==>> 862 SingleMemberTypeAnnotation ==>> 82 SinglePkgName ==>> 129 SingleRequiresModuleName ==>> 115 SingleStaticImportDeclaration ==>> 687 SingleStaticImportDeclarationName ==>> 688 SingleTypeImportDeclaration ==>> 176 SingleTypeImportDeclarationName ==>> 177 Statement ==>> 339 340 341 342 343 344 345 StatementExpression ==>> 372 373 374 375 376 377 378 StatementExpressionList ==>> 415 416 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 44 StatementNoShortIf ==>> 346 347 348 349 350 351 StatementWithoutTrailingSubstatement ==>> 352 353 354 355 356 357 358 359 360 361 362 363 364 365 StaticImportOnDemandDeclaration ==>> 689 StaticImportOnDemandDeclarationName ==>> 690 StaticInitializer ==>> 272 StaticOnly ==>> 273 StringLiteral ==>> 30 SwitchBlock ==>> 383 384 385 386 SwitchBlockStatement ==>> 389 390 SwitchBlockStatements ==>> 387 388 SwitchExpression ==>> 397 SwitchLabel ==>> 393 394 SwitchLabelCaseLhs ==>> 406 SwitchLabelExpr ==>> 404 405 SwitchLabeledBlock ==>> 402 SwitchLabeledExpression ==>> 401 SwitchLabeledRule ==>> 398 399 400 SwitchLabeledThrowStatement ==>> 403 SwitchLabels ==>> 391 392 SwitchStatement ==>> 382 SynchronizedStatement ==>> 426 TWIDDLE ==>> 17 557 757 TargetModuleListopt ==>> 124 125 TargetModuleName ==>> 126 TargetModuleNameList ==>> 127 128 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 45 ThrowExpression ==>> 425 ThrowStatement ==>> 424 TrailingSemiColon ==>> 438 TryBlock ==>> 443 TryStatement ==>> 428 429 TryStatementWithResources ==>> 430 431 Type ==>> 35 36 TypeAnnotation ==>> 76 77 78 TypeAnnotationName ==>> 79 TypeAnnotations ==>> 73 TypeAnnotations0 ==>> 74 75 TypeAnnotationsopt ==>> 71 72 TypeArgument ==>> 697 698 TypeArgument1 ==>> 699 700 TypeArgument2 ==>> 705 706 TypeArgument3 ==>> 711 712 TypeArgumentList ==>> 695 696 TypeArgumentList1 ==>> 693 694 TypeArgumentList2 ==>> 703 704 TypeArgumentList3 ==>> 709 710 TypeArguments ==>> 691 TypeDeclaration ==>> 180 181 182 183 184 TypeDeclarations ==>> 166 167 TypeElidedFormalParameter ==>> 492 TypeElidedFormalParameterList ==>> 490 491 TypeImportOnDemandDeclaration ==>> 178 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 46 TypeImportOnDemandDeclarationName ==>> 179 TypeParameter ==>> 734 735 736 TypeParameter1 ==>> 742 743 744 TypeParameterHeader ==>> 730 TypeParameterList ==>> 732 733 TypeParameterList1 ==>> 740 741 TypeParameters ==>> 731 UNSIGNED_RIGHT_SHIFT ==>> 5 585 713 726 777 778 UNSIGNED_RIGHT_SHIFT_EQUAL ==>> 621 UnannotatableName ==>> 67 68 UnaryExpression ==>> 549 550 551 552 553 UnaryExpressionNotPlusMinus ==>> 395 556 557 558 559 UnaryExpressionNotPlusMinus_NotName ==>> 396 756 757 758 759 UnaryExpression_NotName ==>> 751 752 753 754 755 UnionType ==>> 265 266 UnqualifiedClassBodyopt ==>> 505 506 UnqualifiedEnterAnonymousClassBody ==>> 507 UsesHeader ==>> 133 UsesStatement ==>> 132 VariableDeclarator ==>> 231 232 VariableDeclaratorId ==>> 238 VariableDeclaratorIdOrThis ==>> 85 86 87 VariableDeclarators ==>> 229 230 VariableInitializer ==>> 239 240 VariableInitializers ==>> 318 319 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 47 WhileStatement ==>> 407 WhileStatementNoShortIf ==>> 408 Wildcard ==>> 714 715 Wildcard1 ==>> 718 719 Wildcard2 ==>> 722 723 Wildcard3 ==>> 726 727 WildcardBounds ==>> 716 717 WildcardBounds1 ==>> 720 721 WildcardBounds2 ==>> 724 725 WildcardBounds3 ==>> 728 729 WithClause ==>> 139 XOR ==>> 599 800 801 XOR_EQUAL ==>> 623 YieldStatement ==>> 432 abstract ==>> 191 assert ==>> 417 418 boolean ==>> 40 break ==>> 419 420 byte ==>> 42 case ==>> 406 catch ==>> 163 447 char ==>> 46 class ==>> 203 462 463 464 465 const ==>> continue ==>> 421 422 default ==>> 251 394 404 837 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 48 do ==>> 409 double ==>> 48 else ==>> 380 381 enum ==>> 664 665 exports ==>> 123 extends ==>> 204 293 716 720 724 728 735 736 743 744 false ==>> 34 final ==>> 192 finally ==>> 448 float ==>> 47 for ==>> 410 411 684 685 goto ==>> if ==>> 379 380 381 implements ==>> 205 import ==>> 177 179 688 690 instanceof ==>> 592 789 790 int ==>> 44 interface ==>> 292 817 818 819 820 long ==>> 45 module ==>> 100 native ==>> 193 new ==>> 482 496 497 498 499 500 504 513 514 515 516 517 518 null ==>> 31 open ==>> 103 opens ==>> 131 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 49 package ==>> 169 170 private ==>> 189 protected ==>> 188 provides ==>> 135 public ==>> 187 requires ==>> 115 return ==>> 423 short ==>> 43 static ==>> 121 190 273 688 690 strictfp ==>> 197 super ==>> 278 279 280 281 282 283 461 478 529 537 538 717 721 725 729 switch ==>> 382 397 synchronized ==>> 194 427 this ==>> 85 86 276 277 284 285 286 287 455 460 throw ==>> 424 425 throws ==>> 254 to ==>> 125 transient ==>> 195 transitive ==>> 120 true ==>> 33 try ==>> 428 429 430 431 uses ==>> 133 void ==>> 41 volatile ==>> 196 while ==>> 407 408 409 with ==>> 139 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 50 yield ==>> 432 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 51 First map for non-terminals: $acc ==>> PLUS_PLUS MINUS_MINUS RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS NOT REMAINDER AND MULTIPLY TWIDDLE DIVIDE LESS LPAREN LBRACE QUESTION AT ARROW Goal ==>> PLUS_PLUS MINUS_MINUS RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS NOT REMAINDER AND MULTIPLY TWIDDLE DIVIDE LESS LPAREN LBRACE QUESTION AT ARROW CompilationUnit ==>> $empty abstract class enum final import interface native package private protected public static strictfp synchronized transient volatile module open SEMICOLON AT MethodBody ==>> LBRACE StaticInitializer ==>> static Initializer ==>> LBRACE Header1 ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native new package private protected public short static strictfp synchronized transient void volatile module open requires exports opens uses provides LESS AT AT308 Modifiersopt ==>> $empty abstract final native private protected public static strictfp synchronized transient volatile AT Header2 ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native new package private protected public short static strictfp synchronized transient void volatile module open requires exports opens uses provides LESS AT AT308 BlockStatements ==>> Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 CatchHeader ==>> catch FieldDeclaration ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile AT AT308 ImportDeclaration ==>> import PackageDeclaration ==>> abstract final native package private protected public IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 52 static strictfp synchronized transient volatile AT TypeDeclaration ==>> abstract class enum final interface native private protected public static strictfp synchronized transient volatile SEMICOLON AT GenericMethodDeclaration ==>> Identifier abstract boolean byte char default double final float int long native private protected public short static strictfp synchronized transient void volatile LESS AT AT308 ClassBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 Expression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 BlockStatementopt ==>> $empty Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 MemberValue ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 AnnotationTypeMemberDeclaration ==>> Identifier abstract boolean byte char class double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 ParenthesizedLambdaParameterList ==>> LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 53 ParenthesizedCastNameAndBounds ==>> LPAREN ReferenceExpressionTypeArgumentsAndTrunk ==>> LESS TypeAnnotations ==>> AT308 Literal ==>> false null true IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 54 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 RejectTypeAnnotations ==>> $empty PushZeroTypeAnnotations ==>> $empty VariableDeclaratorIdOrThis ==>> Identifier this VariableDeclaratorId ==>> Identifier EnterCompilationUnit ==>> $empty InternalCompilationUnit ==>> $empty abstract class enum final import interface native package private protected public static strictfp synchronized transient volatile module open SEMICOLON AT ImportDeclarations ==>> import ReduceImports ==>> $empty TypeDeclarations ==>> abstract class enum final interface native private protected public static strictfp synchronized transient volatile SEMICOLON AT ModuleDeclaration ==>> abstract final native private protected public static strictfp synchronized transient volatile module open AT ModuleHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile module open AT ModuleBody ==>> LBRACE ModuleModifieropt ==>> $empty open IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 55 ModuleModifier ==>> open ModuleStatementsOpt ==>> $empty requires exports opens uses provides ModuleStatements ==>> requires exports opens uses provides ModuleStatement ==>> requires exports opens uses provides RequiresStatement ==>> requires 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 package private protected public short static strictfp synchronized transient void volatile module IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 56 open requires exports opens uses provides LESS AT AT308 ClassHeader ==>> abstract class final native private protected public static strictfp synchronized transient volatile AT InterfaceHeader ==>> abstract final interface native private protected public static strictfp synchronized transient volatile AT EnumHeader ==>> abstract enum final native private protected public static strictfp synchronized transient volatile AT AnnotationTypeDeclarationHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile AT RecoveryMethodHeader ==>> Identifier abstract boolean byte char default double final float int long native private protected public short static strictfp synchronized transient void volatile LESS AT AT308 AllocationHeader ==>> new ArrayCreationHeader ==>> new ConstructorHeader ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile LESS AT EnumConstantHeader ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile AT CatchFormalParameter ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile AT AT308 PackageDeclarationName ==>> abstract final native package private protected public static strictfp synchronized transient volatile AT Modifiers ==>> abstract final native private protected public static strictfp synchronized transient volatile AT PushRealModifiers ==>> $empty PackageComment ==>> $empty SingleTypeImportDeclaration ==>> import TypeImportOnDemandDeclaration ==>> import SingleStaticImportDeclaration ==>> import StaticImportOnDemandDeclaration ==>> import SingleTypeImportDeclarationName ==>> import IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 57 TypeImportOnDemandDeclarationName ==>> import ClassDeclaration ==>> abstract class final native private protected public static strictfp synchronized transient volatile AT InterfaceDeclaration ==>> abstract final interface native private protected public static strictfp synchronized transient volatile AT EnumDeclaration ==>> abstract enum final native private protected public static strictfp synchronized transient volatile AT AnnotationTypeDeclaration ==>> abstract final native private protected public static strictfp synchronized transient volatile AT Modifier ==>> abstract final native private protected public static strictfp synchronized transient volatile AT Annotation ==>> AT ClassBody ==>> LBRACE ClassHeaderName ==>> abstract class final native private protected public static strictfp synchronized transient volatile AT ClassHeaderExtendsopt ==>> $empty extends ClassHeaderImplementsopt ==>> $empty implements ClassHeaderName1 ==>> abstract class final native private protected public static strictfp synchronized transient volatile AT TypeParameters ==>> LESS ClassHeaderExtends ==>> extends 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 private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 ClassBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 58 ClassMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 ConstructorDeclaration ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile LESS AT Diet ==>> $empty NestedMethod ==>> $empty CreateInitializer ==>> $empty Block ==>> LBRACE MethodDeclaration ==>> Identifier abstract boolean byte char default double final float int long native private protected public short static strictfp synchronized transient void volatile LESS AT AT308 VariableDeclarators ==>> Identifier VariableDeclarator ==>> Identifier EnterVariable ==>> $empty ExitVariableWithoutInitialization ==>> $empty ForceNoDiet ==>> $empty VariableInitializer ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 RestoreDiet ==>> $empty ExitVariableWithInitialization ==>> $empty Dimsopt ==>> $empty LBRACKET AT308 AbstractMethodDeclaration ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile LESS AT AT308 MethodHeader ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile LESS AT AT308 DefaultMethodHeader ==>> abstract default final native private protected IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 59 public static strictfp synchronized transient volatile AT MethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile LESS AT AT308 FormalParameterListopt ==>> $empty Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile AT AT308 MethodHeaderRightParen ==>> RPAREN MethodHeaderExtendedDims ==>> $empty LBRACKET AT308 MethodHeaderThrowsClauseopt ==>> $empty throws DefaultMethodHeaderName ==>> abstract default final native private protected public static strictfp synchronized transient volatile AT ModifiersWithDefault ==>> abstract default final native private protected public static strictfp synchronized transient volatile AT MethodHeaderThrowsClause ==>> throws ClassTypeList ==>> Identifier AT308 ConstructorHeaderName ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile LESS AT FormalParameterList ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile AT AT308 FormalParameter ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile AT AT308 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 LESS LPAREN BeginLambda AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 60 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 LPAREN BeginLambda AT308 InterfaceBody ==>> LBRACE InterfaceHeaderName ==>> abstract final interface native private protected public static strictfp synchronized transient volatile AT InterfaceHeaderExtendsopt ==>> $empty extends InterfaceHeaderName1 ==>> abstract final interface native private protected public static strictfp synchronized transient volatile AT InterfaceHeaderExtends ==>> extends InterfaceMemberDeclarationsopt ==>> $empty Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 InterfaceMemberDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 InterfaceMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 ConstantDeclaration ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile AT AT308 InvalidConstructorDeclaration ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile LESS AT InvalidInitializer ==>> static LBRACE PushLeftBrace ==>> $empty ,opt ==>> $empty COMMA IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 61 VariableInitializers ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 OpenBlock ==>> $empty BlockStatement ==>> Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 BlockStatementopt0 ==>> $empty Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 LocalVariableDeclarationStatement ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile AT AT308 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 yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 LocalVariableDeclaration ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile AT AT308 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 yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 LabeledStatement ==>> Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 62 IfThenStatement ==>> if IfThenElseStatement ==>> if 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 yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 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 PLUS_PLUS MINUS_MINUS LESS LPAREN BeginLambda AT308 SwitchStatement ==>> switch DoStatement ==>> do BreakStatement ==>> break ContinueStatement ==>> continue ReturnStatement ==>> return SynchronizedStatement ==>> synchronized ThrowStatement ==>> throw TryStatement ==>> try IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 63 TryStatementWithResources ==>> try YieldStatement ==>> yield Label ==>> Identifier StatementExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 Assignment ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN BeginLambda AT308 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 LPAREN BeginLambda AT308 PostDecrementExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN BeginLambda AT308 MethodInvocation ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN BeginLambda AT308 ClassInstanceCreationExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN BeginLambda AT308 SwitchBlock ==>> LBRACE SwitchBlockStatements ==>> case default SwitchLabels ==>> case default SwitchBlockStatement ==>> case default SwitchLabeledRule ==>> case default SwitchLabel ==>> case default IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 64 SwitchLabelCaseLhs ==>> case UnaryExpressionNotPlusMinus ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 SwitchLabeledExpression ==>> case default SwitchLabeledBlock ==>> case default SwitchLabeledThrowStatement ==>> case default SwitchLabelExpr ==>> case default ThrowExpression ==>> throw ConstantExpressions ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ForInitopt ==>> $empty Identifier abstract boolean byte char double false final float int long native new null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LPAREN AT BeginLambda AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ForUpdateopt ==>> $empty Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 ForInit ==>> Identifier abstract boolean byte char double false final float int long native new null private protected public short static strictfp IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 65 super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LPAREN AT BeginLambda AT308 StatementExpressionList ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 ForUpdate ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 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 null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN AT BeginLambda AT308 ;opt ==>> $empty SEMICOLON Resource ==>> Identifier abstract boolean byte char double false final float int long native new null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN AT BeginLambda AT308 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 LPAREN BeginLambda AT308 ExitTryBlock ==>> $empty CatchClause ==>> catch IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 66 PushLPAREN ==>> LPAREN PushRPAREN ==>> RPAREN PrimaryNoNewArray ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN BeginLambda AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 LPAREN BeginLambda AT308 LambdaExpression ==>> Identifier BeginLambda ReferenceExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN BeginLambda AT308 ReferenceExpressionTypeArgumentsAndTrunk0 ==>> LESS NonWildTypeArgumentsopt ==>> $empty LESS IdentifierOrNew ==>> Identifier new LambdaParameters ==>> Identifier BeginLambda LambdaBody ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 NestedLambda ==>> $empty LambdaParameterList ==>> LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 67 TypeElidedFormalParameterList ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile AT TypeElidedFormalParameter ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile AT 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 DimWithOrWithOutExprs ==>> LBRACKET AT308 DimWithOrWithOutExpr ==>> LBRACKET AT308 DimsLoop ==>> LBRACKET AT308 OneDimLoop ==>> LBRACKET AT308 PostfixExpression ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN BeginLambda AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 CastExpression ==>> LPAREN BeginIntersectionCast AdditionalBoundsListOpt ==>> $empty AND IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 68 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AdditiveExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ShiftExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 RelationalExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 InstanceofExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 EqualityExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AndExpression ==>> Identifier boolean byte char double false float int long IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 69 new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ExclusiveOrExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 InclusiveOrExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ConditionalAndExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ConditionalOrExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ConditionalExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AssignmentExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN BeginLambda AT308 ConstantExpression ==>> Identifier boolean byte char double false float int IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 70 long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 NestedType ==>> $empty EnumBody ==>> LBRACE EnumHeaderName ==>> abstract enum final native private protected public static strictfp synchronized transient volatile AT EnumBodyDeclarationsopt ==>> $empty SEMICOLON EnumConstants ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile AT EnumConstant ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile AT EnumConstantHeaderName ==>> Identifier abstract final native private protected public static strictfp synchronized transient volatile AT 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 71 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 AdditionalBound ==>> AND TypeParameter1 ==>> Identifier AT308 AdditionalBoundList1 ==>> AND AdditionalBound1 ==>> AND IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 72 PostfixExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN BeginLambda AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 EqualityExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 73 AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AnnotationTypeDeclarationHeaderName ==>> abstract final native private protected public static strictfp synchronized transient volatile AT AnnotationTypeBody ==>> LBRACE AnnotationTypeMemberDeclarationsopt ==>> $empty Identifier abstract boolean byte char class double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 AnnotationTypeMemberDeclarations ==>> Identifier abstract boolean byte char class double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 74 SEMICOLON AT AT308 AnnotationMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile LESS AT AT308 AnnotationMethodHeaderDefaultValueopt ==>> $empty default DefaultValue ==>> default AnnotationMethodHeader ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile LESS AT AT308 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 RecoveryMethodHeaderName ==>> Identifier abstract boolean byte char default double final float int long native private protected public short static strictfp synchronized transient void volatile LESS AT AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 75 Follow Map: $acc ==>> $eof Goal ==>> $eof CompilationUnit ==>> $eof MethodBody ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof StaticInitializer ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof Initializer ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof Header1 ==>> abstract final native private protected public static strictfp synchronized transient volatile AT $eof Modifiersopt ==>> Identifier boolean byte char class default double enum float int interface long short void module open LESS AT308 $eof Header2 ==>> abstract final native private protected public static strictfp synchronized transient volatile AT $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof CatchHeader ==>> $eof FieldDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof ImportDeclaration ==>> abstract class enum final import interface native private protected public static strictfp synchronized transient volatile module open SEMICOLON AT $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 76 PackageDeclaration ==>> abstract class enum final import interface native private protected public static strictfp synchronized transient volatile SEMICOLON AT $eof TypeDeclaration ==>> Identifier abstract boolean byte char class double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS RBRACE SEMICOLON AT AT308 $eof GenericMethodDeclaration ==>> $eof ClassBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof Expression ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof ArrayInitializer ==>> abstract final instanceof native 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 $eof BlockStatementsopt ==>> RBRACE $eof BlockStatementopt ==>> $eof MemberValue ==>> abstract final native private protected public static strictfp synchronized transient volatile RPAREN RBRACE SEMICOLON COMMA AT $eof AnnotationTypeMemberDeclaration ==>> Identifier abstract boolean byte char class double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS RBRACE SEMICOLON AT AT308 $eof ParenthesizedLambdaParameterList ==>> $eof ParenthesizedCastNameAndBounds ==>> $eof ReferenceExpressionTypeArgumentsAndTrunk ==>> COLON_COLON $eof TypeAnnotations ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 77 Literal ==>> abstract final instanceof native 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 $eof BooleanLiteral ==>> abstract final instanceof native 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 $eof Type ==>> Identifier this OR ELLIPSIS AT308DOTDOTDOT PrimitiveType ==>> Identifier this AND OR RPAREN LBRACKET DOT ELLIPSIS AT308 AT308DOTDOTDOT ReferenceType ==>> Identifier abstract final instanceof native 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 RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr $eof TypeAnnotationsopt ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION NumericType ==>> Identifier this AND OR RPAREN LBRACKET DOT ELLIPSIS AT308 AT308DOTDOTDOT IntegralType ==>> Identifier this AND OR RPAREN LBRACKET DOT ELLIPSIS AT308 AT308DOTDOTDOT FloatingPointType ==>> Identifier this AND OR RPAREN LBRACKET DOT ELLIPSIS AT308 AT308DOTDOTDOT ClassOrInterfaceType ==>> Identifier abstract final implements instanceof native 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 $eof ArrayType ==>> Identifier abstract final instanceof native private protected IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 78 public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr $eof ClassOrInterface ==>> Identifier abstract final implements instanceof native 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 $eof GenericType ==>> Identifier abstract final implements instanceof native 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 $eof Name ==>> Identifier abstract final implements instanceof native 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 $eof TypeArguments ==>> Identifier abstract final implements instanceof native 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 $eof ArrayTypeWithTypeArgumentsName ==>> LBRACKET AT308 Dims ==>> Identifier abstract default final instanceof native 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 RPAREN LBRACE RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr $eof ClassType ==>> abstract final implements native private protected public static strictfp synchronized transient volatile LPAREN LBRACE SEMICOLON COMMA AT $eof SimpleName ==>> Identifier abstract boolean byte char class default double IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 79 enum final float implements instanceof int interface long native 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 $eof QualifiedName ==>> Identifier abstract final implements instanceof native 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 $eof UnannotatableName ==>> Identifier abstract boolean byte char class default double enum final float int interface long native package private protected public short static strictfp synchronized transient void volatile module open to LESS LPAREN RPAREN LBRACE RBRACE LBRACKET SEMICOLON QUESTION COMMA DOT AT ELLIPSIS AT308 $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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 80 RejectTypeAnnotations ==>> MULTIPLY SEMICOLON PushZeroTypeAnnotations ==>> ELLIPSIS VariableDeclaratorIdOrThis ==>> RPAREN COMMA VariableDeclaratorId ==>> RPAREN SEMICOLON COMMA EQUAL EnterCompilationUnit ==>> abstract class enum final import interface native package private protected public static strictfp synchronized transient volatile module open SEMICOLON AT $eof InternalCompilationUnit ==>> $eof ImportDeclarations ==>> abstract class enum final import interface native private protected public static strictfp synchronized transient volatile module open SEMICOLON AT $eof ReduceImports ==>> abstract class enum final interface native private protected public static strictfp synchronized transient volatile module open SEMICOLON AT $eof TypeDeclarations ==>> abstract class enum final interface native private protected public static strictfp synchronized transient volatile SEMICOLON AT $eof ModuleDeclaration ==>> $eof ModuleHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof ModuleBody ==>> $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 private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT $eof ExportsStatement ==>> abstract final native private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 81 OpensStatement ==>> abstract final native private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT $eof UsesStatement ==>> abstract final native private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT $eof ProvidesStatement ==>> abstract final native private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT $eof SingleRequiresModuleName ==>> SEMICOLON RequiresModifiersopt ==>> Identifier RequiresModifiers ==>> Identifier static transitive 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 private protected public static strictfp synchronized transient volatile AT $eof ClassHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof InterfaceHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 82 EnumHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof AnnotationTypeDeclarationHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof RecoveryMethodHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile AT $eof AllocationHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile AT $eof ArrayCreationHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile AT $eof ConstructorHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON AT $eof EnumConstantHeader ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE RBRACE SEMICOLON COMMA AT $eof CatchFormalParameter ==>> RPAREN PackageDeclarationName ==>> SEMICOLON Modifiers ==>> Identifier abstract boolean byte char class default double enum final float int interface long native package private protected public short static strictfp synchronized transient void volatile module open LESS AT AT308 $eof PushRealModifiers ==>> Identifier interface AT308 PackageComment ==>> package SingleTypeImportDeclaration ==>> abstract class enum final import interface native private protected public static strictfp synchronized transient volatile module open SEMICOLON AT $eof TypeImportOnDemandDeclaration ==>> abstract class enum final import interface native private protected public static strictfp synchronized transient volatile module open SEMICOLON AT $eof SingleStaticImportDeclaration ==>> abstract class enum final import interface native private protected public static strictfp synchronized transient volatile module open SEMICOLON AT $eof StaticImportOnDemandDeclaration ==>> abstract class enum final import interface native private protected public static strictfp synchronized transient volatile module open SEMICOLON AT $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 83 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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof Modifier ==>> Identifier abstract boolean byte char class default double enum final float int interface long native package private protected public short static strictfp synchronized transient void volatile module open LESS AT AT308 $eof Annotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 84 DoubleLiteral CharacterLiteral StringLiteral 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 $eof ClassHeaderName ==>> abstract extends final implements native private protected public static strictfp synchronized transient volatile LBRACE AT $eof ClassHeaderExtendsopt ==>> abstract final implements native private protected public static strictfp synchronized transient volatile LBRACE AT $eof ClassHeaderImplementsopt ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof ClassHeaderName1 ==>> abstract extends final implements native private protected public static strictfp synchronized transient volatile LESS LBRACE AT $eof TypeParameters ==>> Identifier abstract boolean byte char double extends final float implements int long native private protected public short static strictfp synchronized transient void volatile LBRACE AT AT308 $eof ClassHeaderExtends ==>> abstract final implements native private protected public static strictfp synchronized transient volatile LBRACE AT $eof ClassHeaderImplements ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof InterfaceTypeList ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE COMMA AT $eof InterfaceType ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE COMMA AT $eof ClassBodyDeclarationsopt ==>> RBRACE ClassBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof ClassMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 85 ConstructorDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof Diet ==>> LBRACE NestedMethod ==>> LBRACE CreateInitializer ==>> LBRACE Block ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if instanceof int interface long native new null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral 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 $eof MethodDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $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 null private protected public short static strictfp super switch synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE RBRACE SEMICOLON COMMA AT BeginLambda BeginIntersectionCast AT308 $eof VariableInitializer ==>> RPAREN RBRACE SEMICOLON COMMA RestoreDiet ==>> abstract final native private protected public static strictfp synchronized transient volatile RPAREN LBRACE RBRACE SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 86 COMMA AT $eof ExitVariableWithInitialization ==>> RPAREN SEMICOLON COMMA Dimsopt ==>> abstract default final native private protected public static strictfp synchronized throws transient volatile AND RPAREN LBRACE SEMICOLON COLON COMMA EQUAL AT COLON_COLON $eof AbstractMethodDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof MethodHeader ==>> LBRACE SEMICOLON DefaultMethodHeader ==>> LBRACE SEMICOLON MethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 FormalParameterListopt ==>> RPAREN MethodHeaderRightParen ==>> abstract default final native private protected public static strictfp synchronized throws transient volatile LBRACE LBRACKET SEMICOLON AT AT308 $eof MethodHeaderExtendedDims ==>> abstract default final native private protected public static strictfp synchronized throws transient volatile LBRACE SEMICOLON AT $eof MethodHeaderThrowsClauseopt ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON AT $eof DefaultMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 ModifiersWithDefault ==>> Identifier boolean byte char double float int long short void LESS AT308 MethodHeaderThrowsClause ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON AT $eof ClassTypeList ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON COMMA AT $eof ConstructorHeaderName ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 87 FormalParameterList ==>> RPAREN COMMA FormalParameter ==>> RPAREN COMMA CatchType ==>> Identifier UnionType ==>> Identifier OR ClassTypeElt ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON COMMA AT $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof ArgumentListopt ==>> RPAREN OnlyTypeArguments ==>> Identifier new super this AND RPAREN LBRACKET DOT COLON_COLON AT308 $eof Primary ==>> abstract final instanceof native 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 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof InterfaceHeaderName ==>> abstract extends final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof InterfaceHeaderExtendsopt ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 88 InterfaceHeaderName1 ==>> abstract extends final native private protected public static strictfp synchronized transient volatile LESS LBRACE AT $eof InterfaceHeaderExtends ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE AT $eof InterfaceMemberDeclarationsopt ==>> RBRACE InterfaceMemberDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 InterfaceMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 ConstantDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 $eof InvalidConstructorDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 InvalidInitializer ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 PushLeftBrace ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE RBRACE COMMA AT BeginLambda BeginIntersectionCast AT308 ,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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 89 LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof Statement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof LocalVariableDeclaration ==>> SEMICOLON PushModifiers ==>> Identifier 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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 90 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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 91 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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 92 static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof Label ==>> COLON StatementExpression ==>> RPAREN SEMICOLON COMMA Assignment ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 93 ElidedSemicolonAndRightBrace BeginCaseExpr $eof PreIncrementExpression ==>> abstract final instanceof native 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 $eof PreDecrementExpression ==>> abstract final instanceof native 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 $eof PostIncrementExpression ==>> abstract final instanceof native 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 $eof PostDecrementExpression ==>> abstract final instanceof native 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 $eof MethodInvocation ==>> abstract final instanceof native 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 $eof ClassInstanceCreationExpression ==>> abstract final instanceof native 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 94 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 $eof 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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS 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 LPAREN RPAREN LBRACE RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT BeginLambda ElidedSemicolonAndRightBrace AT308 BeginCaseExpr $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 SwitchLabelCaseLhs ==>> COLON BeginCaseExpr UnaryExpressionNotPlusMinus ==>> abstract final instanceof native 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 $eof SwitchExpression ==>> abstract final instanceof native private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 95 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 $eof UnaryExpressionNotPlusMinus_NotName ==>> abstract final instanceof native 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 $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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 ThrowExpression ==>> SEMICOLON ConstantExpressions ==>> COLON COMMA BeginCaseExpr 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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof Catches ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 96 if int interface long native new null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral LPAREN AT BeginLambda AT308 FieldAccess ==>> abstract final instanceof native 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 $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 null private protected public return short static strictfp super switch synchronized this throw transient true IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 97 try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof PushLPAREN ==>> Identifier abstract boolean byte char double false final float int long native new null private protected public short static strictfp super switch synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN RPAREN AT BeginLambda BeginIntersectionCast AT308 PushRPAREN ==>> Identifier abstract boolean byte char double false final float instanceof int long native new null private protected public short static strictfp super switch synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral 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 RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ARROW COLON_COLON BeginLambda BeginIntersectionCast ElidedSemicolonAndRightBrace AT308 BeginCaseExpr $eof PrimaryNoNewArray ==>> abstract final instanceof native 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 $eof ArrayCreationWithArrayInitializer ==>> abstract final instanceof native 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 98 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 $eof ArrayCreationWithoutArrayInitializer ==>> abstract final instanceof native 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 $eof Expression_NotName ==>> RPAREN QualifiedSuperReceiver ==>> DOT COLON_COLON ArrayAccess ==>> abstract final instanceof native 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 $eof LambdaExpression ==>> abstract final instanceof native 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 $eof ReferenceExpression ==>> abstract final instanceof native 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 $eof ReferenceExpressionTypeArgumentsAndTrunk0 ==>> COLON_COLON $eof NonWildTypeArgumentsopt ==>> Identifier new IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 99 IdentifierOrNew ==>> abstract final instanceof native 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 $eof LambdaParameters ==>> ARROW LambdaBody ==>> abstract final instanceof native 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 $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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 EnterInstanceCreationArgumentList ==>> LPAREN UnqualifiedClassBodyopt ==>> abstract final instanceof native 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 $eof QualifiedClassBodyopt ==>> abstract final instanceof native private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 100 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 $eof ClassInstanceCreationExpressionName ==>> Identifier LESS AT308 UnqualifiedEnterAnonymousClassBody ==>> LBRACE QualifiedEnterAnonymousClassBody ==>> LBRACE ArgumentList ==>> RPAREN COMMA DimWithOrWithOutExprs ==>> abstract final instanceof native 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 $eof DimWithOrWithOutExpr ==>> abstract final instanceof native 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 $eof DimsLoop ==>> Identifier abstract default final instanceof native 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 RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr $eof OneDimLoop ==>> Identifier abstract default final instanceof native 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 RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr $eof PostfixExpression ==>> abstract final instanceof native private protected public static strictfp synchronized transient volatile PLUS_PLUS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 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 REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA EQUAL AT ElidedSemicolonAndRightBrace BeginCaseExpr $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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UnaryExpression ==>> abstract final instanceof native 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 $eof CastExpression ==>> abstract final instanceof native 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 $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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 InsideCastExpressionLL1 ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 CastNameAndBounds ==>> RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 102 InsideCastExpressionLL1WithBounds ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AdditionalBoundList ==>> AND RPAREN COMMA MultiplicativeExpression ==>> abstract final instanceof native 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 $eof AdditiveExpression ==>> abstract final instanceof native 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 $eof ShiftExpression ==>> abstract final instanceof native 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 $eof RelationalExpression ==>> abstract final instanceof native 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 $eof InstanceofExpression ==>> abstract final instanceof native 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 $eof EqualityExpression ==>> abstract final native 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 $eof AndExpression ==>> abstract final native 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 $eof ExclusiveOrExpression ==>> abstract final native private protected public IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 103 static strictfp synchronized transient volatile OR_OR AND_AND XOR OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr $eof InclusiveOrExpression ==>> abstract final native private protected public static strictfp synchronized transient volatile OR_OR AND_AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr $eof ConditionalAndExpression ==>> abstract final native private protected public static strictfp synchronized transient volatile OR_OR AND_AND RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr $eof ConditionalOrExpression ==>> abstract final native private protected public static strictfp synchronized transient volatile OR_OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr $eof ConditionalExpression ==>> abstract final native private protected public static strictfp synchronized transient volatile RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr $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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 InvalidArrayInitializerAssignement ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof ConstantExpression ==>> NestedType ==>> Identifier abstract boolean byte char class default double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof EnumHeaderName ==>> abstract final implements native private protected public IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 104 static strictfp synchronized transient volatile LBRACE AT $eof EnumBodyDeclarationsopt ==>> RBRACE EnumConstants ==>> RBRACE SEMICOLON COMMA EnumConstant ==>> RBRACE SEMICOLON COMMA EnumConstantHeaderName ==>> abstract final native private protected public static strictfp synchronized transient volatile LPAREN LBRACE RBRACE SEMICOLON COMMA AT $eof Argumentsopt ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE RBRACE SEMICOLON COMMA AT $eof Arguments ==>> abstract final native private protected public static strictfp synchronized transient volatile LBRACE RBRACE SEMICOLON COMMA AT $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 yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 EnhancedForStatementHeaderInit ==>> COLON SingleStaticImportDeclarationName ==>> SEMICOLON StaticImportOnDemandDeclarationName ==>> SEMICOLON TypeArgumentList1 ==>> Identifier abstract final implements instanceof native new 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 $eof TypeArgument1 ==>> Identifier abstract final implements instanceof native new 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 $eof TypeArgumentList ==>> COMMA TypeArgument ==>> COMMA IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 105 Wildcard ==>> COMMA ReferenceType1 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new 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 $eof Wildcard1 ==>> Identifier abstract final implements instanceof native new 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 $eof TypeArgumentList2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new 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 $eof TypeArgument2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new 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 $eof ReferenceType2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new 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 $eof Wildcard2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new 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 $eof TypeArgumentList3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new private protected IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 106 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 $eof TypeArgument3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new 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 $eof ReferenceType3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new 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 $eof Wildcard3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new 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 $eof WildcardBounds ==>> COMMA WildcardBounds1 ==>> Identifier abstract final implements instanceof native new 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 $eof WildcardBounds2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new 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 $eof WildcardBounds3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 107 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 $eof TypeParameterHeader ==>> extends GREATER COMMA TypeParameterList1 ==>> Identifier abstract boolean byte char double extends final float implements int long native private protected public short static strictfp synchronized transient void volatile LBRACE AT AT308 $eof TypeParameterList ==>> COMMA TypeParameter ==>> COMMA AdditionalBound ==>> AND RPAREN COMMA TypeParameter1 ==>> Identifier abstract boolean byte char double extends final float implements int long native private protected public short static strictfp synchronized transient void volatile LBRACE AT AT308 $eof AdditionalBoundList1 ==>> Identifier abstract boolean byte char double extends final float implements int long native private protected public short static strictfp synchronized transient void volatile LBRACE AT AT308 $eof AdditionalBound1 ==>> Identifier abstract boolean byte char double extends final float implements int long native private protected public short static strictfp synchronized transient void volatile LBRACE AT AT308 $eof PostfixExpression_NotName ==>> abstract final instanceof native 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 $eof UnaryExpression_NotName ==>> abstract final instanceof native 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 $eof MultiplicativeExpression_NotName ==>> abstract final instanceof native 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 $eof AdditiveExpression_NotName ==>> abstract final instanceof native 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 108 RPAREN RBRACE SEMICOLON QUESTION COMMA AT $eof ShiftExpression_NotName ==>> abstract final instanceof native 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 $eof RelationalExpression_NotName ==>> abstract final instanceof native 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 $eof InstanceofExpression_NotName ==>> abstract final instanceof native 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 $eof EqualityExpression_NotName ==>> abstract final native 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 $eof AndExpression_NotName ==>> abstract final native private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT $eof ExclusiveOrExpression_NotName ==>> abstract final native private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT $eof InclusiveOrExpression_NotName ==>> abstract final native private protected public static strictfp synchronized transient volatile OR_OR AND_AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT $eof ConditionalAndExpression_NotName ==>> abstract final native private protected public static strictfp synchronized transient volatile OR_OR AND_AND RPAREN RBRACE SEMICOLON QUESTION COMMA AT $eof ConditionalOrExpression_NotName ==>> abstract final native private protected public static strictfp synchronized transient volatile OR_OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT $eof ConditionalExpression_NotName ==>> abstract final native private protected public static strictfp synchronized transient volatile RPAREN RBRACE SEMICOLON COMMA AT $eof AssignmentExpression_NotName ==>> RPAREN AnnotationTypeDeclarationHeaderName ==>> abstract extends final implements native private protected public static strictfp synchronized transient IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 109 volatile LBRACE AT $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 null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while yield IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 $eof AnnotationTypeMemberDeclarationsopt ==>> RBRACE AnnotationTypeMemberDeclarations ==>> Identifier abstract boolean byte char class double enum final float int interface long native private protected public short static strictfp synchronized transient void volatile LESS RBRACE SEMICOLON AT AT308 AnnotationMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 AnnotationMethodHeaderDefaultValueopt ==>> abstract final native private protected public static strictfp synchronized transient volatile SEMICOLON AT $eof DefaultValue ==>> abstract final native private protected public static strictfp synchronized transient volatile SEMICOLON AT $eof AnnotationMethodHeader ==>> SEMICOLON NormalAnnotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 $eof MarkerAnnotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 $eof SingleMemberAnnotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 $eof AnnotationName ==>> Identifier abstract boolean byte char class default double enum final float int interface long native package private protected public short static strictfp synchronized transient void volatile module open LESS LPAREN RPAREN RBRACE SEMICOLON COMMA AT AT308 $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 110 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 PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 ExitMemberValue ==>> RPAREN COMMA MemberValueArrayInitializer ==>> abstract final native private protected public static strictfp synchronized transient volatile RPAREN RBRACE SEMICOLON COMMA AT $eof EnterMemberValueArrayInitializer ==>> LBRACE MemberValues ==>> RBRACE COMMA RecoveryMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 111 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 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 throws ::= throws IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 112 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 yield ::= yield IntegerLiteral ::= IntegerLiteral LongLiteral ::= LongLiteral FloatingPointLiteral ::= FloatingPointLiteral DoubleLiteral ::= DoubleLiteral CharacterLiteral ::= CharacterLiteral StringLiteral ::= StringLiteral 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 ::= & IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 113 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 $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 PackageDeclaration ::= PackageDeclaration TypeDeclaration ::= TypeDeclaration GenericMethodDeclaration ::= GenericMethodDeclaration ClassBodyDeclarations ::= ClassBodyDeclarations Expression ::= Expression ArrayInitializer ::= ArrayInitializer BlockStatementsopt ::= BlockStatementsopt BlockStatementopt ::= BlockStatementopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 114 MemberValue ::= MemberValue AnnotationTypeMemberDeclaration ::= AnnotationTypeMemberDeclaration ParenthesizedLambdaParameterList ::= ParenthesizedLambdaParameterList ParenthesizedCastNameAndBounds ::= ParenthesizedCastNameAndBounds ReferenceExpressionTypeArgumentsAndTrunk ::= ReferenceExpressionTypeArgumentsAndTrunk TypeAnnotations ::= TypeAnnotations 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 VariableDeclaratorIdOrThis ::= VariableDeclaratorIdOrThis VariableDeclaratorId ::= VariableDeclaratorId EnterCompilationUnit ::= EnterCompilationUnit InternalCompilationUnit ::= InternalCompilationUnit ImportDeclarations ::= ImportDeclarations ReduceImports ::= ReduceImports TypeDeclarations ::= TypeDeclarations ModuleDeclaration ::= ModuleDeclaration ModuleHeader ::= ModuleHeader ModuleBody ::= ModuleBody ModuleModifieropt ::= ModuleModifieropt ModuleModifier ::= ModuleModifier ModuleStatementsOpt ::= ModuleStatementsOpt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 115 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 AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeader RecoveryMethodHeader ::= RecoveryMethodHeader AllocationHeader ::= AllocationHeader ArrayCreationHeader ::= ArrayCreationHeader ConstructorHeader ::= ConstructorHeader EnumConstantHeader ::= EnumConstantHeader CatchFormalParameter ::= CatchFormalParameter PackageDeclarationName ::= PackageDeclarationName Modifiers ::= Modifiers PushRealModifiers ::= PushRealModifiers PackageComment ::= PackageComment SingleTypeImportDeclaration ::= SingleTypeImportDeclaration TypeImportOnDemandDeclaration ::= TypeImportOnDemandDeclaration SingleStaticImportDeclaration ::= SingleStaticImportDeclaration StaticImportOnDemandDeclaration ::= StaticImportOnDemandDeclaration SingleTypeImportDeclarationName ::= SingleTypeImportDeclarationName TypeImportOnDemandDeclarationName ::= TypeImportOnDemandDeclarationName ClassDeclaration ::= ClassDeclaration InterfaceDeclaration ::= InterfaceDeclaration EnumDeclaration ::= EnumDeclaration AnnotationTypeDeclaration ::= AnnotationTypeDeclaration Modifier ::= Modifier Annotation ::= Annotation ClassBody ::= ClassBody ClassHeaderName ::= ClassHeaderName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 116 ClassHeaderExtendsopt ::= ClassHeaderExtendsopt ClassHeaderImplementsopt ::= ClassHeaderImplementsopt 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 117 InterfaceHeaderExtendsopt ::= InterfaceHeaderExtendsopt InterfaceHeaderName1 ::= InterfaceHeaderName1 InterfaceHeaderExtends ::= InterfaceHeaderExtends InterfaceMemberDeclarationsopt ::= InterfaceMemberDeclarationsopt InterfaceMemberDeclarations ::= InterfaceMemberDeclarations InterfaceMemberDeclaration ::= InterfaceMemberDeclaration ConstantDeclaration ::= ConstantDeclaration InvalidConstructorDeclaration ::= InvalidConstructorDeclaration InvalidInitializer ::= InvalidInitializer 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 YieldStatement ::= YieldStatement Label ::= Label StatementExpression ::= StatementExpression Assignment ::= Assignment PreIncrementExpression ::= PreIncrementExpression PreDecrementExpression ::= PreDecrementExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 118 PostIncrementExpression ::= PostIncrementExpression PostDecrementExpression ::= PostDecrementExpression MethodInvocation ::= MethodInvocation ClassInstanceCreationExpression ::= ClassInstanceCreationExpression SwitchBlock ::= SwitchBlock SwitchBlockStatements ::= SwitchBlockStatements SwitchLabels ::= SwitchLabels SwitchBlockStatement ::= SwitchBlockStatement SwitchLabeledRule ::= SwitchLabeledRule SwitchLabel ::= SwitchLabel SwitchLabelCaseLhs ::= SwitchLabelCaseLhs UnaryExpressionNotPlusMinus ::= UnaryExpressionNotPlusMinus SwitchExpression ::= SwitchExpression UnaryExpressionNotPlusMinus_NotName ::= UnaryExpressionNotPlusMinus_NotName SwitchLabeledExpression ::= SwitchLabeledExpression SwitchLabeledBlock ::= SwitchLabeledBlock SwitchLabeledThrowStatement ::= SwitchLabeledThrowStatement SwitchLabelExpr ::= SwitchLabelExpr ThrowExpression ::= ThrowExpression ConstantExpressions ::= ConstantExpressions 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 PushLPAREN ::= PushLPAREN PushRPAREN ::= PushRPAREN 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 Mon Oct 4 09:57:22 2021 Page 119 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 RelationalExpression ::= RelationalExpression InstanceofExpression ::= InstanceofExpression EqualityExpression ::= EqualityExpression AndExpression ::= AndExpression ExclusiveOrExpression ::= ExclusiveOrExpression InclusiveOrExpression ::= InclusiveOrExpression ConditionalAndExpression ::= ConditionalAndExpression ConditionalOrExpression ::= ConditionalOrExpression ConditionalExpression ::= ConditionalExpression AssignmentExpression ::= AssignmentExpression AssignmentOperator ::= AssignmentOperator InvalidArrayInitializerAssignement ::= InvalidArrayInitializerAssignement ConstantExpression ::= ConstantExpression NestedType ::= NestedType EnumBody ::= EnumBody IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 120 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 Mon Oct 4 09:57:22 2021 Page 121 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 Mon Oct 4 09:57:22 2021 Page 122 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 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 MethodInvocation ::= super DOT Identifier LPAREN ArgumentListopt .RPAREN MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt .RPAREN MethodInvocation ::= Primary DOT Identifier LPAREN ArgumentListopt .RPAREN ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt .IdentifierOrNew EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 123 PushRealModifiers .Identifier ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN DoStatement ::= do Statement while LPAREN Expression .RPAREN SEMICOLON IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN StatementNoShortIf .else StatementNoShortIf IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf .else Statement 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 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 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues .COMMA RBRACE EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers .Identifier ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations .ELLIPSIS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 124 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 125 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 WhileStatementNoShortIf ::= while LPAREN Expression .RPAREN StatementNoShortIf WhileStatement ::= while LPAREN Expression .RPAREN Statement IfThenStatement ::= if LPAREN Expression .RPAREN Statement ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .COMMA RBRACE 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 CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds . PushRPAREN UnaryExpressionNotPlusMinus ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk .COLON_COLON IdentifierOrNew SwitchExpression ::= switch LPAREN Expression .RPAREN SwitchBlock SwitchStatement ::= switch LPAREN Expression .RPAREN SwitchBlock EnhancedForStatementHeaderInit ::= for LPAREN Modifiers .Type Identifier 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 RPAREN ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList .LPAREN RPAREN IfThenElseStatementNoShortIf ::= if LPAREN Expression .RPAREN StatementNoShortIf else StatementNoShortIf IfThenElseStatement ::= if LPAREN Expression .RPAREN StatementNoShortIf else Statement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 126 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 YieldStatement ::= yield Expression .SEMICOLON TryStatement ::= try TryBlock .Catches ThrowStatement ::= throw Expression .SEMICOLON ReturnStatement ::= return Expressionopt .SEMICOLON BreakStatement ::= break Expression .SEMICOLON AssertStatement ::= assert Expression .SEMICOLON SwitchLabeledThrowStatement ::= SwitchLabelExpr ThrowExpression .SEMICOLON SwitchLabeledExpression ::= SwitchLabelExpr Expression .SEMICOLON SwitchBlock ::= LBRACE SwitchLabels .RBRACE SwitchBlock ::= LBRACE SwitchBlockStatements .RBRACE LocalVariableDeclaration ::= Type PushModifiers .VariableDeclarators 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 127 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 DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters .Type Identifier LPAREN MethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeader ::= MethodHeaderName FormalParameterListopt . MethodHeaderRightParen 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 RPAREN Resource ::= Type PushModifiers .VariableDeclaratorId EQUAL VariableInitializer CastExpression ::= PushLPAREN Name .OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType PushRPAREN UnaryExpressionNotPlusMinus AnnotationTypeMemberDeclaration ::= AnnotationMethodHeader .SEMICOLON AnnotationTypeDeclaration ::= AnnotationTypeDeclarationHeader . AnnotationTypeBody 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 128 EnumDeclaration ::= EnumHeader .EnumBody CastNameAndBounds ::= Name .AdditionalBoundList TypeElidedFormalParameter ::= Modifiersopt .Identifier SwitchLabel ::= SwitchLabelCaseLhs .COLON SwitchBlockStatement ::= SwitchLabels .BlockStatements ExpressionStatement ::= StatementExpression .SEMICOLON LocalVariableDeclarationStatement ::= LocalVariableDeclaration .SEMICOLON 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 InstanceofExpression_NotName ::= Name .instanceof ReferenceType RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER ShiftExpression 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 129 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 InterfaceHeaderName1 ::= Modifiersopt .interface Identifier CatchFormalParameter ::= Modifiersopt .CatchType VariableDeclaratorId FormalParameter ::= Modifiersopt .Type VariableDeclaratorIdOrThis ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default ClassHeaderName1 ::= Modifiersopt .class Identifier 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 FormalParameter ::= Modifiersopt .Type ELLIPSIS VariableDeclaratorIdOrThis DefaultMethodHeaderName ::= ModifiersWithDefault .TypeParameters Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 130 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 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 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 Mon Oct 4 09:57:22 2021 Page 131 Number of Terminals: 130 Number of Nonterminals: 397 Number of Productions: 870 Number of Single Productions: 258 Number of Items: 2745 Number of Scopes: 299 Number of States: 1168 Number of Shift actions: 5597 Number of Goto actions: 9905 Number of Shift/Reduce actions: 727 Number of Goto/Reduce actions: 2447 Number of Reduce actions: 17554 Number of Shift-Reduce conflicts: 0 Number of Reduce-Reduce conflicts: 0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 132 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 ::= .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 AT Shift 3 LESS Shift 4 LPAREN Shift 5 ARROW Shift 6 LBRACE Shift 7 TWIDDLE Shift 8 REMAINDER Shift 9 AND Shift 10 DIVIDE Shift 11 PLUS Shift 12 QUESTION Shift 13 OR_OR Shift 14 AND_AND Shift 15 MULTIPLY Shift 16 NOT Shift 17 UNSIGNED_RIGHT_SHIFT Shift 18 RIGHT_SHIFT Shift 19 MINUS_MINUS Shift 20 PLUS_PLUS Shift 21 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 133 Goal Goto 2 STATE 2 ------------------------------------------------------------------------ ( 1 ) $acc ::= Goal . (0) $eof Accept STATE 3 ------------------------------------------------------------------------ ( 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 22 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotations Gt/Rd 24 STATE 4 ------------------------------------------------------------------------ ( 1 ) Goal ::= LESS .ReferenceExpressionTypeArgumentsAndTrunk ReferenceExpressionTypeArgumentsAndTrunk ::= . ReferenceExpressionTypeArgumentsAndTrunk0 ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments Dimsopt ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments DOT ClassOrInterfaceType Dimsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 134 OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 25 OnlyTypeArguments Goto 26 ReferenceExpressionTypeArgumentsAndTrunk0 Gt/Rd 470 ReferenceExpressionTypeArgumentsAndTrunk Gt/Rd 23 STATE 5 ------------------------------------------------------------------------ ( 1 ) Goal ::= LPAREN .ParenthesizedCastNameAndBounds ParenthesizedCastNameAndBounds ::= .LPAREN CastNameAndBounds RPAREN LPAREN Shift 27 ParenthesizedCastNameAndBounds Gt/Rd 22 STATE 6 ------------------------------------------------------------------------ ( 1 ) Goal ::= ARROW .ParenthesizedLambdaParameterList PushLPAREN ::= .LPAREN ParenthesizedLambdaParameterList ::= .LambdaParameterList LambdaParameterList ::= .PushLPAREN FormalParameterListopt PushRPAREN LambdaParameterList ::= .PushLPAREN TypeElidedFormalParameterList PushRPAREN LPAREN Sh/Rd 449 PushLPAREN Goto 28 LambdaParameterList Gt/Rd 487 ParenthesizedLambdaParameterList Gt/Rd 21 STATE 7 ------------------------------------------------------------------------ ( 1 ) Goal ::= LBRACE .BlockStatementopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 135 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 ::= . (71) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 136 ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) BlockStatementopt ::= .BlockStatementopt0 BlockStatementopt0 ::= . (325) BlockStatementopt0 ::= .BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 137 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 138 TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally YieldStatement ::= .yield Expression SEMICOLON 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 139 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 InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 140 Modifiersopt ::= . (637) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 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 yield Shift 40 try Shift 41 throw Shift 42 return Shift 44 continue Shift 45 break Shift 46 do Shift 47 switch Shift 48 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 BeginLambda Shift 56 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 null Shift 935 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 141 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 super Shift 65 this Shift 67 LESS Shift 25 SEMICOLON Sh/Rd 366 assert Shift 70 if Shift 72 while Shift 73 for Shift 75 strictfp Shift 934 volatile Shift 934 transient Shift 934 synchronized Shift 78 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 protected Shift 934 public Shift 934 AT Shift 79 AT308 Shift 22 Identifier Shift 84 BlockStatement Goto 936 LocalVariableDeclaration Goto 90 PrimitiveType Goto 89 ReferenceType Goto 77 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 943 Name Goto 85 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 82 Modifier Goto 934 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 142 Modifiers Goto 81 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Type Goto 77 StatementWithoutTrailingSubstatement Goto 936 LabeledStatement Goto 936 IfThenStatement Goto 936 IfThenElseStatement Goto 936 WhileStatement Goto 936 ForStatement Goto 936 EnhancedForStatement Goto 936 EnhancedForStatementHeaderInit Goto 76 EnhancedForStatementHeader Goto 74 Label Goto 71 OpenBlock Goto 69 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OnlyTypeArguments Goto 66 Primary Goto 64 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 941 BooleanLiteral Goto 935 ClassInstanceCreationExpressionName Goto 59 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 Literal Goto 935 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 54 FieldAccess Goto 940 MethodInvocation Goto 53 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 OnlySynchronized Goto 43 AssertStatement Goto 936 Block Goto 936 EmptyStatement Goto 936 ExpressionStatement Goto 936 SwitchStatement Goto 936 DoStatement Goto 936 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 143 BreakStatement Goto 936 ContinueStatement Goto 936 ReturnStatement Goto 936 SynchronizedStatement Goto 936 ThrowStatement Goto 936 TryStatement Goto 936 TryStatementWithResources Goto 936 YieldStatement Goto 936 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 EnumHeader Goto 30 EnumHeaderName Goto 29 LocalVariableDeclarationStatement Goto 936 Statement Goto 936 ClassDeclaration Goto 936 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 BlockStatementopt0 Gt/Rd 324 BlockStatementopt Gt/Rd 18 class Reduce 637 enum Reduce 637 interface Reduce 637 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 $eof Reduce 325 Default reduction to rule 71 STATE 8 ------------------------------------------------------------------------ ( 1 ) Goal ::= TWIDDLE .BlockStatementsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 144 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 145 Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 146 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 147 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 YieldStatement ::= .yield Expression SEMICOLON 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 148 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 Mon Oct 4 09:57:22 2021 Page 149 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 ::= . (637) Modifiersopt ::= .Modifiers BlockStatementsopt ::= . (639) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 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 yield Shift 40 try Shift 41 throw Shift 42 return Shift 44 continue Shift 45 break Shift 46 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 150 do Shift 47 switch Shift 48 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 BeginLambda Shift 56 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 super Shift 65 this Shift 67 LESS Shift 25 SEMICOLON Sh/Rd 366 assert Shift 70 if Shift 72 while Shift 73 for Shift 75 strictfp Shift 934 volatile Shift 934 transient Shift 934 synchronized Shift 78 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 protected Shift 934 public Shift 934 AT Shift 79 AT308 Shift 22 Identifier Shift 84 BlockStatement Gt/Rd 322 BlockStatements Goto 91 LocalVariableDeclaration Goto 90 PrimitiveType Goto 89 ReferenceType Goto 77 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 943 Name Goto 85 ArrayTypeWithTypeArgumentsName Goto 83 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 151 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 82 Modifier Goto 934 Modifiers Goto 81 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Type Goto 77 StatementWithoutTrailingSubstatement Goto 944 LabeledStatement Goto 944 IfThenStatement Goto 944 IfThenElseStatement Goto 944 WhileStatement Goto 944 ForStatement Goto 944 EnhancedForStatement Goto 944 EnhancedForStatementHeaderInit Goto 76 EnhancedForStatementHeader Goto 74 Label Goto 71 OpenBlock Goto 69 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OnlyTypeArguments Goto 66 Primary Goto 64 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 941 BooleanLiteral Goto 935 ClassInstanceCreationExpressionName Goto 59 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 Literal Goto 935 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 54 FieldAccess Goto 940 MethodInvocation Goto 53 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 152 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 OnlySynchronized Goto 43 AssertStatement Goto 944 Block Goto 944 EmptyStatement Goto 944 ExpressionStatement Goto 944 SwitchStatement Goto 944 DoStatement Goto 944 BreakStatement Goto 944 ContinueStatement Goto 944 ReturnStatement Goto 944 SynchronizedStatement Goto 944 ThrowStatement Goto 944 TryStatement Goto 944 TryStatementWithResources Goto 944 YieldStatement Goto 944 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 EnumHeader Goto 30 EnumHeaderName Goto 29 LocalVariableDeclarationStatement Goto 944 Statement Goto 944 ClassDeclaration Goto 944 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 BlockStatementsopt Gt/Rd 17 $eof Reduce 639 class Reduce 637 enum Reduce 637 interface Reduce 637 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 153 Default reduction to rule 71 STATE 9 ------------------------------------------------------------------------ ( 1 ) Goal ::= REMAINDER .Expression Goal ::= REMAINDER .ArrayInitializer Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 154 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 155 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 Mon Oct 4 09:57:22 2021 Page 156 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 157 AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 LBRACE Shift 116 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 158 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Gt/Rd 15 ArrayInitializer Gt/Rd 16 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 10 ----------------------------------------------------------------------- ( 1 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 159 Goal ::= AND .ClassBodyDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 ::= . (216) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 160 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 225 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 private Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 161 protected Shift 958 public Shift 958 AT Shift 79 static Shift 125 ClassMemberDeclaration Goto 959 StaticInitializer Goto 959 ConstructorDeclaration Goto 959 Diet Goto 129 ConstructorHeaderName Goto 128 Modifiersopt Goto 127 ConstructorHeader Goto 126 StaticOnly Goto 124 Modifier Goto 958 Modifiers Goto 123 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 AbstractMethodDeclaration Goto 959 MethodHeader Goto 122 DefaultMethodHeader Goto 121 ModifiersWithDefault Goto 120 DefaultMethodHeaderName Goto 119 MethodHeaderName Goto 118 ClassHeader Goto 39 ClassHeaderName1 Goto 38 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 FieldDeclaration Goto 959 MethodDeclaration Goto 959 ClassDeclaration Goto 959 InterfaceDeclaration Goto 959 EnumDeclaration Goto 959 AnnotationTypeDeclaration Goto 959 ClassBodyDeclaration Gt/Rd 210 ClassBodyDeclarations Goto 117 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 default Reduce 637 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 162 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 LBRACE Reduce 216 Default reduction to rule 637 STATE 11 ----------------------------------------------------------------------- ( 1 ) Goal ::= DIVIDE .GenericMethodDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 163 ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 AbstractMethodDeclaration Gt/Rd 13 MethodHeader Goto 122 DefaultMethodHeader Goto 121 ModifiersWithDefault Goto 120 Modifiersopt Goto 132 DefaultMethodHeaderName Goto 119 MethodHeaderName Goto 118 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 ConstructorHeader Goto 126 ConstructorHeaderName Goto 128 MethodDeclaration Gt/Rd 13 ConstructorDeclaration Gt/Rd 13 GenericMethodDeclaration Gt/Rd 13 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 164 char Reduce 637 default Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 12 ----------------------------------------------------------------------- ( 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 Mon Oct 4 09:57:22 2021 Page 165 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 182 AT Shift 79 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiers Goto 123 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 166 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 ClassDeclaration Gt/Rd 12 InterfaceDeclaration Gt/Rd 12 EnumDeclaration Gt/Rd 12 AnnotationTypeDeclaration Gt/Rd 12 TypeDeclaration Gt/Rd 12 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 637 STATE 13 ----------------------------------------------------------------------- ( 1 ) Goal ::= QUESTION .PackageDeclaration Goal ::= QUESTION .AnnotationTypeMemberDeclaration PackageDeclaration ::= .PackageDeclarationName SEMICOLON PackageDeclarationName ::= .Modifiers package PushRealModifiers Name RejectTypeAnnotations PackageDeclarationName ::= .PackageComment package Name RejectTypeAnnotations PackageComment ::= . (171) TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 167 ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 182 AT Shift 79 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 168 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 AnnotationMethodHeaderName Goto 138 Modifiers Goto 137 Modifiersopt Goto 136 FieldDeclaration Gt/Rd 20 ConstructorHeader Goto 126 ConstructorHeaderName Goto 128 ClassDeclaration Gt/Rd 20 InterfaceDeclaration Gt/Rd 20 EnumDeclaration Gt/Rd 20 AnnotationTypeDeclaration Gt/Rd 20 AnnotationTypeDeclarationHeaderName Goto 31 AnnotationTypeDeclarationHeader Goto 32 EnumHeaderName Goto 29 EnumHeader Goto 30 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 InterfaceHeader Goto 35 ClassHeaderName Goto 36 ClassHeaderName1 Goto 38 ClassHeader Goto 39 AnnotationMethodHeader Goto 135 ConstantDeclaration Gt/Rd 20 ConstructorDeclaration Gt/Rd 20 TypeDeclaration Gt/Rd 20 PackageComment Goto 134 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 PackageDeclarationName Goto 133 PackageDeclaration Gt/Rd 11 AnnotationTypeMemberDeclaration Gt/Rd 20 package Reduce 171 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 169 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 14 ----------------------------------------------------------------------- ( 1 ) Goal ::= OR_OR .ImportDeclaration Goal ::= OR_OR .MemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 170 MULTIPLY UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 171 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 AdditionalBoundsListOpt PushRPAREN InsideCastExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 172 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 ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 173 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 instanceof ReferenceType InstanceofExpression_NotName ::= .InstanceofExpression_NotName instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 174 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 ::= . (858) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN import Shift 142 AT Shift 130 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 NOT Shift 145 TWIDDLE Shift 146 BeginIntersectionCast Shift 100 null Shift 960 StringLiteral Shift 960 CharacterLiteral Shift 960 DoubleLiteral Shift 960 FloatingPointLiteral Shift 960 LongLiteral Shift 960 IntegerLiteral Shift 960 false Shift 960 true Shift 960 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 switch Shift 94 MINUS Shift 151 PLUS Shift 152 ConditionalOrExpression_NotName Goto 164 Name Goto 163 InclusiveOrExpression_NotName Goto 162 ConditionalAndExpression_NotName Goto 161 AndExpression_NotName Goto 160 ExclusiveOrExpression_NotName Goto 159 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 175 InstanceofExpression_NotName Goto 158 EqualityExpression_NotName Goto 157 ShiftExpression_NotName Goto 156 RelationalExpression_NotName Goto 155 MultiplicativeExpression_NotName Goto 154 AdditiveExpression_NotName Goto 153 PreIncrementExpression Goto 961 PreDecrementExpression Goto 961 UnaryExpressionNotPlusMinus_NotName Goto 961 Primary Goto 150 PostIncrementExpression Goto 149 PostDecrementExpression Goto 148 PostfixExpression Goto 147 Literal Goto 960 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 969 FieldAccess Goto 968 PrimitiveType Goto 95 MethodInvocation Goto 967 ArrayAccess Goto 966 LambdaExpression Goto 965 ReferenceExpression Goto 964 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 963 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 960 ArrayCreationWithoutArrayInitializer Goto 962 SwitchExpression Goto 961 PostfixExpression_NotName Goto 961 CastExpression Goto 961 UnaryExpression_NotName Goto 961 NormalAnnotation Gt/Rd 19 MarkerAnnotation Gt/Rd 19 SingleMemberAnnotation Gt/Rd 19 AnnotationName Goto 80 EnterMemberValueArrayInitializer Goto 144 ConditionalExpression_NotName Gt/Rd 19 Annotation Gt/Rd 19 MemberValueArrayInitializer Gt/Rd 19 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 176 SingleTypeImportDeclarationName Goto 143 TypeImportOnDemandDeclarationName Goto 141 SingleStaticImportDeclarationName Goto 140 StaticImportOnDemandDeclarationName Goto 139 SingleTypeImportDeclaration Gt/Rd 10 TypeImportOnDemandDeclaration Gt/Rd 10 SingleStaticImportDeclaration Gt/Rd 10 StaticImportOnDemandDeclaration Gt/Rd 10 ImportDeclaration Gt/Rd 10 MemberValue Gt/Rd 19 LBRACE Reduce 858 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 15 ----------------------------------------------------------------------- ( 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 177 NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 165 FieldDeclaration Gt/Rd 9 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 16 ----------------------------------------------------------------------- ( 1 ) Goal ::= MULTIPLY .BlockStatements Goal ::= MULTIPLY .CatchHeader Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 178 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 179 Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 180 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 181 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 YieldStatement ::= .yield Expression SEMICOLON 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 182 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 Mon Oct 4 09:57:22 2021 Page 183 PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (637) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 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 AT308 Shift 22 strictfp Shift 934 volatile Shift 934 transient Shift 934 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 184 protected Shift 934 public Shift 934 for Shift 75 while Shift 73 if Shift 72 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Shift 78 throw Shift 42 try Shift 41 yield Shift 40 AT Shift 79 catch Shift 167 LocalVariableDeclarationStatement Goto 944 Statement Goto 944 ClassDeclaration Goto 944 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 EnumHeaderName Goto 29 Modifiersopt Goto 37 EnumHeader Goto 30 AnnotationTypeDeclarationHeaderName Goto 31 Modifiers Goto 81 AnnotationTypeDeclarationHeader Goto 32 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 185 InterfaceHeader Goto 35 ClassHeaderName Goto 36 ClassHeaderName1 Goto 38 ClassHeader Goto 39 AssertStatement Goto 944 Block Goto 944 EmptyStatement Goto 944 ExpressionStatement Goto 944 SwitchStatement Goto 944 DoStatement Goto 944 BreakStatement Goto 944 ContinueStatement Goto 944 ReturnStatement Goto 944 SynchronizedStatement Goto 944 ThrowStatement Goto 944 TryStatement Goto 944 TryStatementWithResources Goto 944 YieldStatement Goto 944 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 85 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 89 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 Label Goto 71 EnhancedForStatementHeader Goto 74 EnhancedForStatementHeaderInit Goto 76 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 186 StatementWithoutTrailingSubstatement Goto 944 LabeledStatement Goto 944 IfThenStatement Goto 944 IfThenElseStatement Goto 944 WhileStatement Goto 944 ForStatement Goto 944 EnhancedForStatement Goto 944 Type Goto 77 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 934 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 GenericType Goto 87 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 943 ReferenceType Goto 77 LocalVariableDeclaration Goto 90 BlockStatement Gt/Rd 322 BlockStatements Goto 166 CatchHeader Gt/Rd 8 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 LBRACE Reduce 321 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 71 STATE 17 ----------------------------------------------------------------------- ( 1 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 187 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 ::= . (171) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier AllocationHeader ::= .new ClassType LPAREN ArgumentListopt RPAREN ArrayCreationHeader ::= .new PrimitiveType DimWithOrWithOutExprs IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 188 ArrayCreationHeader ::= .new ClassOrInterfaceType DimWithOrWithOutExprs Modifiersopt ::= . (637) 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 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 142 strictfp Shift 958 volatile Shift 958 transient Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 189 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 private Shift 958 protected Shift 958 public Shift 958 AT Shift 79 static Shift 125 new Shift 172 requires Shift 175 exports Shift 177 uses Shift 179 provides Shift 181 opens Shift 183 ImportDeclaration Goto 168 PackageDeclaration Goto 168 ClassHeader Goto 168 InterfaceHeader Goto 168 EnumHeader Goto 168 AnnotationTypeDeclarationHeader Goto 168 StaticInitializer Goto 168 RecoveryMethodHeader Goto 168 FieldDeclaration Goto 168 AllocationHeader Goto 168 ArrayCreationHeader Goto 168 ModuleHeader Goto 168 RequiresStatement Goto 168 ExportsStatement Goto 168 UsesStatement Goto 168 ProvidesStatement Goto 168 OpensStatement Goto 168 OpensHeader Goto 182 ProvidesInterface Goto 180 UsesHeader Goto 178 ExportsHeader Goto 176 SingleRequiresModuleName Goto 174 Modifiersopt Goto 173 ModifiersWithDefault Goto 171 RecoveryMethodHeaderName Goto 170 StaticOnly Goto 124 Modifiers Goto 137 AnnotationTypeDeclarationHeaderName Goto 31 EnumHeaderName Goto 29 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 ClassHeaderName1 Goto 38 ClassHeaderName Goto 36 PackageComment Goto 134 Annotation Gt/Rd 198 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 190 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 PackageDeclarationName Goto 133 SingleTypeImportDeclarationName Goto 143 TypeImportOnDemandDeclarationName Goto 141 SingleStaticImportDeclarationName Goto 140 StaticImportOnDemandDeclarationName Goto 139 SingleTypeImportDeclaration Goto 168 TypeImportOnDemandDeclaration Goto 168 SingleStaticImportDeclaration Goto 168 StaticImportOnDemandDeclaration Goto 168 EnumConstantHeaderName Goto 169 Header Goto 168 EnumConstantHeader Goto 168 Header2 Goto 168 package Reduce 171 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 default Reduce 637 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 module Reduce 637 open Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 18 ----------------------------------------------------------------------- ( 1 ) Goal ::= UNSIGNED_RIGHT_SHIFT .Header1 Modifiersopt ModuleHeader ::= .Modifiersopt ModuleModifieropt module UnannotatableName RequiresStatement ::= .SingleRequiresModuleName SEMICOLON SingleRequiresModuleName ::= .requires RequiresModifiersopt UnannotatableName ExportsStatement ::= .ExportsHeader TargetModuleListopt SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 191 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 ::= . (171) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier AllocationHeader ::= .new ClassType LPAREN ArgumentListopt RPAREN ArrayCreationHeader ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationHeader ::= .new ClassOrInterfaceType DimWithOrWithOutExprs Modifiersopt ::= . (637) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 192 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 142 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 private Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 193 protected Shift 958 public Shift 958 AT Shift 79 static Shift 125 new Shift 172 requires Shift 175 exports Shift 177 uses Shift 179 provides Shift 181 opens Shift 183 ImportDeclaration Goto 184 PackageDeclaration Goto 184 ClassHeader Goto 184 InterfaceHeader Goto 184 EnumHeader Goto 184 AnnotationTypeDeclarationHeader Goto 184 StaticInitializer Goto 184 RecoveryMethodHeader Goto 184 FieldDeclaration Goto 184 AllocationHeader Goto 184 ArrayCreationHeader Goto 184 ModuleHeader Goto 184 RequiresStatement Goto 184 ExportsStatement Goto 184 UsesStatement Goto 184 ProvidesStatement Goto 184 OpensStatement Goto 184 OpensHeader Goto 182 ProvidesInterface Goto 180 UsesHeader Goto 178 ExportsHeader Goto 176 SingleRequiresModuleName Goto 174 Modifiersopt Goto 185 ModifiersWithDefault Goto 171 RecoveryMethodHeaderName Goto 170 StaticOnly Goto 124 Modifiers Goto 137 AnnotationTypeDeclarationHeaderName Goto 31 EnumHeaderName Goto 29 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 ClassHeaderName1 Goto 38 ClassHeaderName Goto 36 PackageComment Goto 134 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 194 PackageDeclarationName Goto 133 SingleTypeImportDeclarationName Goto 143 TypeImportOnDemandDeclarationName Goto 141 SingleStaticImportDeclarationName Goto 140 StaticImportOnDemandDeclarationName Goto 139 SingleTypeImportDeclaration Goto 184 TypeImportOnDemandDeclaration Goto 184 SingleStaticImportDeclaration Goto 184 StaticImportOnDemandDeclaration Goto 184 ConstructorHeaderName Goto 128 Header Goto 184 ConstructorHeader Goto 184 Header1 Goto 184 package Reduce 171 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 default Reduce 637 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 module Reduce 637 open Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 19 ----------------------------------------------------------------------- ( 1 ) Goal ::= RIGHT_SHIFT .StaticInitializer Goal ::= RIGHT_SHIFT .Initializer Diet ::= . (216) Initializer ::= .Diet NestedMethod CreateInitializer Block StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static static Sh/Rd 273 Diet Goto 186 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 195 StaticOnly Goto 124 StaticInitializer Gt/Rd 3 Initializer Gt/Rd 4 LBRACE Reduce 216 Default reduction to rule 216 STATE 20 ----------------------------------------------------------------------- ( 1 ) Goal ::= MINUS_MINUS .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (271) NestedMethod Goto 187 MethodBody Gt/Rd 2 LBRACE Reduce 271 Default reduction to rule 271 STATE 21 ----------------------------------------------------------------------- ( 1 ) Goal ::= PLUS_PLUS .CompilationUnit CompilationUnit ::= .EnterCompilationUnit InternalCompilationUnit EnterCompilationUnit ::= . (141) EnterCompilationUnit Goto 188 CompilationUnit Gt/Rd 1 abstract Reduce 141 class Reduce 141 enum Reduce 141 final Reduce 141 import Reduce 141 interface Reduce 141 native Reduce 141 package Reduce 141 private Reduce 141 protected Reduce 141 public Reduce 141 static Reduce 141 strictfp Reduce 141 synchronized Reduce 141 transient Reduce 141 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 196 volatile Reduce 141 module Reduce 141 open Reduce 141 SEMICOLON Reduce 141 AT Reduce 141 $eof Reduce 141 Default reduction to rule 141 STATE 22 ----------------------------------------------------------------------- ( 3 7 8 9 14 16 24 25 26 27 40 42 44 46 47 55 59 60 70 74 81 83 85 87 89 91 95 98 101 120 127 132 136 142 163 165 166 171 172 173 179 181 185 190 194 195 197 200 207 208 211 213 214 225 227 232 233 234 235 237 242 246 248 249 250 251 252 257 260 261 263 264 265 266 267 271 274 275 278 279 281 282 285 286 287 289 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 320 323 325 331 332 336 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 390 391 393 394 405 408 410 421 422 423 425 428 458 459 465 471 472 476 481 490 491 494 499 500 504 529 532 552 553 559 565 566 567 569 570 606 608 609 612 613 614 616 635 636 638 640 642 648 649 659 665 669 671 673 674 676 678 679 683 685 687 692 693 694 697 705 709 715 717 719 720 721 726 730 734 735 746 752 753 754 769 771 775 780 781 782 784 790 796 802 803 804 807 809 813 815 816 822 823 826 837 845 846 847 848 849 850 852 853 859 862 863 864 872 873 876 882 895 896 897 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) TypeAnnotationName ::= AT308 .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 189 SimpleName Goto 189 UnannotatableName Goto 189 STATE 23 ----------------------------------------------------------------------- ( 3 7 8 9 14 16 24 25 26 27 40 42 44 46 47 55 59 60 70 74 81 83 85 87 89 91 95 98 101 120 127 132 136 142 163 165 166 171 172 173 179 181 185 190 194 195 197 200 207 208 211 213 214 225 227 232 233 234 235 237 242 246 248 249 250 251 252 257 260 261 263 264 265 266 267 271 274 275 278 279 281 282 285 286 287 289 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 320 323 325 331 332 336 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 390 391 393 394 405 408 410 421 422 423 425 428 458 459 465 471 472 476 481 490 491 494 499 500 504 529 532 552 553 559 565 566 567 569 570 606 608 609 612 613 614 616 635 636 638 640 642 648 649 659 665 669 671 673 674 676 678 679 683 685 687 692 693 694 697 705 709 715 717 719 720 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 197 721 726 730 734 735 746 752 753 754 769 771 775 780 781 782 784 790 796 802 803 804 807 809 813 815 816 822 823 826 837 845 846 847 848 849 850 852 853 859 862 863 864 872 873 876 882 895 896 897 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) NormalTypeAnnotation ::= TypeAnnotationName .LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= TypeAnnotationName . (81) SingleMemberTypeAnnotation ::= TypeAnnotationName .LPAREN SingleMemberAnnotationMemberValue RPAREN LPAREN Shift 190 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 AT308 Reduce 81 $eof Reduce 81 Default reduction to rule 81 STATE 24 ----------------------------------------------------------------------- ( 3 7 8 9 14 16 25 26 27 40 42 44 46 47 55 59 60 70 74 81 83 85 87 89 91 95 98 101 120 127 132 136 142 163 165 166 171 172 173 179 181 185 190 194 195 197 200 207 208 211 213 214 225 227 232 233 234 235 237 242 246 248 249 250 251 252 257 260 261 263 264 265 266 267 271 274 275 278 279 281 282 285 286 287 289 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 320 323 325 331 332 336 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 390 391 393 394 405 408 410 421 422 423 425 428 458 459 465 471 472 476 481 490 491 494 499 500 504 529 532 552 553 559 565 566 567 569 570 606 608 609 612 613 614 616 635 636 638 640 642 648 649 659 665 669 671 673 674 676 678 679 683 685 687 692 693 694 697 705 709 715 717 719 720 721 726 730 734 735 746 752 753 754 769 771 775 780 781 782 784 790 796 802 803 804 807 809 813 815 816 822 823 826 837 845 846 847 848 849 850 852 853 859 862 863 864 872 873 876 882 895 896 897 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) TypeAnnotations ::= TypeAnnotations0 . (73) TypeAnnotations0 ::= TypeAnnotations0 .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 198 TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 22 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotation Gt/Rd 75 Identifier Reduce 73 boolean Reduce 73 byte Reduce 73 char Reduce 73 double Reduce 73 float Reduce 73 int Reduce 73 long Reduce 73 short Reduce 73 void Reduce 73 LBRACKET Reduce 73 QUESTION Reduce 73 ELLIPSIS Reduce 73 $eof Reduce 73 Default reduction to rule 73 STATE 25 ----------------------------------------------------------------------- ( 4 7 8 16 47 59 60 74 91 166 240 241 253 254 255 256 261 263 276 278 289 291 410 481 513 521 692 693 703 790 845 849 876 900 906 912 913 914 929 932 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 199 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 ::= . (71) 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 22 Identifier Shift 970 ReferenceType1 Gt/Rd 692 Wildcard1 Gt/Rd 692 TypeAnnotationsopt Goto 196 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 972 TypeAnnotations Goto 86 GenericType Goto 87 PrimitiveType Goto 195 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 193 TypeAnnotations0 Goto 24 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 200 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 192 TypeArgument Goto 191 TypeArgumentList Goto 191 Wildcard Goto 191 TypeArgument1 Gt/Rd 692 TypeArgumentList1 Gt/Rd 692 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 QUESTION Reduce 71 Default reduction to rule 71 STATE 26 ----------------------------------------------------------------------- ( 4 276 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 201 Dimsopt ::= . (641) DOT Shift 197 AT308 Shift 22 LBRACKET Shift 199 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Gt/Rd 471 Dimsopt Gt/Rd 471 COLON_COLON Reduce 641 $eof Reduce 641 Default reduction to rule 641 STATE 27 ----------------------------------------------------------------------- ( 5 ) 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 22 Identifier Shift 970 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 202 TypeAnnotations Goto 203 QualifiedName Goto 202 Name Goto 202 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 CastNameAndBounds Goto 201 STATE 28 ----------------------------------------------------------------------- ( 6 238 ) 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 ::= .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 Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (647) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 203 MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifiersopt Goto 207 TypeElidedFormalParameter Goto 206 TypeElidedFormalParameterList Goto 206 FormalParameter Goto 974 FormalParameterList Goto 205 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 FormalParameterListopt Goto 204 RPAREN Reduce 647 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 29 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 17 18 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 204 EnumHeader ::= EnumHeaderName .ClassHeaderImplementsopt ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (649) implements Shift 208 ClassHeaderImplements Gt/Rd 663 ClassHeaderImplementsopt Gt/Rd 663 abstract Reduce 649 final Reduce 649 native Reduce 649 private Reduce 649 protected Reduce 649 public Reduce 649 static Reduce 649 strictfp Reduce 649 synchronized Reduce 649 transient Reduce 649 volatile Reduce 649 LBRACE Reduce 649 AT Reduce 649 $eof Reduce 649 Default reduction to rule 649 STATE 30 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) 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 209 EnumBody Gt/Rd 662 STATE 31 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 17 18 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeaderName . ClassHeaderExtendsopt ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 205 ClassHeaderExtends ::= .extends ClassType ClassHeaderExtendsopt ::= . (626) extends Shift 211 ClassHeaderExtends Goto 210 ClassHeaderExtendsopt Goto 210 abstract Reduce 626 final Reduce 626 implements Reduce 626 native Reduce 626 private Reduce 626 protected Reduce 626 public Reduce 626 static Reduce 626 strictfp Reduce 626 synchronized Reduce 626 transient Reduce 626 volatile Reduce 626 LBRACE Reduce 626 AT Reduce 626 $eof Reduce 626 Default reduction to rule 626 STATE 32 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) AnnotationTypeDeclaration ::= AnnotationTypeDeclarationHeader . AnnotationTypeBody AnnotationTypeBody ::= .LBRACE AnnotationTypeMemberDeclarationsopt RBRACE LBRACE Shift 212 AnnotationTypeBody Gt/Rd 822 STATE 33 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 17 18 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) InterfaceHeader ::= InterfaceHeaderName .InterfaceHeaderExtendsopt InterfaceHeaderExtends ::= .extends InterfaceTypeList InterfaceHeaderExtendsopt ::= . (658) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 206 extends Shift 213 InterfaceHeaderExtends Gt/Rd 289 InterfaceHeaderExtendsopt Gt/Rd 289 abstract Reduce 658 final Reduce 658 native 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 LBRACE Reduce 658 AT Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 34 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 17 18 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) InterfaceHeaderName ::= InterfaceHeaderName1 .TypeParameters InterfaceHeaderName ::= InterfaceHeaderName1 . (291) TypeParameters ::= .LESS TypeParameterList1 LESS Shift 214 TypeParameters Gt/Rd 290 abstract Reduce 291 extends Reduce 291 final Reduce 291 native Reduce 291 private Reduce 291 protected Reduce 291 public Reduce 291 static Reduce 291 strictfp Reduce 291 synchronized Reduce 291 transient Reduce 291 volatile Reduce 291 LBRACE Reduce 291 AT Reduce 291 $eof Reduce 291 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 207 Default reduction to rule 291 STATE 35 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) InterfaceDeclaration ::= InterfaceHeader .InterfaceBody InterfaceBody ::= .LBRACE InterfaceMemberDeclarationsopt RBRACE LBRACE Shift 215 InterfaceBody Gt/Rd 288 STATE 36 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 17 18 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) ClassHeader ::= ClassHeaderName .ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderExtends ::= .extends ClassType ClassHeaderExtendsopt ::= . (626) extends Shift 211 ClassHeaderExtends Goto 216 ClassHeaderExtendsopt Goto 216 abstract Reduce 626 final Reduce 626 implements Reduce 626 native Reduce 626 private Reduce 626 protected Reduce 626 public Reduce 626 static Reduce 626 strictfp Reduce 626 synchronized Reduce 626 transient Reduce 626 volatile Reduce 626 LBRACE Reduce 626 AT Reduce 626 $eof Reduce 626 Default reduction to rule 626 STATE 37 ----------------------------------------------------------------------- ( 7 8 12 16 91 166 261 410 411 414 626 747 750 817 876 900 906 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 208 ClassHeaderName1 ::= Modifiersopt .class Identifier InterfaceHeaderName1 ::= Modifiersopt .interface Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters enum Shift 217 interface Shift 218 class Shift 219 STATE 38 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 17 18 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) ClassHeaderName ::= ClassHeaderName1 .TypeParameters ClassHeaderName ::= ClassHeaderName1 . (202) TypeParameters ::= .LESS TypeParameterList1 LESS Shift 214 TypeParameters Gt/Rd 201 abstract Reduce 202 extends Reduce 202 final Reduce 202 implements Reduce 202 native Reduce 202 private Reduce 202 protected Reduce 202 public Reduce 202 static Reduce 202 strictfp Reduce 202 synchronized Reduce 202 transient Reduce 202 volatile Reduce 202 LBRACE Reduce 202 AT Reduce 202 $eof Reduce 202 Default reduction to rule 202 STATE 39 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) ClassDeclaration ::= ClassHeader .ClassBody ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 209 LBRACE Shift 220 ClassBody Gt/Rd 199 STATE 40 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) YieldStatement ::= yield .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 210 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 ::= .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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 211 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 AdditionalBoundsListOpt PushRPAREN InsideCastExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 212 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 213 Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 214 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 221 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 41 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 215 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 ::= . (321) ResourceSpecification ::= .LPAREN Resources ;opt RPAREN TryBlock ::= .Block ExitTryBlock LPAREN Shift 225 OpenBlock Goto 69 Block Goto 224 TryBlock Goto 223 ResourceSpecification Goto 222 LBRACE Reduce 321 Default reduction to rule 321 STATE 42 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) ThrowStatement ::= throw .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 216 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 217 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 Mon Oct 4 09:57:22 2021 Page 218 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 219 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 220 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 226 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 221 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 43 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) SynchronizedStatement ::= OnlySynchronized .LPAREN Expression RPAREN Block LPAREN Shift 227 STATE 44 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) ReturnStatement ::= return .Expressionopt SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 222 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 223 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 Mon Oct 4 09:57:22 2021 Page 224 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 225 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 ::= . (628) MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AssignmentExpression Gt/Rd 625 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 226 ConditionalOrExpression Goto 113 InclusiveOrExpression Goto 111 ConditionalAndExpression Goto 114 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PostfixExpression Goto 115 Literal Goto 945 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 PrimitiveType Goto 95 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 945 ArrayCreationWithoutArrayInitializer Goto 956 SwitchExpression Goto 946 CastExpression Goto 946 UnaryExpression Goto 946 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalExpression Goto 957 Assignment Goto 957 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 227 Expression Goto 228 Expressionopt Goto 228 SEMICOLON Reduce 628 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 45 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) ContinueStatement ::= continue .SEMICOLON ContinueStatement ::= continue .Identifier SEMICOLON Identifier Shift 229 SEMICOLON Sh/Rd 421 STATE 46 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) BreakStatement ::= break .SEMICOLON BreakStatement ::= break .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 228 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 229 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 Mon Oct 4 09:57:22 2021 Page 230 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 Mon Oct 4 09:57:22 2021 Page 231 RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 SEMICOLON Sh/Rd 419 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 232 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 233 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 230 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 47 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) DoStatement ::= do .Statement while LPAREN Expression RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 234 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 ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 235 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 236 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 Mon Oct 4 09:57:22 2021 Page 237 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 75 while Shift 73 if Shift 72 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 238 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 AssertStatement Goto 231 Block Goto 231 EmptyStatement Goto 231 ExpressionStatement Goto 231 SwitchStatement Goto 231 DoStatement Goto 231 BreakStatement Goto 231 ContinueStatement Goto 231 ReturnStatement Goto 231 SynchronizedStatement Goto 231 ThrowStatement Goto 231 TryStatement Goto 231 TryStatementWithResources Goto 231 YieldStatement Goto 231 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 239 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 Label Goto 71 EnhancedForStatementHeader Goto 74 EnhancedForStatementHeaderInit Goto 76 StatementWithoutTrailingSubstatement Goto 231 LabeledStatement Goto 231 IfThenStatement Goto 231 IfThenElseStatement Goto 231 WhileStatement Goto 231 ForStatement Goto 231 EnhancedForStatement Goto 231 Statement Goto 231 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 48 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) SwitchStatement ::= switch .LPAREN Expression RPAREN OpenBlock SwitchBlock LPAREN Shift 233 STATE 49 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 70 74 91 101 166 190 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 240 379 380 381 382 383 384 410 465 490 491 494 532 570 608 613 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 813 815 837 845 846 847 848 849 850 853 859 872 873 876 882 899 900 904 906 911 912 913 914 919 921 928 929 932 ) PreDecrementExpression ::= MINUS_MINUS .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 234 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 double Reduce 548 false Reduce 548 float Reduce 548 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 50 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 70 74 91 101 166 190 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 241 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 410 465 490 491 494 532 570 608 613 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 813 815 837 845 846 847 848 849 850 853 859 872 873 876 882 899 900 904 906 911 912 913 914 919 921 928 929 932 ) PreIncrementExpression ::= PLUS_PLUS .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 235 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 double Reduce 548 false Reduce 548 float Reduce 548 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 51 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 242 906 912 913 914 928 929 932 ) StatementExpression ::= PostDecrementExpression . (376) PostfixExpression ::= PostDecrementExpression . (545) PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 PLUS_EQUAL Reduce 545 MINUS_EQUAL Reduce 545 MULTIPLY_EQUAL Reduce 545 DIVIDE_EQUAL Reduce 545 AND_EQUAL Reduce 545 OR_EQUAL Reduce 545 XOR_EQUAL Reduce 545 REMAINDER_EQUAL Reduce 545 LEFT_SHIFT_EQUAL Reduce 545 RIGHT_SHIFT_EQUAL Reduce 545 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 545 EQUAL Reduce 545 RPAREN Reduce 376 SEMICOLON Reduce 376 COMMA Reduce 376 Default reduction to rule 545 STATE 52 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) StatementExpression ::= PostIncrementExpression . (375) PostfixExpression ::= PostIncrementExpression . (544) PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 PLUS_EQUAL Reduce 544 MINUS_EQUAL Reduce 544 MULTIPLY_EQUAL Reduce 544 DIVIDE_EQUAL Reduce 544 AND_EQUAL Reduce 544 OR_EQUAL Reduce 544 XOR_EQUAL Reduce 544 REMAINDER_EQUAL Reduce 544 LEFT_SHIFT_EQUAL Reduce 544 RIGHT_SHIFT_EQUAL Reduce 544 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 544 EQUAL Reduce 544 RPAREN Reduce 375 SEMICOLON Reduce 375 COMMA Reduce 375 Default reduction to rule 544 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 243 STATE 53 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) StatementExpression ::= MethodInvocation . (377) PrimaryNoNewArray ::= MethodInvocation . (466) PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 LBRACKET Reduce 466 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 RPAREN Reduce 377 SEMICOLON Reduce 377 COMMA Reduce 377 Default reduction to rule 466 STATE 54 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) StatementExpression ::= ClassInstanceCreationExpression . (378) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 244 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 LBRACKET Reduce 458 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 RPAREN Reduce 378 SEMICOLON Reduce 378 COMMA Reduce 378 Default reduction to rule 458 STATE 55 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 225 261 263 266 410 659 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) PrimaryNoNewArray ::= PushLPAREN .Expression_NotName PushRPAREN PrimaryNoNewArray ::= PushLPAREN .Name PushRPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 245 SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 246 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 AdditionalBoundsListOpt PushRPAREN InsideCastExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 247 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 248 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 instanceof ReferenceType InstanceofExpression_NotName ::= .InstanceofExpression_NotName instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 249 MINUS Shift 151 PLUS Shift 152 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 975 true Shift 975 null Shift 975 StringLiteral Shift 975 CharacterLiteral Shift 975 DoubleLiteral Shift 975 FloatingPointLiteral Shift 975 LongLiteral Shift 975 IntegerLiteral Shift 975 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 145 TWIDDLE Shift 146 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression_NotName Goto 236 Assignment Goto 236 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression_NotName Goto 161 ConditionalOrExpression_NotName Goto 164 Name Goto 237 ExclusiveOrExpression_NotName Goto 159 InclusiveOrExpression_NotName Goto 162 EqualityExpression_NotName Goto 157 AndExpression_NotName Goto 160 RelationalExpression_NotName Goto 155 InstanceofExpression_NotName Goto 158 AdditiveExpression_NotName Goto 153 ShiftExpression_NotName Goto 156 UnaryExpression_NotName Goto 976 MultiplicativeExpression_NotName Goto 154 SwitchExpression Goto 976 PostfixExpression_NotName Goto 976 CastExpression Goto 976 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 984 BooleanLiteral Goto 975 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 250 Primary Goto 150 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 983 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 975 ClassInstanceCreationExpression Goto 982 FieldAccess Goto 981 MethodInvocation Goto 980 ArrayAccess Goto 979 LambdaExpression Goto 978 ReferenceExpression Goto 977 PostIncrementExpression Goto 149 PostDecrementExpression Goto 148 PreIncrementExpression Goto 976 PreDecrementExpression Goto 976 UnaryExpressionNotPlusMinus_NotName Goto 976 AssignmentExpression_NotName Goto 236 Expression_NotName Goto 236 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 56 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 70 74 91 101 166 190 225 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 410 465 490 491 494 532 570 608 613 659 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 251 752 769 771 775 780 781 782 784 790 802 803 804 807 813 815 837 845 846 847 848 849 850 853 859 862 872 873 876 882 895 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) LambdaParameters ::= BeginLambda .NestedLambda LambdaParameterList NestedLambda ::= . (484) NestedLambda Goto 238 LPAREN Reduce 484 Default reduction to rule 484 STATE 57 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 70 74 91 101 166 190 225 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 410 465 490 491 494 532 570 608 613 659 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 807 813 815 837 845 846 847 848 849 850 853 859 862 872 873 876 882 895 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) LambdaExpression ::= LambdaParameters .ARROW LambdaBody ARROW Shift 239 STATE 58 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 70 74 91 101 166 190 225 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 410 465 490 491 494 532 570 608 613 659 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 807 813 815 837 845 846 847 848 849 850 853 859 862 872 873 876 882 895 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 252 DOT Shift 240 COLON_COLON Shift 241 STATE 59 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 70 74 91 101 166 190 225 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 410 465 490 491 494 532 570 608 613 659 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 807 813 815 837 845 846 847 848 849 850 853 859 862 872 873 876 882 895 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) 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 TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 253 Identifier Shift 970 AT308 Shift 22 LESS Shift 25 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 971 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ClassOrInterfaceType Goto 243 ClassType Goto 243 OnlyTypeArguments Goto 242 STATE 60 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 70 74 91 101 166 190 225 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 410 465 490 491 494 532 570 608 613 659 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 807 813 815 837 845 846 847 848 849 850 853 859 862 872 873 876 882 895 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 254 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 ::= . (71) 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 970 AT308 Shift 22 LESS Shift 25 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 QualifiedName Goto 985 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ClassOrInterfaceType Goto 249 OnlyTypeArguments Goto 248 ClassType Goto 247 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 255 PrimitiveType Goto 246 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 61 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 70 74 91 101 166 190 225 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 410 465 490 491 494 532 570 608 613 659 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 807 813 815 837 845 846 847 848 849 850 853 859 862 872 873 876 882 895 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) Primary ::= ArrayCreationWithArrayInitializer . (452) ArrayAccess ::= ArrayCreationWithArrayInitializer .LBRACKET Expression RBRACKET LBRACKET Shift 250 abstract Reduce 452 final Reduce 452 instanceof Reduce 452 native Reduce 452 private Reduce 452 protected Reduce 452 public Reduce 452 static Reduce 452 strictfp Reduce 452 synchronized Reduce 452 transient Reduce 452 volatile Reduce 452 PLUS_PLUS Reduce 452 MINUS_MINUS Reduce 452 EQUAL_EQUAL Reduce 452 LESS_EQUAL Reduce 452 GREATER_EQUAL Reduce 452 NOT_EQUAL Reduce 452 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 256 LEFT_SHIFT Reduce 452 RIGHT_SHIFT Reduce 452 UNSIGNED_RIGHT_SHIFT Reduce 452 PLUS_EQUAL Reduce 452 MINUS_EQUAL Reduce 452 MULTIPLY_EQUAL Reduce 452 DIVIDE_EQUAL Reduce 452 AND_EQUAL Reduce 452 OR_EQUAL Reduce 452 XOR_EQUAL Reduce 452 REMAINDER_EQUAL Reduce 452 LEFT_SHIFT_EQUAL Reduce 452 RIGHT_SHIFT_EQUAL Reduce 452 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 452 OR_OR Reduce 452 AND_AND Reduce 452 PLUS Reduce 452 MINUS Reduce 452 REMAINDER Reduce 452 XOR Reduce 452 AND Reduce 452 MULTIPLY Reduce 452 OR Reduce 452 DIVIDE Reduce 452 GREATER Reduce 452 LESS Reduce 452 RPAREN Reduce 452 RBRACE Reduce 452 RBRACKET Reduce 452 SEMICOLON Reduce 452 QUESTION Reduce 452 COLON Reduce 452 COMMA Reduce 452 DOT Reduce 452 EQUAL Reduce 452 AT Reduce 452 COLON_COLON Reduce 452 ElidedSemicolonAndRightBrace Reduce 452 BeginCaseExpr Reduce 452 $eof Reduce 452 Default reduction to rule 452 STATE 62 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 70 74 91 101 166 190 225 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 410 465 490 491 494 532 570 608 613 659 665 669 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 257 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 807 813 815 837 845 846 847 848 849 850 853 859 862 872 873 876 882 895 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) Primary ::= PrimaryNoNewArray . (451) ArrayAccess ::= PrimaryNoNewArray .LBRACKET Expression RBRACKET LBRACKET Shift 251 abstract Reduce 451 final Reduce 451 instanceof Reduce 451 native Reduce 451 private Reduce 451 protected Reduce 451 public Reduce 451 static Reduce 451 strictfp Reduce 451 synchronized Reduce 451 transient Reduce 451 volatile Reduce 451 PLUS_PLUS Reduce 451 MINUS_MINUS Reduce 451 EQUAL_EQUAL Reduce 451 LESS_EQUAL Reduce 451 GREATER_EQUAL Reduce 451 NOT_EQUAL Reduce 451 LEFT_SHIFT Reduce 451 RIGHT_SHIFT Reduce 451 UNSIGNED_RIGHT_SHIFT Reduce 451 PLUS_EQUAL Reduce 451 MINUS_EQUAL Reduce 451 MULTIPLY_EQUAL Reduce 451 DIVIDE_EQUAL Reduce 451 AND_EQUAL Reduce 451 OR_EQUAL Reduce 451 XOR_EQUAL Reduce 451 REMAINDER_EQUAL Reduce 451 LEFT_SHIFT_EQUAL Reduce 451 RIGHT_SHIFT_EQUAL Reduce 451 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 451 OR_OR Reduce 451 AND_AND Reduce 451 PLUS Reduce 451 MINUS Reduce 451 REMAINDER Reduce 451 XOR Reduce 451 AND Reduce 451 MULTIPLY Reduce 451 OR Reduce 451 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 258 DIVIDE Reduce 451 GREATER Reduce 451 LESS Reduce 451 RPAREN Reduce 451 RBRACE Reduce 451 RBRACKET Reduce 451 SEMICOLON Reduce 451 QUESTION Reduce 451 COLON Reduce 451 COMMA Reduce 451 DOT Reduce 451 EQUAL Reduce 451 AT Reduce 451 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 451 BeginCaseExpr Reduce 451 $eof Reduce 451 Default reduction to rule 451 STATE 63 ----------------------------------------------------------------------- ( 7 8 16 47 55 74 91 101 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) 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 547 PLUS_PLUS Sh/Rd 546 OR_EQUAL Sh/Rd 624 XOR_EQUAL Sh/Rd 623 AND_EQUAL Sh/Rd 622 UNSIGNED_RIGHT_SHIFT_EQUAL Sh/Rd 621 RIGHT_SHIFT_EQUAL Sh/Rd 620 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 259 LEFT_SHIFT_EQUAL Sh/Rd 619 MINUS_EQUAL Sh/Rd 618 PLUS_EQUAL Sh/Rd 617 REMAINDER_EQUAL Sh/Rd 616 DIVIDE_EQUAL Sh/Rd 615 MULTIPLY_EQUAL Sh/Rd 614 EQUAL Sh/Rd 613 AssignmentOperator Goto 252 STATE 64 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) 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 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 . (542) COLON_COLON Shift 253 DOT Shift 254 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 260 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 EQUAL Reduce 542 Default reduction to rule 542 STATE 65 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) ExplicitConstructorInvocation ::= super .LPAREN ArgumentListopt RPAREN SEMICOLON 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 255 COLON_COLON Shift 256 LPAREN Shift 257 STATE 66 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) ExplicitConstructorInvocation ::= OnlyTypeArguments .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= OnlyTypeArguments .super LPAREN ArgumentListopt RPAREN SEMICOLON super Shift 258 this Shift 259 STATE 67 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) ExplicitConstructorInvocation ::= this .LPAREN ArgumentListopt RPAREN SEMICOLON PrimaryNoNewArray ::= this . (455) LPAREN Shift 260 PLUS_PLUS Reduce 455 MINUS_MINUS Reduce 455 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 261 PLUS_EQUAL Reduce 455 MINUS_EQUAL Reduce 455 MULTIPLY_EQUAL Reduce 455 DIVIDE_EQUAL Reduce 455 AND_EQUAL Reduce 455 OR_EQUAL Reduce 455 XOR_EQUAL Reduce 455 REMAINDER_EQUAL Reduce 455 LEFT_SHIFT_EQUAL Reduce 455 RIGHT_SHIFT_EQUAL Reduce 455 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 455 LBRACKET Reduce 455 DOT Reduce 455 EQUAL Reduce 455 COLON_COLON Reduce 455 Default reduction to rule 455 STATE 68 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) ExpressionStatement ::= StatementExpression .SEMICOLON SEMICOLON Sh/Rd 370 STATE 69 ----------------------------------------------------------------------- ( 7 8 16 41 47 74 91 124 166 222 239 261 263 410 561 623 657 664 692 693 790 827 845 849 873 876 900 906 912 913 914 929 932 ) Block ::= OpenBlock .LBRACE BlockStatementsopt RBRACE LBRACE Shift 261 STATE 70 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) AssertStatement ::= assert .Expression SEMICOLON AssertStatement ::= assert .Expression COLON Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 262 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 263 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 264 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 Mon Oct 4 09:57:22 2021 Page 265 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 266 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 267 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 262 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 71 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 693 845 876 900 906 914 ) LabeledStatement ::= Label .COLON Statement COLON Shift 263 STATE 72 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 693 845 876 900 906 914 ) IfThenStatement ::= if .LPAREN Expression RPAREN Statement IfThenElseStatement ::= if .LPAREN Expression RPAREN StatementNoShortIf else Statement LPAREN Shift 264 STATE 73 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 693 845 876 900 906 914 ) WhileStatement ::= while .LPAREN Expression RPAREN Statement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 268 LPAREN Shift 265 STATE 74 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 693 845 876 900 906 914 ) EnhancedForStatement ::= EnhancedForStatementHeader .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 269 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 ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 270 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 271 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 EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers Identifier Dimsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 272 EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 75 while Shift 73 if Shift 72 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 AssertStatement Gt/Rd 682 Block Gt/Rd 682 EmptyStatement Gt/Rd 682 ExpressionStatement Gt/Rd 682 SwitchStatement Gt/Rd 682 DoStatement Gt/Rd 682 BreakStatement Gt/Rd 682 ContinueStatement Gt/Rd 682 ReturnStatement Gt/Rd 682 SynchronizedStatement Gt/Rd 682 ThrowStatement Gt/Rd 682 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 273 TryStatement Gt/Rd 682 TryStatementWithResources Gt/Rd 682 YieldStatement Gt/Rd 682 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 Label Goto 71 EnhancedForStatementHeader Goto 74 EnhancedForStatementHeaderInit Goto 76 StatementWithoutTrailingSubstatement Gt/Rd 682 LabeledStatement Gt/Rd 682 IfThenStatement Gt/Rd 682 IfThenElseStatement Gt/Rd 682 WhileStatement Gt/Rd 682 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 274 ForStatement Gt/Rd 682 EnhancedForStatement Gt/Rd 682 Statement Gt/Rd 682 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 75 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 693 845 876 900 906 914 ) ForStatement ::= for .LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement EnhancedForStatementHeaderInit ::= for .LPAREN Type PushModifiers Identifier Dimsopt EnhancedForStatementHeaderInit ::= for .LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt LPAREN Shift 266 STATE 76 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 929 932 ) EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit .COLON Expression RPAREN COLON Shift 267 STATE 77 ----------------------------------------------------------------------- ( 7 8 16 91 166 261 410 876 900 906 ) LocalVariableDeclaration ::= Type .PushModifiers VariableDeclarators PushModifiers ::= . (336) PushModifiers Goto 268 Identifier Reduce 336 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 275 Default reduction to rule 336 STATE 78 ----------------------------------------------------------------------- ( 7 8 16 91 166 261 410 876 900 906 ) Modifier ::= synchronized . (194) OnlySynchronized ::= synchronized . (427) LPAREN Reduce 427 Identifier Reduce 185 abstract Reduce 185 boolean Reduce 185 byte Reduce 185 char Reduce 185 class Reduce 638 double Reduce 185 enum Reduce 638 final Reduce 185 float Reduce 185 int Reduce 185 interface Reduce 638 long Reduce 185 native Reduce 185 private Reduce 185 protected Reduce 185 public Reduce 185 short Reduce 185 static Reduce 185 strictfp Reduce 185 synchronized Reduce 185 transient Reduce 185 void Reduce 185 volatile Reduce 185 AT Reduce 185 AT308 Reduce 185 Default reduction to rule 194 STATE 79 ----------------------------------------------------------------------- ( 7 8 10 12 13 16 17 18 91 117 166 188 261 410 411 414 441 447 450 626 628 647 650 654 747 750 817 876 900 906 ) AnnotationTypeDeclarationHeaderName ::= AT .PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= AT .PushModifiersForHeader interface Identifier AnnotationName ::= AT .UnannotatableName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 276 UnannotatableName ::= .UnannotatableName DOT SimpleName PushModifiersForHeader ::= . (337) Identifier Shift 270 SimpleName Goto 270 UnannotatableName Goto 270 PushModifiersForHeader Goto 269 interface Reduce 337 Default reduction to rule 337 STATE 80 ----------------------------------------------------------------------- ( 7 8 10 11 12 13 14 15 16 17 18 28 81 91 117 118 119 123 128 131 137 138 166 168 170 184 188 190 209 225 261 266 271 324 386 410 411 414 429 430 441 447 450 459 499 570 626 628 645 647 650 654 658 659 747 750 752 813 815 817 846 876 900 906 ) NormalAnnotation ::= AnnotationName .LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= AnnotationName . (861) SingleMemberAnnotation ::= AnnotationName .LPAREN SingleMemberAnnotationMemberValue RPAREN LPAREN Shift 271 Identifier Reduce 861 abstract Reduce 861 boolean Reduce 861 byte Reduce 861 char Reduce 861 class Reduce 861 default Reduce 861 double Reduce 861 enum Reduce 861 final Reduce 861 float Reduce 861 int Reduce 861 interface Reduce 861 long Reduce 861 native Reduce 861 package Reduce 861 private Reduce 861 protected Reduce 861 public Reduce 861 short Reduce 861 static Reduce 861 strictfp Reduce 861 synchronized Reduce 861 transient Reduce 861 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 277 void Reduce 861 volatile Reduce 861 module Reduce 861 open Reduce 861 LESS Reduce 861 RPAREN Reduce 861 RBRACE Reduce 861 SEMICOLON Reduce 861 COMMA Reduce 861 AT Reduce 861 AT308 Reduce 861 $eof Reduce 861 Default reduction to rule 861 STATE 81 ----------------------------------------------------------------------- ( 7 8 16 91 166 261 410 876 900 906 ) Modifiers ::= Modifiers .Modifier LocalVariableDeclaration ::= Modifiers .Type PushRealModifiers VariableDeclarators Modifiersopt ::= Modifiers . (638) 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 ::= . (71) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 278 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 186 volatile Sh/Rd 186 transient Sh/Rd 186 synchronized Sh/Rd 186 native Sh/Rd 186 final Sh/Rd 186 abstract Sh/Rd 186 static Sh/Rd 186 private Sh/Rd 186 protected Sh/Rd 186 public Sh/Rd 186 AT Shift 273 Identifier Shift 970 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 272 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 279 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 272 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Modifier Gt/Rd 186 Type Goto 272 class Reduce 638 enum Reduce 638 interface Reduce 638 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 82 ----------------------------------------------------------------------- ( 7 8 9 14 16 40 42 44 46 47 55 60 70 74 81 91 101 120 127 132 136 165 166 171 172 173 185 190 207 225 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 320 323 325 332 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 390 394 408 410 428 459 465 490 491 494 499 570 606 608 613 635 636 649 659 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 807 813 815 816 822 823 826 837 845 846 847 848 849 850 853 859 862 872 873 876 882 895 896 897 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void void Sh/Rd 41 boolean Sh/Rd 40 double Sh/Rd 37 float Sh/Rd 37 char Sh/Rd 37 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 280 long Sh/Rd 37 int Sh/Rd 37 short Sh/Rd 37 byte Sh/Rd 37 IntegralType Gt/Rd 37 FloatingPointType Gt/Rd 37 NumericType Gt/Rd 37 STATE 83 ----------------------------------------------------------------------- ( 7 8 16 25 81 91 120 127 132 136 165 166 171 173 185 207 225 261 266 282 305 320 323 325 332 357 370 390 394 408 410 421 422 428 459 499 532 606 635 636 649 659 753 754 816 822 823 826 846 864 876 896 897 900 906 ) 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 199 AT308 Shift 22 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dims Gt/Rd 60 STATE 84 ----------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 410 692 693 790 845 849 876 900 906 912 913 914 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 281 929 932 ) SimpleName ::= Identifier . (66) Label ::= Identifier . (369) LambdaParameters ::= Identifier .NestedLambda NestedLambda ::= . (484) NestedLambda Gt/Rd 485 COLON Reduce 369 Identifier Reduce 63 PLUS_PLUS Reduce 63 MINUS_MINUS Reduce 63 PLUS_EQUAL Reduce 63 MINUS_EQUAL Reduce 63 MULTIPLY_EQUAL Reduce 63 DIVIDE_EQUAL Reduce 63 AND_EQUAL Reduce 63 OR_EQUAL Reduce 63 XOR_EQUAL Reduce 63 REMAINDER_EQUAL Reduce 63 LEFT_SHIFT_EQUAL Reduce 63 RIGHT_SHIFT_EQUAL Reduce 63 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 63 LESS Reduce 63 LPAREN Reduce 63 LBRACKET Reduce 63 DOT Reduce 63 EQUAL Reduce 63 COLON_COLON Reduce 63 BeginTypeArguments Reduce 63 AT308 Reduce 63 ARROW Reduce 484 Default reduction to rule 66 STATE 85 ----------------------------------------------------------------------- ( 7 8 16 91 166 261 410 876 900 906 ) ClassOrInterface ::= Name . (53) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 282 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 . (543) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (641) Dimsopt ::= .Dims LPAREN Shift 275 BeginTypeArguments Shift 276 DOT Shift 278 LBRACKET Shift 279 AT308 Shift 22 Dims Goto 280 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 283 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Goto 277 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 PLUS_EQUAL Reduce 543 MINUS_EQUAL Reduce 543 MULTIPLY_EQUAL Reduce 543 DIVIDE_EQUAL Reduce 543 AND_EQUAL Reduce 543 OR_EQUAL Reduce 543 XOR_EQUAL Reduce 543 REMAINDER_EQUAL Reduce 543 LEFT_SHIFT_EQUAL Reduce 543 RIGHT_SHIFT_EQUAL Reduce 543 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 543 EQUAL Reduce 543 Identifier Reduce 53 LESS Reduce 53 COLON_COLON Reduce 641 Default reduction to rule 543 STATE 86 ----------------------------------------------------------------------- ( 7 8 9 14 16 25 40 42 44 46 47 55 60 70 74 81 91 101 120 127 132 136 165 166 171 172 173 185 190 207 225 227 233 234 235 250 251 252 257 260 261 263 264 265 266 267 271 275 279 282 285 286 287 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 320 323 325 332 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 390 394 408 410 421 422 428 459 465 490 491 494 499 532 570 606 608 613 635 636 649 659 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 752 753 754 769 771 775 780 781 782 784 790 802 803 804 807 813 815 816 822 823 826 837 845 846 847 848 849 850 853 859 862 864 872 873 876 882 895 896 897 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) Name ::= TypeAnnotations .SimpleName TypeAnnotationsopt ::= TypeAnnotations . (72) Identifier Sh/Rd 64 SimpleName Gt/Rd 64 boolean Reduce 72 byte Reduce 72 char Reduce 72 double Reduce 72 float Reduce 72 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 284 int Reduce 72 long Reduce 72 short Reduce 72 void Reduce 72 QUESTION Reduce 72 Default reduction to rule 72 STATE 87 ----------------------------------------------------------------------- ( 7 8 16 25 81 91 120 127 132 136 165 166 171 173 185 207 225 261 266 282 305 320 323 325 332 357 370 390 394 408 410 421 422 428 459 499 532 606 635 636 649 659 753 754 816 822 823 826 846 864 876 896 897 900 906 ) ClassOrInterfaceType ::= GenericType . (52) ClassOrInterface ::= GenericType .DOT Name ArrayTypeWithTypeArgumentsName ::= GenericType .DOT Name ArrayType ::= GenericType .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 DOT Shift 281 LBRACKET Shift 199 AT308 Shift 22 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dims Gt/Rd 61 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 285 Identifier Reduce 49 abstract Reduce 49 final Reduce 49 instanceof Reduce 49 native Reduce 49 private Reduce 49 protected Reduce 49 public Reduce 49 static Reduce 49 strictfp Reduce 49 synchronized Reduce 49 this Reduce 49 transient Reduce 49 volatile Reduce 49 EQUAL_EQUAL Reduce 49 NOT_EQUAL Reduce 49 RIGHT_SHIFT Reduce 49 UNSIGNED_RIGHT_SHIFT Reduce 49 OR_OR Reduce 49 AND_AND Reduce 49 XOR Reduce 49 AND Reduce 49 OR Reduce 49 GREATER Reduce 49 RPAREN Reduce 49 RBRACE Reduce 49 RBRACKET Reduce 49 SEMICOLON Reduce 49 QUESTION Reduce 49 COLON Reduce 49 COMMA Reduce 49 AT Reduce 49 ELLIPSIS Reduce 49 ElidedSemicolonAndRightBrace Reduce 49 AT308DOTDOTDOT Reduce 49 BeginCaseExpr Reduce 49 $eof Reduce 49 Default reduction to rule 52 STATE 88 ----------------------------------------------------------------------- ( 7 8 16 59 60 81 91 120 127 132 136 165 166 171 172 173 185 197 207 208 211 213 225 242 248 261 266 305 320 323 325 332 357 370 390 394 408 410 428 459 481 499 606 642 659 678 715 726 816 846 863 876 900 906 ) ClassOrInterfaceType ::= ClassOrInterface . (51) GenericType ::= ClassOrInterface .TypeArguments GenericType ::= ClassOrInterface .LESS GREATER TypeArguments ::= .LESS TypeArgumentList1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 286 LESS Shift 282 TypeArguments Gt/Rd 55 Identifier Reduce 51 abstract Reduce 51 final Reduce 51 implements Reduce 51 instanceof Reduce 51 native Reduce 51 private Reduce 51 protected Reduce 51 public Reduce 51 static Reduce 51 strictfp Reduce 51 synchronized Reduce 51 this Reduce 51 transient Reduce 51 volatile Reduce 51 EQUAL_EQUAL Reduce 51 NOT_EQUAL Reduce 51 OR_OR Reduce 51 AND_AND Reduce 51 XOR Reduce 51 AND Reduce 51 OR Reduce 51 LPAREN Reduce 51 RPAREN Reduce 51 LBRACE Reduce 51 RBRACE Reduce 51 LBRACKET Reduce 51 RBRACKET Reduce 51 SEMICOLON Reduce 51 QUESTION Reduce 51 COLON Reduce 51 COMMA Reduce 51 AT Reduce 51 ELLIPSIS Reduce 51 COLON_COLON Reduce 51 ElidedSemicolonAndRightBrace Reduce 51 AT308 Reduce 51 AT308DOTDOTDOT Reduce 51 BeginCaseExpr Reduce 51 $eof Reduce 51 Default reduction to rule 51 STATE 89 ----------------------------------------------------------------------- ( 7 8 16 91 166 225 261 266 410 659 846 876 900 906 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 287 Type ::= PrimitiveType . (35) 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 283 LBRACKET Shift 199 AT308 Shift 22 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dims Goto 284 Identifier Reduce 35 Default reduction to rule 35 STATE 90 ----------------------------------------------------------------------- ( 7 8 16 91 166 261 410 876 900 906 ) LocalVariableDeclarationStatement ::= LocalVariableDeclaration .SEMICOLON SEMICOLON Sh/Rd 333 STATE 91 ----------------------------------------------------------------------- ( 8 261 410 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 288 BlockStatements ::= BlockStatements .BlockStatement BlockStatementsopt ::= BlockStatements . (640) Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 289 Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 290 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 Mon Oct 4 09:57:22 2021 Page 291 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 292 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 ::= . (637) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 293 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 yield Shift 40 try Shift 41 throw Shift 42 return Shift 44 continue Shift 45 break Shift 46 do Shift 47 switch Shift 48 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 BeginLambda Shift 56 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 super Shift 65 this Shift 67 LESS Shift 25 SEMICOLON Sh/Rd 366 assert Shift 70 if Shift 72 while Shift 73 for Shift 75 strictfp Shift 934 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 294 volatile Shift 934 transient Shift 934 synchronized Shift 78 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 protected Shift 934 public Shift 934 AT Shift 79 AT308 Shift 22 Identifier Shift 84 LocalVariableDeclaration Goto 90 PrimitiveType Goto 89 ReferenceType Goto 77 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 943 Name Goto 85 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 82 Modifier Goto 934 Modifiers Goto 81 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Type Goto 77 StatementWithoutTrailingSubstatement Gt/Rd 323 LabeledStatement Gt/Rd 323 IfThenStatement Gt/Rd 323 IfThenElseStatement Gt/Rd 323 WhileStatement Gt/Rd 323 ForStatement Gt/Rd 323 EnhancedForStatement Gt/Rd 323 EnhancedForStatementHeaderInit Goto 76 EnhancedForStatementHeader Goto 74 Label Goto 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 295 OpenBlock Goto 69 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OnlyTypeArguments Goto 66 Primary Goto 64 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 941 BooleanLiteral Goto 935 ClassInstanceCreationExpressionName Goto 59 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 Literal Goto 935 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 54 FieldAccess Goto 940 MethodInvocation Goto 53 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 OnlySynchronized Goto 43 AssertStatement Gt/Rd 323 Block Gt/Rd 323 EmptyStatement Gt/Rd 323 ExpressionStatement Gt/Rd 323 SwitchStatement Gt/Rd 323 DoStatement Gt/Rd 323 BreakStatement Gt/Rd 323 ContinueStatement Gt/Rd 323 ReturnStatement Gt/Rd 323 SynchronizedStatement Gt/Rd 323 ThrowStatement Gt/Rd 323 TryStatement Gt/Rd 323 TryStatementWithResources Gt/Rd 323 YieldStatement Gt/Rd 323 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 296 EnumHeader Goto 30 EnumHeaderName Goto 29 LocalVariableDeclarationStatement Gt/Rd 323 Statement Gt/Rd 323 ClassDeclaration Gt/Rd 323 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 BlockStatement Gt/Rd 323 RBRACE Reduce 640 $eof Reduce 640 class Reduce 637 enum Reduce 637 interface Reduce 637 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 92 ----------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 234 235 250 251 252 257 260 264 265 267 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 859 872 873 882 899 904 911 919 921 ) UnaryExpression ::= MINUS .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 285 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 double Reduce 548 false Reduce 548 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 297 float Reduce 548 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 93 ----------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 234 235 250 251 252 257 260 264 265 267 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 859 872 873 882 899 904 911 919 921 ) UnaryExpression ::= PLUS .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 286 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 298 double Reduce 548 false Reduce 548 float Reduce 548 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 94 ----------------------------------------------------------------------- ( 9 14 40 42 44 46 55 70 101 190 227 233 234 235 250 251 252 257 260 264 265 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 570 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 802 803 804 807 813 815 837 847 848 853 859 862 872 873 882 895 899 904 911 919 921 925 ) SwitchExpression ::= switch .LPAREN Expression RPAREN OpenBlock SwitchBlock LPAREN Shift 287 STATE 95 ----------------------------------------------------------------------- ( 9 14 40 42 44 46 47 55 70 74 190 227 233 234 235 250 251 252 257 260 263 264 265 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 299 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 570 608 613 665 669 671 673 674 676 679 683 685 687 692 693 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 790 802 803 804 807 813 815 837 845 847 848 849 850 853 859 862 872 873 882 895 899 904 911 912 913 914 919 921 925 928 929 932 ) 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 283 LBRACKET Shift 199 AT308 Shift 22 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dims Goto 288 STATE 96 ----------------------------------------------------------------------- ( 9 14 40 42 44 46 55 70 101 190 225 227 233 234 235 250 251 252 257 260 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 300 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 570 608 613 659 665 669 671 673 674 676 679 683 685 687 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 802 803 804 807 813 815 837 846 847 848 850 853 859 862 872 873 882 895 899 904 911 919 921 925 928 ) 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 255 COLON_COLON Shift 256 STATE 97 ----------------------------------------------------------------------- ( 9 14 40 42 44 46 55 70 101 190 225 227 233 234 235 250 251 252 257 260 264 265 266 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 570 608 613 659 665 669 671 673 674 676 679 683 685 687 694 697 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 802 803 804 807 813 815 837 846 847 848 850 853 859 862 872 873 882 895 899 904 911 919 921 925 928 ) SimpleName ::= Identifier . (66) LambdaParameters ::= Identifier .NestedLambda NestedLambda ::= . (484) NestedLambda Gt/Rd 485 Identifier Reduce 63 abstract Reduce 63 final Reduce 63 instanceof Reduce 63 native Reduce 63 private Reduce 63 protected Reduce 63 public Reduce 63 static Reduce 63 strictfp Reduce 63 synchronized Reduce 63 transient Reduce 63 volatile Reduce 63 PLUS_PLUS Reduce 63 MINUS_MINUS Reduce 63 EQUAL_EQUAL Reduce 63 LESS_EQUAL Reduce 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 301 GREATER_EQUAL Reduce 63 NOT_EQUAL Reduce 63 LEFT_SHIFT Reduce 63 RIGHT_SHIFT Reduce 63 UNSIGNED_RIGHT_SHIFT Reduce 63 PLUS_EQUAL Reduce 63 MINUS_EQUAL Reduce 63 MULTIPLY_EQUAL Reduce 63 DIVIDE_EQUAL Reduce 63 AND_EQUAL Reduce 63 OR_EQUAL Reduce 63 XOR_EQUAL Reduce 63 REMAINDER_EQUAL Reduce 63 LEFT_SHIFT_EQUAL Reduce 63 RIGHT_SHIFT_EQUAL Reduce 63 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 63 OR_OR Reduce 63 AND_AND Reduce 63 PLUS Reduce 63 MINUS Reduce 63 REMAINDER Reduce 63 XOR Reduce 63 AND Reduce 63 MULTIPLY Reduce 63 OR Reduce 63 DIVIDE Reduce 63 GREATER Reduce 63 LESS Reduce 63 LPAREN Reduce 63 RPAREN Reduce 63 RBRACE Reduce 63 LBRACKET Reduce 63 RBRACKET Reduce 63 SEMICOLON Reduce 63 QUESTION Reduce 63 COLON Reduce 63 COMMA Reduce 63 DOT Reduce 63 EQUAL Reduce 66 AT Reduce 63 COLON_COLON Reduce 63 BeginTypeArguments Reduce 63 ElidedSemicolonAndRightBrace Reduce 63 AT308 Reduce 63 BeginCaseExpr Reduce 63 $eof Reduce 63 ARROW Reduce 484 Default reduction to rule 66 STATE 98 ----------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 234 235 250 251 252 257 260 264 265 267 275 279 285 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 302 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 697 705 709 717 720 721 734 735 769 771 775 780 781 782 784 802 803 804 807 837 847 848 850 853 859 862 872 873 882 895 899 904 911 919 921 925 928 ) 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 . (543) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (641) Dimsopt ::= .Dims LPAREN Shift 275 BeginTypeArguments Shift 276 DOT Shift 289 LBRACKET Shift 279 AT308 Shift 22 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 303 Dims Goto 290 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Goto 277 abstract Reduce 543 final Reduce 543 instanceof Reduce 543 native Reduce 543 private Reduce 543 protected Reduce 543 public Reduce 543 static Reduce 543 strictfp Reduce 543 synchronized Reduce 543 transient Reduce 543 volatile Reduce 543 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 EQUAL_EQUAL Reduce 543 LESS_EQUAL Reduce 543 GREATER_EQUAL Reduce 543 NOT_EQUAL Reduce 543 LEFT_SHIFT Reduce 543 RIGHT_SHIFT Reduce 543 UNSIGNED_RIGHT_SHIFT Reduce 543 PLUS_EQUAL Reduce 543 MINUS_EQUAL Reduce 543 MULTIPLY_EQUAL Reduce 543 DIVIDE_EQUAL Reduce 543 AND_EQUAL Reduce 543 OR_EQUAL Reduce 543 XOR_EQUAL Reduce 543 REMAINDER_EQUAL Reduce 543 LEFT_SHIFT_EQUAL Reduce 543 RIGHT_SHIFT_EQUAL Reduce 543 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 543 OR_OR Reduce 543 AND_AND Reduce 543 PLUS Reduce 543 MINUS Reduce 543 REMAINDER Reduce 543 XOR Reduce 543 AND Reduce 543 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 304 MULTIPLY Reduce 543 OR Reduce 543 DIVIDE Reduce 543 GREATER Reduce 543 LESS Reduce 543 RPAREN Reduce 543 RBRACE Reduce 543 RBRACKET Reduce 543 SEMICOLON Reduce 543 QUESTION Reduce 543 COLON Reduce 543 COMMA Reduce 543 EQUAL Reduce 543 AT Reduce 543 ElidedSemicolonAndRightBrace Reduce 543 BeginCaseExpr Reduce 543 $eof Reduce 543 COLON_COLON Reduce 641 Default reduction to rule 543 STATE 99 ----------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 234 235 250 251 252 257 260 264 265 266 267 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 608 613 665 669 671 673 674 676 679 683 685 687 694 697 705 709 717 720 721 734 735 769 771 775 780 781 782 784 802 803 804 807 837 846 847 848 850 853 859 862 872 873 882 895 899 904 911 919 921 925 928 ) 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 . (542) DOT Shift 291 COLON_COLON Shift 253 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 305 abstract Reduce 542 final Reduce 542 instanceof Reduce 542 native Reduce 542 private Reduce 542 protected Reduce 542 public Reduce 542 static Reduce 542 strictfp Reduce 542 synchronized Reduce 542 transient Reduce 542 volatile Reduce 542 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 542 LESS_EQUAL Reduce 542 GREATER_EQUAL Reduce 542 NOT_EQUAL Reduce 542 LEFT_SHIFT Reduce 542 RIGHT_SHIFT Reduce 542 UNSIGNED_RIGHT_SHIFT Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 542 AND_AND Reduce 542 PLUS Reduce 542 MINUS Reduce 542 REMAINDER Reduce 542 XOR Reduce 542 AND Reduce 542 MULTIPLY Reduce 542 OR Reduce 542 DIVIDE Reduce 542 GREATER Reduce 542 LESS Reduce 542 RPAREN Reduce 542 RBRACE Reduce 542 RBRACKET Reduce 542 SEMICOLON Reduce 542 QUESTION Reduce 542 COLON Reduce 542 COMMA Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 306 EQUAL Reduce 542 AT Reduce 542 ElidedSemicolonAndRightBrace Reduce 542 BeginCaseExpr Reduce 542 $eof Reduce 542 Default reduction to rule 542 STATE 100 ---------------------------------------------------------------------- ( 9 14 40 42 44 46 55 70 101 190 227 233 234 235 250 251 252 257 260 264 265 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 570 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 802 803 804 807 813 815 837 847 848 853 859 862 872 873 882 895 899 904 911 919 921 925 ) CastExpression ::= BeginIntersectionCast .PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus PushLPAREN ::= .LPAREN LPAREN Sh/Rd 449 PushLPAREN Goto 292 STATE 101 ---------------------------------------------------------------------- ( 9 14 40 42 44 46 55 70 101 190 227 233 234 235 250 251 252 257 260 264 265 267 271 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 570 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 717 720 721 734 735 752 769 771 775 780 781 782 784 802 803 804 807 813 815 837 847 848 853 859 862 872 873 882 895 899 904 911 919 921 925 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 307 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 ::= .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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 308 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 309 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 Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 310 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 311 RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name instanceof ReferenceType InstanceofExpression_NotName ::= .InstanceofExpression_NotName instanceof ReferenceType 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 151 PLUS Shift 152 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 975 true Shift 975 null Shift 975 StringLiteral Shift 975 CharacterLiteral Shift 975 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 312 DoubleLiteral Shift 975 FloatingPointLiteral Shift 975 LongLiteral Shift 975 IntegerLiteral Shift 975 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 145 TWIDDLE Shift 146 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression_NotName Goto 236 Assignment Goto 236 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression_NotName Goto 161 ConditionalOrExpression_NotName Goto 164 Name Goto 294 ExclusiveOrExpression_NotName Goto 159 InclusiveOrExpression_NotName Goto 162 EqualityExpression_NotName Goto 157 AndExpression_NotName Goto 160 RelationalExpression_NotName Goto 155 InstanceofExpression_NotName Goto 158 AdditiveExpression_NotName Goto 153 ShiftExpression_NotName Goto 156 UnaryExpression_NotName Goto 976 MultiplicativeExpression_NotName Goto 154 SwitchExpression Goto 976 PostfixExpression_NotName Goto 976 CastExpression Goto 976 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 984 BooleanLiteral Goto 975 Primary Goto 150 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 983 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 293 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 313 Literal Goto 975 ClassInstanceCreationExpression Goto 982 FieldAccess Goto 981 MethodInvocation Goto 980 ArrayAccess Goto 979 LambdaExpression Goto 978 ReferenceExpression Goto 977 PostIncrementExpression Goto 149 PostDecrementExpression Goto 148 PreIncrementExpression Goto 976 PreDecrementExpression Goto 976 UnaryExpressionNotPlusMinus_NotName Goto 976 AssignmentExpression_NotName Goto 236 Expression_NotName Goto 236 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 102 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 234 235 250 251 252 257 260 264 265 267 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 717 720 721 734 735 769 771 775 780 781 782 784 802 803 804 807 837 847 848 853 859 862 872 873 882 895 899 904 911 919 921 925 ) UnaryExpressionNotPlusMinus ::= NOT .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 295 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 double Reduce 548 false Reduce 548 float Reduce 548 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 314 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 103 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 234 235 250 251 252 257 260 264 265 267 275 279 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 532 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 717 720 721 734 735 769 771 775 780 781 782 784 802 803 804 807 837 847 848 853 859 862 872 873 882 895 899 904 911 919 921 925 ) UnaryExpressionNotPlusMinus ::= TWIDDLE .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 296 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 double Reduce 548 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 315 false Reduce 548 float Reduce 548 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 104 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 300 301 302 306 307 308 309 310 311 312 313 314 315 316 317 318 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 383 384 465 490 491 494 532 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression ::= MultiplicativeExpression . (579) REMAINDER Shift 297 DIVIDE Shift 298 MULTIPLY Shift 299 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 316 abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 XOR Reduce 579 AND Reduce 579 OR Reduce 579 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 AT Reduce 579 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 105 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 310 311 312 313 314 315 316 317 318 355 356 358 359 360 361 362 363 364 365 366 367 368 369 383 384 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 317 ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= ShiftExpression . (586) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 OR_OR Reduce 591 AND_AND Reduce 591 XOR Reduce 591 AND Reduce 591 OR Reduce 591 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 AT Reduce 591 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 586 STATE 106 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 306 307 308 309 310 311 312 313 314 315 316 317 318 348 349 350 351 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 383 384 465 490 491 494 532 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 318 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= AdditiveExpression . (582) MINUS Shift 303 PLUS Shift 304 abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native 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 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 OR_OR Reduce 582 AND_AND Reduce 582 XOR Reduce 582 AND Reduce 582 OR Reduce 582 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 AT Reduce 582 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 107 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 310 313 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 319 314 315 316 317 318 358 359 360 361 362 363 364 365 366 367 383 384 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) InstanceofExpression ::= InstanceofExpression .instanceof ReferenceType EqualityExpression ::= InstanceofExpression . (593) instanceof Shift 305 abstract Reduce 593 final Reduce 593 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 EQUAL_EQUAL Reduce 593 NOT_EQUAL Reduce 593 OR_OR Reduce 593 AND_AND Reduce 593 XOR Reduce 593 AND Reduce 593 OR Reduce 593 RPAREN Reduce 593 RBRACE Reduce 593 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 AT Reduce 593 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 108 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 310 311 312 313 314 315 316 317 318 355 356 358 359 360 361 362 363 364 365 366 367 368 369 383 384 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) RelationalExpression ::= RelationalExpression .LESS ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 320 RelationalExpression ::= RelationalExpression .GREATER ShiftExpression RelationalExpression ::= RelationalExpression .LESS_EQUAL ShiftExpression RelationalExpression ::= RelationalExpression .GREATER_EQUAL ShiftExpression InstanceofExpression ::= RelationalExpression . (591) GREATER_EQUAL Shift 306 LESS_EQUAL Shift 307 GREATER Shift 308 LESS Shift 309 abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 EQUAL_EQUAL Reduce 591 NOT_EQUAL Reduce 591 OR_OR Reduce 591 AND_AND Reduce 591 XOR Reduce 591 AND Reduce 591 OR Reduce 591 RPAREN Reduce 591 RBRACE Reduce 591 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 AT Reduce 591 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 109 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 313 315 316 317 318 360 361 362 363 364 365 383 384 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) AndExpression ::= AndExpression .AND EqualityExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 321 ExclusiveOrExpression ::= AndExpression . (598) AND Shift 310 abstract Reduce 598 final Reduce 598 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 OR_OR Reduce 598 AND_AND Reduce 598 XOR Reduce 598 OR Reduce 598 RPAREN Reduce 598 RBRACE Reduce 598 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 AT Reduce 598 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 110 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 313 314 315 316 317 318 358 360 361 362 363 364 365 366 383 384 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression ::= EqualityExpression . (596) NOT_EQUAL Shift 311 EQUAL_EQUAL Shift 312 abstract Reduce 596 final Reduce 596 native Reduce 596 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 322 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 OR_OR Reduce 596 AND_AND Reduce 596 XOR Reduce 596 AND Reduce 596 OR Reduce 596 RPAREN Reduce 596 RBRACE Reduce 596 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 AT Reduce 596 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 111 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 315 316 318 362 363 383 384 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression ::= InclusiveOrExpression . (602) OR Shift 313 abstract Reduce 602 final Reduce 602 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 OR_OR Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 323 AND_AND Reduce 602 RPAREN Reduce 602 RBRACE Reduce 602 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 AT Reduce 602 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 112 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 315 316 317 318 360 362 363 364 383 384 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression ::= ExclusiveOrExpression . (600) XOR Shift 314 abstract Reduce 600 final Reduce 600 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 OR_OR Reduce 600 AND_AND Reduce 600 OR Reduce 600 RPAREN Reduce 600 RBRACE Reduce 600 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 AT Reduce 600 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 324 $eof Reduce 600 Default reduction to rule 600 STATE 113 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) ConditionalOrExpression ::= ConditionalOrExpression .OR_OR ConditionalAndExpression ConditionalExpression ::= ConditionalOrExpression . (606) ConditionalExpression ::= ConditionalOrExpression .QUESTION Expression COLON ConditionalExpression QUESTION Shift 315 OR_OR Shift 316 abstract Reduce 606 final Reduce 606 native 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 RPAREN Reduce 606 RBRACE Reduce 606 RBRACKET Reduce 606 SEMICOLON Reduce 606 COLON Reduce 606 COMMA Reduce 606 AT Reduce 606 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 114 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 720 721 734 735 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 325 ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression ::= ConditionalAndExpression . (604) AND_AND Shift 317 abstract Reduce 606 final Reduce 606 native 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 OR_OR Reduce 604 RPAREN Reduce 606 RBRACE Reduce 606 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 AT Reduce 606 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 604 STATE 115 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 252 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS UnaryExpressionNotPlusMinus ::= PostfixExpression . (556) Assignment ::= PostfixExpression .AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= PostfixExpression .AssignmentOperator ArrayInitializer AssignmentOperator ::= .EQUAL AssignmentOperator ::= .MULTIPLY_EQUAL AssignmentOperator ::= .DIVIDE_EQUAL AssignmentOperator ::= .REMAINDER_EQUAL AssignmentOperator ::= .PLUS_EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 326 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 547 PLUS_PLUS Sh/Rd 546 OR_EQUAL Sh/Rd 624 XOR_EQUAL Sh/Rd 623 AND_EQUAL Sh/Rd 622 UNSIGNED_RIGHT_SHIFT_EQUAL Sh/Rd 621 RIGHT_SHIFT_EQUAL Sh/Rd 620 LEFT_SHIFT_EQUAL Sh/Rd 619 MINUS_EQUAL Sh/Rd 618 PLUS_EQUAL Sh/Rd 617 REMAINDER_EQUAL Sh/Rd 616 DIVIDE_EQUAL Sh/Rd 615 MULTIPLY_EQUAL Sh/Rd 614 EQUAL Sh/Rd 613 AssignmentOperator Goto 252 instanceof Reduce 591 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 327 COMMA Reduce 608 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 556 STATE 116 ---------------------------------------------------------------------- ( 9 252 318 472 476 721 853 899 919 ) ArrayInitializer ::= LBRACE .PushLeftBrace ,opt RBRACE ArrayInitializer ::= LBRACE .PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= LBRACE .PushLeftBrace VariableInitializers COMMA RBRACE PushLeftBrace ::= . (314) PushLeftBrace Goto 318 Identifier Reduce 314 boolean Reduce 314 byte Reduce 314 char Reduce 314 double Reduce 314 false Reduce 314 float Reduce 314 int Reduce 314 long Reduce 314 new Reduce 314 null Reduce 314 short Reduce 314 super Reduce 314 switch Reduce 314 this Reduce 314 true Reduce 314 void Reduce 314 IntegerLiteral Reduce 314 LongLiteral Reduce 314 FloatingPointLiteral Reduce 314 DoubleLiteral Reduce 314 CharacterLiteral Reduce 314 StringLiteral Reduce 314 PLUS_PLUS Reduce 314 MINUS_MINUS Reduce 314 PLUS Reduce 314 MINUS Reduce 314 NOT Reduce 314 TWIDDLE Reduce 314 LPAREN Reduce 314 LBRACE Reduce 314 RBRACE Reduce 314 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 328 COMMA Reduce 314 BeginLambda Reduce 314 BeginIntersectionCast Reduce 314 AT308 Reduce 314 Default reduction to rule 314 STATE 117 ---------------------------------------------------------------------- ( 10 ) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (216) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 329 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 225 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 private Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 330 protected Shift 958 public Shift 958 AT Shift 79 static Shift 125 FieldDeclaration Gt/Rd 211 MethodDeclaration Gt/Rd 211 ClassDeclaration Gt/Rd 211 InterfaceDeclaration Gt/Rd 211 EnumDeclaration Gt/Rd 211 AnnotationTypeDeclaration Gt/Rd 211 AnnotationTypeDeclarationHeaderName Goto 31 Modifiers Goto 123 AnnotationTypeDeclarationHeader Goto 32 EnumHeaderName Goto 29 Modifiersopt Goto 127 EnumHeader Goto 30 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 InterfaceHeader Goto 35 ClassHeaderName Goto 36 ClassHeaderName1 Goto 38 ClassHeader Goto 39 MethodHeader Goto 122 MethodHeaderName Goto 118 DefaultMethodHeaderName Goto 119 ModifiersWithDefault Goto 120 AbstractMethodDeclaration Gt/Rd 211 DefaultMethodHeader Goto 121 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 StaticOnly Goto 124 ConstructorHeader Goto 126 ConstructorHeaderName Goto 128 ClassMemberDeclaration Gt/Rd 211 StaticInitializer Gt/Rd 211 ConstructorDeclaration Gt/Rd 211 Diet Goto 129 ClassBodyDeclaration Gt/Rd 211 $eof Reduce 14 LBRACE Reduce 216 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 331 default Reduce 637 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 118 ---------------------------------------------------------------------- ( 10 11 117 447 450 650 654 ) MethodHeader ::= MethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native 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 ::= . (637) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (647) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 332 NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 FormalParameter Goto 974 FormalParameterList Goto 205 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 320 FormalParameterListopt Goto 319 RPAREN Reduce 647 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 119 ---------------------------------------------------------------------- ( 10 11 117 447 450 650 654 ) DefaultMethodHeader ::= DefaultMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 333 MethodHeaderThrowsClauseopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native 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 ::= . (637) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (647) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 FormalParameter Goto 974 FormalParameterList Goto 205 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 334 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 320 FormalParameterListopt Goto 321 RPAREN Reduce 647 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 120 ---------------------------------------------------------------------- ( 10 11 117 447 450 650 654 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 335 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 214 Identifier Shift 970 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 322 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 322 TypeParameters Goto 323 Type Goto 322 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 336 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 121 ---------------------------------------------------------------------- ( 10 11 117 450 654 ) MethodDeclaration ::= DefaultMethodHeader .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (271) NestedMethod Goto 187 MethodBody Gt/Rd 243 LBRACE Reduce 271 Default reduction to rule 271 STATE 122 ---------------------------------------------------------------------- ( 10 11 117 450 654 ) MethodDeclaration ::= MethodHeader .MethodBody AbstractMethodDeclaration ::= MethodHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (271) SEMICOLON Sh/Rd 244 NestedMethod Goto 187 MethodBody Gt/Rd 242 LBRACE Reduce 271 Default reduction to rule 271 STATE 123 ---------------------------------------------------------------------- ( 10 12 117 411 414 441 447 450 626 628 647 650 654 747 750 817 ) Modifiers ::= Modifiers .Modifier Modifiersopt ::= Modifiers . (638) AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier TypeParameters IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 337 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 186 volatile Sh/Rd 186 transient Sh/Rd 186 synchronized Sh/Rd 186 native Sh/Rd 186 final Sh/Rd 186 abstract Sh/Rd 186 static Sh/Rd 186 private Sh/Rd 186 protected Sh/Rd 186 public Sh/Rd 186 AT Shift 273 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Modifier Gt/Rd 186 Identifier Reduce 638 boolean Reduce 638 byte Reduce 638 char Reduce 638 class Reduce 638 default Reduce 638 double Reduce 638 enum Reduce 638 float Reduce 638 int Reduce 638 interface Reduce 638 long Reduce 638 short Reduce 638 void Reduce 638 module Reduce 638 open Reduce 638 LESS Reduce 638 AT308 Reduce 638 Default reduction to rule 638 STATE 124 ---------------------------------------------------------------------- ( 10 17 18 19 117 447 450 650 654 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 338 StaticInitializer ::= StaticOnly .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) OpenBlock Goto 69 Block Gt/Rd 272 LBRACE Reduce 321 Default reduction to rule 321 STATE 125 ---------------------------------------------------------------------- ( 10 17 18 117 447 450 650 654 ) Modifier ::= static . (190) StaticOnly ::= static . (273) LBRACE Reduce 273 Identifier Reduce 638 abstract Reduce 185 boolean Reduce 638 byte Reduce 638 char Reduce 638 class Reduce 638 default Reduce 638 double Reduce 638 enum Reduce 638 final Reduce 185 float Reduce 638 int Reduce 638 interface Reduce 638 long Reduce 638 native Reduce 185 package Reduce 185 private Reduce 185 protected Reduce 185 public Reduce 185 short Reduce 638 static Reduce 185 strictfp Reduce 185 synchronized Reduce 185 transient Reduce 185 void Reduce 638 volatile Reduce 185 module Reduce 638 open Reduce 638 LESS Reduce 638 AT Reduce 185 AT308 Reduce 638 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 339 Default reduction to rule 190 STATE 126 ---------------------------------------------------------------------- ( 10 11 13 117 441 450 647 654 ) ConstructorDeclaration ::= ConstructorHeader .MethodBody ConstructorDeclaration ::= ConstructorHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (271) SEMICOLON Sh/Rd 275 NestedMethod Goto 187 MethodBody Gt/Rd 274 LBRACE Reduce 271 Default reduction to rule 271 STATE 127 ---------------------------------------------------------------------- ( 10 117 447 450 650 654 ) 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 340 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 ::= . (71) 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 217 interface Shift 218 default Shift 324 class Shift 219 Identifier Shift 327 AT308 Shift 22 LESS Shift 214 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 326 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 326 Type Goto 326 TypeParameters Goto 325 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 341 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 128 ---------------------------------------------------------------------- ( 10 11 13 18 117 441 447 450 647 650 654 ) ConstructorHeader ::= ConstructorHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native 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 ::= . (637) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (647) 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 Mon Oct 4 09:57:22 2021 Page 342 SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 FormalParameter Goto 974 FormalParameterList Goto 205 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 320 FormalParameterListopt Goto 328 RPAREN Reduce 647 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 129 ---------------------------------------------------------------------- ( 10 117 450 654 ) ClassBodyDeclaration ::= Diet .NestedMethod CreateInitializer Block NestedMethod ::= . (271) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 343 NestedMethod Goto 329 LBRACE Reduce 271 Default reduction to rule 271 STATE 130 ---------------------------------------------------------------------- ( 11 14 15 28 118 119 128 131 138 168 170 184 190 209 225 266 271 324 386 429 430 459 499 570 645 658 659 752 813 815 846 ) AnnotationName ::= AT .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 270 SimpleName Goto 270 UnannotatableName Goto 270 STATE 131 ---------------------------------------------------------------------- ( 11 15 28 118 119 128 138 168 170 184 209 324 386 429 430 645 658 ) Modifiers ::= Modifiers .Modifier Modifiersopt ::= Modifiers . (638) Modifier ::= .Annotation Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Sh/Rd 186 volatile Sh/Rd 186 transient Sh/Rd 186 synchronized Sh/Rd 186 native Sh/Rd 186 final Sh/Rd 186 abstract Sh/Rd 186 static Sh/Rd 186 private Sh/Rd 186 protected Sh/Rd 186 public Sh/Rd 186 NormalAnnotation Goto 942 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 344 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Modifier Gt/Rd 186 Identifier Reduce 638 boolean Reduce 638 byte Reduce 638 char Reduce 638 default Reduce 638 double Reduce 638 float Reduce 638 int Reduce 638 long Reduce 638 short Reduce 638 void Reduce 638 LESS Reduce 638 AT308 Reduce 638 $eof Reduce 638 Default reduction to rule 638 STATE 132 ---------------------------------------------------------------------- ( 11 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 345 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 324 LESS Shift 214 Identifier Shift 327 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 330 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 330 TypeParameters Goto 325 Type Goto 330 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 346 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 133 ---------------------------------------------------------------------- ( 13 17 18 188 ) PackageDeclaration ::= PackageDeclarationName .SEMICOLON SEMICOLON Sh/Rd 168 STATE 134 ---------------------------------------------------------------------- ( 13 17 18 188 ) PackageDeclarationName ::= PackageComment .package Name RejectTypeAnnotations package Shift 331 STATE 135 ---------------------------------------------------------------------- ( 13 441 647 ) AnnotationTypeMemberDeclaration ::= AnnotationMethodHeader .SEMICOLON SEMICOLON Sh/Rd 833 STATE 136 ---------------------------------------------------------------------- ( 13 441 647 ) ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN InterfaceHeaderName1 ::= Modifiersopt .interface 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 347 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 ::= . (71) 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 217 interface Shift 218 class Shift 219 Identifier Shift 327 AT308 Shift 22 LESS Shift 214 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 333 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 348 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 333 Type Goto 333 TypeParameters Goto 332 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 137 ---------------------------------------------------------------------- ( 13 17 18 188 ) PackageDeclarationName ::= Modifiers .package PushRealModifiers Name RejectTypeAnnotations Modifiers ::= Modifiers .Modifier Modifiersopt ::= Modifiers . (638) 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 334 strictfp Sh/Rd 186 volatile Sh/Rd 186 transient Sh/Rd 186 synchronized Sh/Rd 186 native Sh/Rd 186 final Sh/Rd 186 abstract Sh/Rd 186 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 349 static Sh/Rd 186 private Sh/Rd 186 protected Sh/Rd 186 public Sh/Rd 186 AT Shift 273 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Modifier Gt/Rd 186 Identifier Reduce 638 boolean Reduce 638 byte Reduce 638 char Reduce 638 class Reduce 638 default Reduce 638 double Reduce 638 enum Reduce 638 float Reduce 638 int Reduce 638 interface Reduce 638 long Reduce 638 short Reduce 638 void Reduce 638 module Reduce 638 open Reduce 638 LESS Reduce 638 AT308 Reduce 638 Default reduction to rule 638 STATE 138 ---------------------------------------------------------------------- ( 13 441 647 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 350 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 ::= . (637) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (647) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 FormalParameter Goto 974 FormalParameterList Goto 205 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 320 FormalParameterListopt Goto 335 RPAREN Reduce 647 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 351 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 139 ---------------------------------------------------------------------- ( 14 17 18 188 411 415 625 ) StaticImportOnDemandDeclaration ::= StaticImportOnDemandDeclarationName . SEMICOLON SEMICOLON Sh/Rd 689 STATE 140 ---------------------------------------------------------------------- ( 14 17 18 188 411 415 625 ) SingleStaticImportDeclaration ::= SingleStaticImportDeclarationName .SEMICOLON SEMICOLON Sh/Rd 687 STATE 141 ---------------------------------------------------------------------- ( 14 17 18 188 411 415 625 ) TypeImportOnDemandDeclaration ::= TypeImportOnDemandDeclarationName .SEMICOLON SEMICOLON Sh/Rd 178 STATE 142 ---------------------------------------------------------------------- ( 14 17 18 188 411 415 625 ) SingleTypeImportDeclarationName ::= import .Name RejectTypeAnnotations TypeImportOnDemandDeclarationName ::= import .Name DOT RejectTypeAnnotations MULTIPLY SingleStaticImportDeclarationName ::= import .static Name RejectTypeAnnotations StaticImportOnDemandDeclarationName ::= import .static Name DOT RejectTypeAnnotations MULTIPLY IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 352 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 336 AT308 Shift 22 Identifier Shift 970 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 Name Goto 337 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 337 STATE 143 ---------------------------------------------------------------------- ( 14 17 18 188 411 415 625 ) SingleTypeImportDeclaration ::= SingleTypeImportDeclarationName .SEMICOLON SEMICOLON Sh/Rd 176 STATE 144 ---------------------------------------------------------------------- ( 14 190 271 570 752 813 815 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 353 PushLeftBrace RBRACE LBRACE Shift 338 STATE 145 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) UnaryExpressionNotPlusMinus_NotName ::= NOT .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 339 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 double Reduce 548 false Reduce 548 float Reduce 548 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 146 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 354 UnaryExpressionNotPlusMinus_NotName ::= TWIDDLE .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 340 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 double Reduce 548 false Reduce 548 float Reduce 548 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 147 ---------------------------------------------------------------------- ( 14 190 271 570 752 813 815 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS MINUS_MINUS Sh/Rd 547 PLUS_PLUS Sh/Rd 546 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 355 STATE 148 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) PostfixExpression ::= PostDecrementExpression . (545) PostfixExpression_NotName ::= PostDecrementExpression . (750) abstract Reduce 811 final Reduce 811 instanceof Reduce 788 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 PLUS_EQUAL Reduce 545 MINUS_EQUAL Reduce 545 MULTIPLY_EQUAL Reduce 545 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 356 DIVIDE_EQUAL Reduce 545 AND_EQUAL Reduce 545 OR_EQUAL Reduce 545 XOR_EQUAL Reduce 545 REMAINDER_EQUAL Reduce 545 LEFT_SHIFT_EQUAL Reduce 545 RIGHT_SHIFT_EQUAL Reduce 545 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 545 EQUAL Reduce 545 Default reduction to rule 750 STATE 149 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) PostfixExpression ::= PostIncrementExpression . (544) PostfixExpression_NotName ::= PostIncrementExpression . (749) abstract Reduce 811 final Reduce 811 instanceof Reduce 788 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 811 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 357 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 PLUS_EQUAL Reduce 544 MINUS_EQUAL Reduce 544 MULTIPLY_EQUAL Reduce 544 DIVIDE_EQUAL Reduce 544 AND_EQUAL Reduce 544 OR_EQUAL Reduce 544 XOR_EQUAL Reduce 544 REMAINDER_EQUAL Reduce 544 LEFT_SHIFT_EQUAL Reduce 544 RIGHT_SHIFT_EQUAL Reduce 544 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 544 EQUAL Reduce 544 Default reduction to rule 749 STATE 150 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) 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 . (542) PostfixExpression_NotName ::= Primary . (748) DOT Shift 291 COLON_COLON Shift 253 abstract Reduce 811 final Reduce 811 instanceof Reduce 788 native Reduce 811 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 358 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 EQUAL Reduce 542 Default reduction to rule 748 STATE 151 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 359 UnaryExpression_NotName ::= MINUS .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 341 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 double Reduce 548 false Reduce 548 float Reduce 548 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 152 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) UnaryExpression_NotName ::= PLUS .PushPosition UnaryExpression PushPosition ::= . (548) PushPosition Goto 342 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 360 Identifier Reduce 548 boolean Reduce 548 byte Reduce 548 char Reduce 548 double Reduce 548 false Reduce 548 float Reduce 548 int Reduce 548 long Reduce 548 new Reduce 548 null Reduce 548 short Reduce 548 super Reduce 548 switch Reduce 548 this Reduce 548 true Reduce 548 void Reduce 548 IntegerLiteral Reduce 548 LongLiteral Reduce 548 FloatingPointLiteral Reduce 548 DoubleLiteral Reduce 548 CharacterLiteral Reduce 548 StringLiteral Reduce 548 PLUS_PLUS Reduce 548 MINUS_MINUS Reduce 548 PLUS Reduce 548 MINUS Reduce 548 NOT Reduce 548 TWIDDLE Reduce 548 LPAREN Reduce 548 BeginLambda Reduce 548 BeginIntersectionCast Reduce 548 AT308 Reduce 548 Default reduction to rule 548 STATE 153 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) AdditiveExpression_NotName ::= AdditiveExpression_NotName .PLUS MultiplicativeExpression AdditiveExpression_NotName ::= AdditiveExpression_NotName .MINUS MultiplicativeExpression ShiftExpression_NotName ::= AdditiveExpression_NotName . (772) MINUS Shift 343 PLUS Shift 344 abstract Reduce 811 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 361 final Reduce 811 instanceof Reduce 788 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 XOR Reduce 799 AND Reduce 796 OR Reduce 802 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 Default reduction to rule 772 STATE 154 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName . MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName . REMAINDER UnaryExpression AdditiveExpression_NotName ::= MultiplicativeExpression_NotName . (767) REMAINDER Shift 345 DIVIDE Shift 346 MULTIPLY Shift 347 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 362 abstract Reduce 811 final Reduce 811 instanceof Reduce 788 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 XOR Reduce 799 AND Reduce 796 OR Reduce 802 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 Default reduction to rule 767 STATE 155 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) RelationalExpression_NotName ::= RelationalExpression_NotName .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= RelationalExpression_NotName .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= RelationalExpression_NotName . (788) GREATER_EQUAL Shift 348 LESS_EQUAL Shift 349 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 363 abstract Reduce 811 final Reduce 811 instanceof Reduce 788 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 EQUAL_EQUAL Reduce 791 NOT_EQUAL Reduce 791 OR_OR Reduce 808 AND_AND Reduce 805 XOR Reduce 799 AND Reduce 796 OR Reduce 802 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 Default reduction to rule 788 STATE 156 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) 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 . (779) RelationalExpression_NotName ::= ShiftExpression_NotName .LESS ShiftExpression RelationalExpression_NotName ::= ShiftExpression_NotName .GREATER ShiftExpression GREATER Shift 350 LESS Shift 351 UNSIGNED_RIGHT_SHIFT Shift 352 RIGHT_SHIFT Shift 353 LEFT_SHIFT Shift 354 abstract Reduce 811 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 364 final Reduce 811 instanceof Reduce 788 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 OR_OR Reduce 808 AND_AND Reduce 805 XOR Reduce 799 AND Reduce 796 OR Reduce 802 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 Default reduction to rule 779 STATE 157 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) EqualityExpression_NotName ::= EqualityExpression_NotName .EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= EqualityExpression_NotName .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= EqualityExpression_NotName . (796) NOT_EQUAL Shift 355 EQUAL_EQUAL Shift 356 abstract Reduce 811 final Reduce 811 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 365 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 OR_OR Reduce 808 AND_AND Reduce 805 XOR Reduce 799 AND Reduce 796 OR Reduce 802 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 Default reduction to rule 796 STATE 158 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) InstanceofExpression_NotName ::= InstanceofExpression_NotName .instanceof ReferenceType EqualityExpression_NotName ::= InstanceofExpression_NotName . (791) instanceof Shift 357 abstract Reduce 811 final Reduce 811 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 EQUAL_EQUAL Reduce 791 NOT_EQUAL Reduce 791 OR_OR Reduce 808 AND_AND Reduce 805 XOR Reduce 799 AND Reduce 796 OR Reduce 802 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 366 AT Reduce 811 $eof Reduce 811 Default reduction to rule 791 STATE 159 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName .XOR AndExpression InclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName . (802) XOR Shift 358 abstract Reduce 811 final Reduce 811 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 OR_OR Reduce 808 AND_AND Reduce 805 OR Reduce 802 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 Default reduction to rule 802 STATE 160 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) AndExpression_NotName ::= AndExpression_NotName .AND EqualityExpression ExclusiveOrExpression_NotName ::= AndExpression_NotName . (799) AND Shift 359 abstract Reduce 811 final Reduce 811 native Reduce 811 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 367 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 OR_OR Reduce 808 AND_AND Reduce 805 XOR Reduce 799 OR Reduce 802 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 Default reduction to rule 799 STATE 161 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= ConditionalAndExpression_NotName . (808) AND_AND Shift 360 abstract Reduce 811 final Reduce 811 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 OR_OR Reduce 808 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 368 Default reduction to rule 808 STATE 162 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= InclusiveOrExpression_NotName . (805) OR Shift 361 abstract Reduce 811 final Reduce 811 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 OR_OR Reduce 808 AND_AND Reduce 805 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 QUESTION Reduce 808 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 Default reduction to rule 805 STATE 163 ---------------------------------------------------------------------- ( 14 190 271 570 752 813 815 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 369 ClassInstanceCreationExpressionName ::= Name .DOT new MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET PostfixExpression ::= Name . (543) 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 .instanceof ReferenceType 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 MemberValue ::= Name . (851) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (641) Dimsopt ::= .Dims QUESTION Shift 362 OR_OR Shift 363 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 370 AND_AND Shift 364 OR Shift 365 XOR Shift 366 AND Shift 367 NOT_EQUAL Shift 368 EQUAL_EQUAL Shift 369 instanceof Shift 370 GREATER_EQUAL Shift 371 LESS_EQUAL Shift 372 GREATER Shift 373 LESS Shift 374 UNSIGNED_RIGHT_SHIFT Shift 375 RIGHT_SHIFT Shift 376 LEFT_SHIFT Shift 377 MINUS Shift 378 PLUS Shift 379 REMAINDER Shift 380 DIVIDE Shift 381 MULTIPLY Shift 382 LPAREN Shift 275 BeginTypeArguments Shift 276 DOT Shift 289 LBRACKET Shift 279 AT308 Shift 22 Dims Goto 290 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Goto 277 abstract Reduce 851 final Reduce 851 native 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 RPAREN Reduce 851 RBRACE Reduce 851 SEMICOLON Reduce 851 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 371 COMMA Reduce 851 AT Reduce 851 $eof Reduce 851 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 COLON_COLON Reduce 641 Default reduction to rule 851 STATE 164 ---------------------------------------------------------------------- ( 14 55 101 190 271 570 752 813 815 ) ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName .OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= ConditionalOrExpression_NotName . (811) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName .QUESTION Expression COLON ConditionalExpression QUESTION Shift 383 OR_OR Shift 384 abstract Reduce 811 final Reduce 811 native Reduce 811 private Reduce 811 protected Reduce 811 public Reduce 811 static Reduce 811 strictfp Reduce 811 synchronized Reduce 811 transient Reduce 811 volatile Reduce 811 RPAREN Reduce 811 RBRACE Reduce 811 SEMICOLON Reduce 811 COMMA Reduce 811 AT Reduce 811 $eof Reduce 811 Default reduction to rule 811 STATE 165 ---------------------------------------------------------------------- ( 15 ) FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 372 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 ::= . (71) 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 22 Identifier Shift 970 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 385 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 373 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 385 Type Goto 385 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 166 ---------------------------------------------------------------------- ( 16 ) Goal ::= MULTIPLY BlockStatements . (7) BlockStatements ::= BlockStatements .BlockStatement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 374 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 Mon Oct 4 09:57:22 2021 Page 375 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 376 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 YieldStatement ::= .yield Expression SEMICOLON 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 377 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 Mon Oct 4 09:57:22 2021 Page 378 PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (637) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 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 yield Shift 40 try Shift 41 throw Shift 42 return Shift 44 continue Shift 45 break Shift 46 do Shift 47 switch Shift 48 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 379 BeginLambda Shift 56 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 super Shift 65 this Shift 67 LESS Shift 25 SEMICOLON Sh/Rd 366 assert Shift 70 if Shift 72 while Shift 73 for Shift 75 strictfp Shift 934 volatile Shift 934 transient Shift 934 synchronized Shift 78 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 protected Shift 934 public Shift 934 AT Shift 79 AT308 Shift 22 Identifier Shift 84 LocalVariableDeclaration Goto 90 PrimitiveType Goto 89 ReferenceType Goto 77 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 943 Name Goto 85 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 380 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 82 Modifier Goto 934 Modifiers Goto 81 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Type Goto 77 StatementWithoutTrailingSubstatement Gt/Rd 323 LabeledStatement Gt/Rd 323 IfThenStatement Gt/Rd 323 IfThenElseStatement Gt/Rd 323 WhileStatement Gt/Rd 323 ForStatement Gt/Rd 323 EnhancedForStatement Gt/Rd 323 EnhancedForStatementHeaderInit Goto 76 EnhancedForStatementHeader Goto 74 Label Goto 71 OpenBlock Goto 69 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OnlyTypeArguments Goto 66 Primary Goto 64 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 941 BooleanLiteral Goto 935 ClassInstanceCreationExpressionName Goto 59 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 Literal Goto 935 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 54 FieldAccess Goto 940 MethodInvocation Goto 53 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 OnlySynchronized Goto 43 AssertStatement Gt/Rd 323 Block Gt/Rd 323 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 381 EmptyStatement Gt/Rd 323 ExpressionStatement Gt/Rd 323 SwitchStatement Gt/Rd 323 DoStatement Gt/Rd 323 BreakStatement Gt/Rd 323 ContinueStatement Gt/Rd 323 ReturnStatement Gt/Rd 323 SynchronizedStatement Gt/Rd 323 ThrowStatement Gt/Rd 323 TryStatement Gt/Rd 323 TryStatementWithResources Gt/Rd 323 YieldStatement Gt/Rd 323 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 EnumHeader Goto 30 EnumHeaderName Goto 29 LocalVariableDeclarationStatement Gt/Rd 323 Statement Gt/Rd 323 ClassDeclaration Gt/Rd 323 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 BlockStatement Gt/Rd 323 $eof Reduce 7 class Reduce 637 enum Reduce 637 interface Reduce 637 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 167 ---------------------------------------------------------------------- ( 16 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 382 CatchHeader ::= catch .LPAREN CatchFormalParameter RPAREN LBRACE LPAREN Shift 386 STATE 168 ---------------------------------------------------------------------- ( 17 ) Goal ::= NOT Header2 .Modifiersopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifier Goto 958 Modifiers Goto 131 NormalAnnotation Goto 942 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 383 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Modifiersopt Gt/Rd 6 $eof Reduce 637 Default reduction to rule 637 STATE 169 ---------------------------------------------------------------------- ( 17 209 645 ) EnumConstantHeader ::= EnumConstantHeaderName .ForceNoDiet Argumentsopt RestoreDiet ForceNoDiet ::= . (236) ForceNoDiet Goto 387 abstract Reduce 236 final Reduce 236 native Reduce 236 private Reduce 236 protected Reduce 236 public Reduce 236 static Reduce 236 strictfp Reduce 236 synchronized Reduce 236 transient Reduce 236 volatile Reduce 236 LPAREN Reduce 236 LBRACE Reduce 236 RBRACE Reduce 236 SEMICOLON Reduce 236 COMMA Reduce 236 AT Reduce 236 $eof Reduce 236 Default reduction to rule 236 STATE 170 ---------------------------------------------------------------------- ( 17 18 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 384 MethodHeaderThrowsClause Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native 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 ::= . (637) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (647) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 FormalParameter Goto 974 FormalParameterList Goto 205 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 385 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 320 FormalParameterListopt Goto 388 RPAREN Reduce 647 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 171 ---------------------------------------------------------------------- ( 17 18 ) RecoveryMethodHeaderName ::= ModifiersWithDefault .TypeParameters Type Identifier LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 386 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 214 Identifier Shift 970 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 389 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 389 TypeParameters Goto 390 Type Goto 389 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 387 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 172 ---------------------------------------------------------------------- ( 17 18 ) 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 ::= . (71) 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 22 Identifier Shift 970 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 388 QualifiedName Goto 985 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ClassOrInterfaceType Goto 393 ClassType Goto 392 PrimitiveType Goto 391 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 173 ---------------------------------------------------------------------- ( 17 ) ModuleHeader ::= Modifiersopt .ModuleModifieropt module UnannotatableName ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON ModifiersWithDefault ::= Modifiersopt .default Modifiersopt InterfaceHeaderName1 ::= Modifiersopt .interface 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 389 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 ::= . (71) 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 ::= . (101) ModuleModifieropt ::= .ModuleModifier ModuleModifier ::= .open TypeParameters ::= .LESS TypeParameterList1 enum Shift 217 interface Shift 218 default Shift 324 class Shift 219 open Shift 986 Identifier Shift 397 AT308 Shift 22 LESS Shift 214 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 395 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 390 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 395 ModuleModifier Gt/Rd 102 ModuleModifieropt Goto 396 Type Goto 395 TypeParameters Goto 394 module Reduce 101 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 174 ---------------------------------------------------------------------- ( 17 18 627 749 ) RequiresStatement ::= SingleRequiresModuleName .SEMICOLON SEMICOLON Sh/Rd 114 STATE 175 ---------------------------------------------------------------------- ( 17 18 627 749 ) SingleRequiresModuleName ::= requires .RequiresModifiersopt UnannotatableName RequiresModifiersopt ::= .RequiresModifiers RequiresModifiersopt ::= . (117) RequiresModifiers ::= .RequiresModifier RequiresModifiers ::= .RequiresModifiers RequiresModifier RequiresModifier ::= .transitive RequiresModifier ::= .static static Shift 987 transitive Shift 987 RequiresModifier Goto 987 RequiresModifiers Goto 399 RequiresModifiersopt Goto 398 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 391 Identifier Reduce 117 Default reduction to rule 117 STATE 176 ---------------------------------------------------------------------- ( 17 18 627 749 ) ExportsStatement ::= ExportsHeader .TargetModuleListopt SEMICOLON TargetModuleListopt ::= . (124) TargetModuleListopt ::= .to TargetModuleNameList to Shift 401 TargetModuleListopt Goto 400 SEMICOLON Reduce 124 Default reduction to rule 124 STATE 177 ---------------------------------------------------------------------- ( 17 18 627 749 ) ExportsHeader ::= exports .SinglePkgName SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName SinglePkgName ::= .UnannotatableName Identifier Shift 988 SimpleName Goto 988 UnannotatableName Goto 402 SinglePkgName Gt/Rd 123 STATE 178 ---------------------------------------------------------------------- ( 17 18 627 749 ) UsesStatement ::= UsesHeader .SEMICOLON SEMICOLON Sh/Rd 132 STATE 179 ---------------------------------------------------------------------- ( 17 18 627 749 ) UsesHeader ::= uses .Name IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 392 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 22 Identifier Shift 970 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 Name Goto 403 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 403 STATE 180 ---------------------------------------------------------------------- ( 17 18 627 749 ) ProvidesStatement ::= ProvidesInterface .WithClause SEMICOLON WithClause ::= .with ServiceImplNameList with Shift 405 WithClause Goto 404 STATE 181 ---------------------------------------------------------------------- ( 17 18 627 749 ) ProvidesInterface ::= provides .Name Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 393 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 22 Identifier Shift 970 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 Name Goto 406 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 406 STATE 182 ---------------------------------------------------------------------- ( 17 18 627 749 ) OpensStatement ::= OpensHeader .TargetModuleListopt SEMICOLON TargetModuleListopt ::= . (124) TargetModuleListopt ::= .to TargetModuleNameList to Shift 401 TargetModuleListopt Goto 407 SEMICOLON Reduce 124 Default reduction to rule 124 STATE 183 ---------------------------------------------------------------------- ( 17 18 627 749 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 394 OpensHeader ::= opens .SinglePkgName SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName SinglePkgName ::= .UnannotatableName Identifier Shift 988 SimpleName Goto 988 UnannotatableName Goto 402 SinglePkgName Gt/Rd 131 STATE 184 ---------------------------------------------------------------------- ( 18 ) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 395 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifier Goto 958 Modifiers Goto 131 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Modifiersopt Gt/Rd 5 $eof Reduce 637 Default reduction to rule 637 STATE 185 ---------------------------------------------------------------------- ( 18 ) ModuleHeader ::= Modifiersopt .ModuleModifieropt module UnannotatableName ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON ModifiersWithDefault ::= Modifiersopt .default Modifiersopt ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN InterfaceHeaderName1 ::= Modifiersopt .interface 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 396 ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 ::= . (101) ModuleModifieropt ::= .ModuleModifier ModuleModifier ::= .open TypeParameters ::= .LESS TypeParameterList1 enum Shift 217 interface Shift 218 default Shift 324 class Shift 219 open Shift 986 Identifier Shift 327 AT308 Shift 22 LESS Shift 214 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 395 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 397 ReferenceType Goto 395 ModuleModifier Gt/Rd 102 ModuleModifieropt Goto 396 Type Goto 395 TypeParameters Goto 408 module Reduce 101 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 186 ---------------------------------------------------------------------- ( 19 447 650 ) Initializer ::= Diet .NestedMethod CreateInitializer Block NestedMethod ::= . (271) NestedMethod Goto 409 LBRACE Reduce 271 Default reduction to rule 271 STATE 187 ---------------------------------------------------------------------- ( 20 121 122 126 651 652 653 ) MethodBody ::= NestedMethod .LBRACE BlockStatementsopt RBRACE LBRACE Shift 410 STATE 188 ---------------------------------------------------------------------- ( 21 ) CompilationUnit ::= EnterCompilationUnit .InternalCompilationUnit InternalCompilationUnit ::= .PackageDeclaration InternalCompilationUnit ::= .PackageDeclaration ImportDeclarations ReduceImports InternalCompilationUnit ::= .PackageDeclaration ImportDeclarations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 398 ReduceImports TypeDeclarations InternalCompilationUnit ::= .PackageDeclaration TypeDeclarations InternalCompilationUnit ::= .ImportDeclarations ReduceImports InternalCompilationUnit ::= .TypeDeclarations InternalCompilationUnit ::= .ImportDeclarations ReduceImports TypeDeclarations InternalCompilationUnit ::= . (96) InternalCompilationUnit ::= .ImportDeclarations ReduceImports ModuleDeclaration InternalCompilationUnit ::= .ModuleDeclaration ModuleDeclaration ::= .ModuleHeader ModuleBody ModuleHeader ::= .Modifiersopt ModuleModifieropt module UnannotatableName ImportDeclarations ::= .ImportDeclarations ImportDeclaration TypeDeclarations ::= .TypeDeclaration TypeDeclarations ::= .TypeDeclarations TypeDeclaration PackageDeclaration ::= .PackageDeclarationName SEMICOLON PackageDeclarationName ::= .Modifiers package PushRealModifiers Name RejectTypeAnnotations PackageDeclarationName ::= .PackageComment package Name RejectTypeAnnotations PackageComment ::= . (171) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY TypeDeclaration ::= .ClassDeclaration TypeDeclaration ::= .InterfaceDeclaration TypeDeclaration ::= .SEMICOLON TypeDeclaration ::= .EnumDeclaration TypeDeclaration ::= .AnnotationTypeDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 399 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 182 import Shift 142 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 AT Shift 79 PackageDeclarationName Goto 133 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 400 Modifier Goto 958 Modifiers Goto 137 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 PackageComment Goto 134 ImportDeclaration Goto 415 ImportDeclarations Goto 415 SingleTypeImportDeclarationName Goto 143 TypeImportOnDemandDeclarationName Goto 141 SingleStaticImportDeclarationName Goto 140 StaticImportOnDemandDeclarationName Goto 139 SingleTypeImportDeclaration Goto 415 TypeImportOnDemandDeclaration Goto 415 SingleStaticImportDeclaration Goto 415 StaticImportOnDemandDeclaration Goto 415 TypeDeclaration Goto 989 TypeDeclarations Goto 414 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiersopt Goto 413 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 ClassDeclaration Goto 989 InterfaceDeclaration Goto 989 EnumDeclaration Goto 989 AnnotationTypeDeclaration Goto 989 ModuleHeader Goto 412 PackageDeclaration Goto 411 ModuleDeclaration Gt/Rd 98 InternalCompilationUnit Gt/Rd 88 $eof Reduce 96 class Reduce 637 enum Reduce 637 interface Reduce 637 module Reduce 637 open Reduce 637 package Reduce 171 Default reduction to rule 637 STATE 189 ---------------------------------------------------------------------- ( 22 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 401 UnannotatableName ::= UnannotatableName .DOT SimpleName TypeAnnotationName ::= AT308 UnannotatableName . (79) DOT Shift 416 Identifier Reduce 79 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 LPAREN Reduce 79 LBRACKET Reduce 79 QUESTION Reduce 79 ELLIPSIS Reduce 79 AT308 Reduce 79 $eof Reduce 79 Default reduction to rule 79 STATE 190 ---------------------------------------------------------------------- ( 23 ) NormalTypeAnnotation ::= TypeAnnotationName LPAREN .MemberValuePairsopt RPAREN SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN . SingleMemberAnnotationMemberValue RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 402 TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 403 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 Mon Oct 4 09:57:22 2021 Page 404 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 AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 405 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 instanceof ReferenceType InstanceofExpression_NotName ::= .InstanceofExpression_NotName instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 406 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 ::= . (843) 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 ::= . (858) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotationMemberValue ::= .MemberValue SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 151 PLUS Shift 152 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 990 true Shift 990 null Shift 990 StringLiteral Shift 990 CharacterLiteral Shift 990 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 407 DoubleLiteral Shift 990 FloatingPointLiteral Shift 990 LongLiteral Shift 990 IntegerLiteral Shift 990 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 145 TWIDDLE Shift 146 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AT Shift 130 ConditionalExpression_NotName Goto 1000 Name Goto 163 Annotation Goto 1000 MemberValueArrayInitializer Goto 1000 EnterMemberValueArrayInitializer Goto 144 AnnotationName Goto 80 NormalAnnotation Goto 1000 MarkerAnnotation Goto 1000 SingleMemberAnnotation Goto 1000 ConditionalAndExpression_NotName Goto 161 ConditionalOrExpression_NotName Goto 164 ExclusiveOrExpression_NotName Goto 159 InclusiveOrExpression_NotName Goto 162 EqualityExpression_NotName Goto 157 AndExpression_NotName Goto 160 RelationalExpression_NotName Goto 155 InstanceofExpression_NotName Goto 158 AdditiveExpression_NotName Goto 153 ShiftExpression_NotName Goto 156 UnaryExpression_NotName Goto 992 MultiplicativeExpression_NotName Goto 154 SwitchExpression Goto 992 PostfixExpression_NotName Goto 992 CastExpression Goto 992 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 999 BooleanLiteral Goto 990 Primary Goto 150 ClassInstanceCreationExpressionName Goto 59 SimpleName Goto 420 TypeAnnotations Goto 86 QualifiedName Goto 963 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 408 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 990 ClassInstanceCreationExpression Goto 998 FieldAccess Goto 997 MethodInvocation Goto 996 ArrayAccess Goto 995 LambdaExpression Goto 994 ReferenceExpression Goto 993 PostfixExpression Goto 147 PostIncrementExpression Goto 149 PostDecrementExpression Goto 148 PreIncrementExpression Goto 992 PreDecrementExpression Goto 992 UnaryExpressionNotPlusMinus_NotName Goto 992 MemberValue Gt/Rd 862 MemberValuePair Goto 991 MemberValuePairs Goto 419 MemberValuePairsopt Goto 418 SingleMemberAnnotationMemberValue Goto 417 RPAREN Reduce 843 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 LBRACE Reduce 858 Default reduction to rule 71 STATE 191 ---------------------------------------------------------------------- ( 25 282 532 ) TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 TypeArgumentList ::= TypeArgumentList .COMMA TypeArgument COMMA Shift 421 STATE 192 ---------------------------------------------------------------------- ( 25 282 421 532 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 409 TypeArgument ::= ReferenceType . (697) ReferenceType1 ::= ReferenceType .GREATER GREATER Sh/Rd 701 COMMA Reduce 697 Default reduction to rule 697 STATE 193 ---------------------------------------------------------------------- ( 25 282 421 532 635 636 649 826 ) ClassOrInterfaceType ::= ClassOrInterface . (51) GenericType ::= ClassOrInterface .TypeArguments GenericType ::= ClassOrInterface .LESS GREATER ReferenceType1 ::= ClassOrInterface .LESS TypeArgumentList2 TypeArguments ::= .LESS TypeArgumentList1 LESS Shift 422 TypeArguments Gt/Rd 55 AND Reduce 49 GREATER Reduce 49 COMMA Reduce 49 Default reduction to rule 51 STATE 194 ---------------------------------------------------------------------- ( 25 81 120 127 132 136 165 171 173 185 207 282 305 320 323 325 332 357 370 390 394 408 421 422 428 459 499 606 635 636 649 753 754 816 822 823 826 864 896 897 ) ClassOrInterface ::= Name . (53) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 410 SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET DOT Shift 423 LBRACKET Shift 199 AT308 Shift 22 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dims Gt/Rd 59 Identifier Reduce 53 abstract Reduce 53 final Reduce 53 instanceof Reduce 53 native Reduce 53 private Reduce 53 protected Reduce 53 public Reduce 53 static Reduce 53 strictfp Reduce 53 synchronized Reduce 53 this Reduce 53 transient Reduce 53 volatile Reduce 53 EQUAL_EQUAL Reduce 53 NOT_EQUAL Reduce 53 RIGHT_SHIFT Reduce 53 UNSIGNED_RIGHT_SHIFT Reduce 53 OR_OR Reduce 53 AND_AND Reduce 53 XOR Reduce 53 AND Reduce 53 OR Reduce 53 GREATER Reduce 53 LESS Reduce 53 RPAREN Reduce 53 RBRACE Reduce 53 RBRACKET Reduce 53 SEMICOLON Reduce 53 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 411 QUESTION Reduce 53 COLON Reduce 53 COMMA Reduce 53 AT Reduce 53 ELLIPSIS Reduce 53 ElidedSemicolonAndRightBrace Reduce 53 AT308DOTDOTDOT Reduce 53 BeginCaseExpr Reduce 53 $eof Reduce 53 Default reduction to rule 53 STATE 195 ---------------------------------------------------------------------- ( 25 282 305 357 370 421 422 428 635 636 649 753 754 822 823 826 864 896 897 ) 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 199 AT308 Shift 22 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dims Gt/Rd 58 STATE 196 ---------------------------------------------------------------------- ( 25 282 421 532 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 412 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 424 void Sh/Rd 41 boolean Sh/Rd 40 double Sh/Rd 37 float Sh/Rd 37 char Sh/Rd 37 long Sh/Rd 37 int Sh/Rd 37 short Sh/Rd 37 byte Sh/Rd 37 IntegralType Gt/Rd 37 FloatingPointType Gt/Rd 37 NumericType Gt/Rd 37 STATE 197 ---------------------------------------------------------------------- ( 26 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 413 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 22 Identifier Shift 970 Name Goto 244 GenericType Goto 245 ClassOrInterface Goto 88 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 ClassOrInterfaceType Goto 425 STATE 198 ---------------------------------------------------------------------- ( 26 83 85 87 89 95 98 163 194 195 200 232 237 274 293 294 425 458 500 504 529 552 553 559 565 567 609 616 640 719 796 809 852 ) OneDimLoop ::= TypeAnnotations .LBRACKET RBRACKET LBRACKET Shift 426 STATE 199 ---------------------------------------------------------------------- ( 26 83 87 89 95 194 195 200 274 293 425 504 529 552 553 559 565 567 609 616 640 719 796 809 852 ) OneDimLoop ::= LBRACKET .RBRACKET RBRACKET Sh/Rd 526 STATE 200 ---------------------------------------------------------------------- ( 26 83 85 87 89 95 98 163 194 195 232 237 274 293 294 425 458 500 504 529 552 553 559 565 567 609 616 640 719 796 809 852 ) Dims ::= DimsLoop . (523) DimsLoop ::= DimsLoop .OneDimLoop TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 414 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 199 AT308 Shift 22 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 OneDimLoop Gt/Rd 525 Identifier Reduce 523 abstract Reduce 523 default Reduce 523 final Reduce 523 instanceof Reduce 523 native Reduce 523 private Reduce 523 protected Reduce 523 public Reduce 523 static Reduce 523 strictfp Reduce 523 synchronized Reduce 523 this Reduce 523 throws Reduce 523 transient Reduce 523 volatile Reduce 523 EQUAL_EQUAL Reduce 523 NOT_EQUAL Reduce 523 RIGHT_SHIFT Reduce 523 UNSIGNED_RIGHT_SHIFT Reduce 523 OR_OR Reduce 523 AND_AND Reduce 523 XOR Reduce 523 AND Reduce 523 OR Reduce 523 GREATER Reduce 523 RPAREN Reduce 523 LBRACE Reduce 523 RBRACE Reduce 523 RBRACKET Reduce 523 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 415 SEMICOLON Reduce 523 QUESTION Reduce 523 COLON Reduce 523 COMMA Reduce 523 DOT Reduce 523 EQUAL Reduce 523 AT Reduce 523 ELLIPSIS Reduce 523 COLON_COLON Reduce 523 ElidedSemicolonAndRightBrace Reduce 523 AT308DOTDOTDOT Reduce 523 BeginCaseExpr Reduce 523 $eof Reduce 523 Default reduction to rule 523 STATE 201 ---------------------------------------------------------------------- ( 27 ) ParenthesizedCastNameAndBounds ::= LPAREN CastNameAndBounds .RPAREN RPAREN Sh/Rd 568 STATE 202 ---------------------------------------------------------------------- ( 27 292 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName CastNameAndBounds ::= Name .AdditionalBoundList AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType DOT Shift 423 AND Shift 428 AdditionalBound Goto 427 AdditionalBoundList Goto 427 STATE 203 ---------------------------------------------------------------------- ( 27 59 142 179 181 197 208 211 213 242 248 281 292 331 336 405 471 481 566 642 678 715 726 746 863 ) Name ::= TypeAnnotations .SimpleName Identifier Sh/Rd 64 SimpleName Gt/Rd 64 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 416 STATE 204 ---------------------------------------------------------------------- ( 28 ) LambdaParameterList ::= PushLPAREN FormalParameterListopt .PushRPAREN PushRPAREN ::= .RPAREN RPAREN Sh/Rd 450 PushRPAREN Gt/Rd 488 STATE 205 ---------------------------------------------------------------------- ( 28 118 119 128 138 170 ) FormalParameterList ::= FormalParameterList .COMMA FormalParameter FormalParameterListopt ::= FormalParameterList . (648) COMMA Shift 429 RPAREN Reduce 648 Default reduction to rule 648 STATE 206 ---------------------------------------------------------------------- ( 28 ) LambdaParameterList ::= PushLPAREN TypeElidedFormalParameterList .PushRPAREN TypeElidedFormalParameterList ::= TypeElidedFormalParameterList .COMMA TypeElidedFormalParameter PushRPAREN ::= .RPAREN COMMA Shift 430 RPAREN Sh/Rd 450 PushRPAREN Gt/Rd 489 STATE 207 ---------------------------------------------------------------------- ( 28 ) FormalParameter ::= Modifiersopt .Type VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis TypeElidedFormalParameter ::= Modifiersopt .Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 417 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 ::= . (71) 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 432 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 431 GenericType Goto 87 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 418 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 431 Type Goto 431 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 208 ---------------------------------------------------------------------- ( 29 210 216 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 419 InterfaceType ::= .ClassOrInterfaceType AT308 Shift 22 Identifier Shift 970 ClassOrInterfaceType Gt/Rd 208 Name Goto 244 GenericType Goto 245 ClassOrInterface Goto 88 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 InterfaceType Goto 433 InterfaceTypeList Goto 433 STATE 209 ---------------------------------------------------------------------- ( 30 ) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers EnumConstants ::= .EnumConstants COMMA EnumConstant EnumConstantHeaderName ::= .Modifiersopt Identifier EnumConstantHeader ::= .EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet EnumConstant ::= .EnumConstantHeader ForceNoDiet ClassBody RestoreDiet IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 420 EnumConstant ::= .EnumConstantHeader EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (680) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN COMMA Shift 434 SEMICOLON Shift 436 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 AT Shift 130 EnumConstantHeader Goto 439 Modifiersopt Goto 438 Modifier Goto 958 Modifiers Goto 131 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 EnumConstantHeaderName Goto 169 EnumConstant Goto 437 EnumConstants Goto 437 EnumDeclarations Goto 435 EnumBodyDeclarationsopt Goto 435 RBRACE Reduce 680 Identifier Reduce 637 Default reduction to rule 680 STATE 210 ---------------------------------------------------------------------- ( 31 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 421 AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt . ClassHeaderImplementsopt ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (649) implements Shift 208 ClassHeaderImplements Gt/Rd 821 ClassHeaderImplementsopt Gt/Rd 821 abstract Reduce 649 final Reduce 649 native Reduce 649 private Reduce 649 protected Reduce 649 public Reduce 649 static Reduce 649 strictfp Reduce 649 synchronized Reduce 649 transient Reduce 649 volatile Reduce 649 LBRACE Reduce 649 AT Reduce 649 $eof Reduce 649 Default reduction to rule 649 STATE 211 ---------------------------------------------------------------------- ( 31 36 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 422 TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 22 Identifier Shift 970 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ClassOrInterfaceType Gt/Rd 204 ClassType Gt/Rd 204 STATE 212 ---------------------------------------------------------------------- ( 32 ) AnnotationTypeBody ::= LBRACE .AnnotationTypeMemberDeclarationsopt RBRACE NestedType ::= . (653) AnnotationTypeMemberDeclarationsopt ::= . (824) AnnotationTypeMemberDeclarationsopt ::= .NestedType AnnotationTypeMemberDeclarations NestedType Goto 441 AnnotationTypeMemberDeclarationsopt Goto 440 RBRACE Reduce 824 Identifier Reduce 653 abstract Reduce 653 boolean Reduce 653 byte Reduce 653 char Reduce 653 class Reduce 653 double Reduce 653 enum Reduce 653 final Reduce 653 float Reduce 653 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 423 int Reduce 653 interface Reduce 653 long Reduce 653 native Reduce 653 private Reduce 653 protected Reduce 653 public Reduce 653 short Reduce 653 static Reduce 653 strictfp Reduce 653 synchronized Reduce 653 transient Reduce 653 void Reduce 653 volatile Reduce 653 LESS Reduce 653 SEMICOLON Reduce 653 AT Reduce 653 AT308 Reduce 653 Default reduction to rule 653 STATE 213 ---------------------------------------------------------------------- ( 33 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 424 InterfaceType ::= .ClassOrInterfaceType AT308 Shift 22 Identifier Shift 970 ClassOrInterfaceType Gt/Rd 208 Name Goto 244 GenericType Goto 245 ClassOrInterface Goto 88 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 InterfaceType Goto 442 InterfaceTypeList Goto 442 STATE 214 ---------------------------------------------------------------------- ( 34 38 120 127 132 136 171 173 185 448 700 799 ) TypeParameters ::= LESS .TypeParameterList1 TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 425 AT308 Shift 22 TypeParameterHeader Goto 445 TypeAnnotations Goto 444 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 444 TypeParameter Goto 443 TypeParameterList Goto 443 TypeParameter1 Gt/Rd 731 TypeParameterList1 Gt/Rd 731 Identifier Reduce 71 Default reduction to rule 71 STATE 215 ---------------------------------------------------------------------- ( 35 ) InterfaceBody ::= LBRACE .InterfaceMemberDeclarationsopt RBRACE InterfaceMemberDeclarationsopt ::= . (651) InterfaceMemberDeclarationsopt ::= .NestedType InterfaceMemberDeclarations NestedType ::= . (653) NestedType Goto 447 InterfaceMemberDeclarationsopt Goto 446 RBRACE Reduce 651 Identifier Reduce 653 abstract Reduce 653 boolean Reduce 653 byte Reduce 653 char Reduce 653 class Reduce 653 default Reduce 653 double Reduce 653 enum Reduce 653 final Reduce 653 float Reduce 653 int Reduce 653 interface Reduce 653 long Reduce 653 native Reduce 653 private Reduce 653 protected Reduce 653 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 426 public Reduce 653 short Reduce 653 static Reduce 653 strictfp Reduce 653 synchronized Reduce 653 transient Reduce 653 void Reduce 653 volatile Reduce 653 LESS Reduce 653 LBRACE Reduce 653 SEMICOLON Reduce 653 AT Reduce 653 AT308 Reduce 653 Default reduction to rule 653 STATE 216 ---------------------------------------------------------------------- ( 36 ) ClassHeader ::= ClassHeaderName ClassHeaderExtendsopt . ClassHeaderImplementsopt ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (649) implements Shift 208 ClassHeaderImplements Gt/Rd 200 ClassHeaderImplementsopt Gt/Rd 200 abstract Reduce 649 final Reduce 649 native Reduce 649 private Reduce 649 protected Reduce 649 public Reduce 649 static Reduce 649 strictfp Reduce 649 synchronized Reduce 649 transient Reduce 649 volatile Reduce 649 LBRACE Reduce 649 AT Reduce 649 $eof Reduce 649 Default reduction to rule 649 STATE 217 ---------------------------------------------------------------------- ( 37 127 136 173 185 413 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 427 EnumHeaderName ::= Modifiersopt enum .Identifier EnumHeaderName ::= Modifiersopt enum .Identifier TypeParameters Identifier Shift 448 STATE 218 ---------------------------------------------------------------------- ( 37 127 136 173 185 413 ) InterfaceHeaderName1 ::= Modifiersopt interface .Identifier Identifier Sh/Rd 292 STATE 219 ---------------------------------------------------------------------- ( 37 127 136 173 185 413 ) ClassHeaderName1 ::= Modifiersopt class .Identifier Identifier Sh/Rd 203 STATE 220 ---------------------------------------------------------------------- ( 39 646 878 879 ) ClassBody ::= LBRACE .ClassBodyDeclarationsopt RBRACE ClassBodyDeclarationsopt ::= . (635) ClassBodyDeclarationsopt ::= .NestedType ClassBodyDeclarations NestedType ::= . (653) NestedType Goto 450 ClassBodyDeclarationsopt Goto 449 RBRACE Reduce 635 Identifier Reduce 653 abstract Reduce 653 boolean Reduce 653 byte Reduce 653 char Reduce 653 class Reduce 653 default Reduce 653 double Reduce 653 enum Reduce 653 final Reduce 653 float Reduce 653 int Reduce 653 interface Reduce 653 long Reduce 653 native Reduce 653 private Reduce 653 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 428 protected Reduce 653 public Reduce 653 short Reduce 653 static Reduce 653 strictfp Reduce 653 synchronized Reduce 653 transient Reduce 653 void Reduce 653 volatile Reduce 653 LESS Reduce 653 LBRACE Reduce 653 SEMICOLON Reduce 653 AT Reduce 653 AT308 Reduce 653 Default reduction to rule 653 STATE 221 ---------------------------------------------------------------------- ( 40 ) YieldStatement ::= yield Expression .SEMICOLON SEMICOLON Sh/Rd 432 STATE 222 ---------------------------------------------------------------------- ( 41 ) TryStatementWithResources ::= try ResourceSpecification .TryBlock Catchesopt TryStatementWithResources ::= try ResourceSpecification .TryBlock Catchesopt Finally Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) TryBlock ::= .Block ExitTryBlock OpenBlock Goto 69 Block Goto 224 TryBlock Goto 451 LBRACE Reduce 321 Default reduction to rule 321 STATE 223 ---------------------------------------------------------------------- ( 41 ) TryStatement ::= try TryBlock .Catches TryStatement ::= try TryBlock .Catchesopt Finally IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 429 Catches ::= .CatchClause Catches ::= .Catches CatchClause CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block Catchesopt ::= . (660) Catchesopt ::= .Catches catch Shift 453 Catches Goto 454 CatchClause Goto 1001 Catchesopt Goto 452 finally Reduce 660 Default reduction to rule 660 STATE 224 ---------------------------------------------------------------------- ( 41 222 ) TryBlock ::= Block .ExitTryBlock ExitTryBlock ::= . (444) ExitTryBlock Gt/Rd 443 Identifier Reduce 444 abstract Reduce 444 assert Reduce 444 boolean Reduce 444 break Reduce 444 byte Reduce 444 case Reduce 444 catch Reduce 444 char Reduce 444 class Reduce 444 continue Reduce 444 default Reduce 444 do Reduce 444 double Reduce 444 else Reduce 444 enum Reduce 444 false Reduce 444 final Reduce 444 finally Reduce 444 float Reduce 444 for Reduce 444 if Reduce 444 int Reduce 444 interface Reduce 444 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 430 long Reduce 444 native Reduce 444 new Reduce 444 null Reduce 444 private Reduce 444 protected Reduce 444 public Reduce 444 return Reduce 444 short Reduce 444 static Reduce 444 strictfp Reduce 444 super Reduce 444 switch Reduce 444 synchronized Reduce 444 this Reduce 444 throw Reduce 444 transient Reduce 444 true Reduce 444 try Reduce 444 void Reduce 444 volatile Reduce 444 while Reduce 444 yield Reduce 444 IntegerLiteral Reduce 444 LongLiteral Reduce 444 FloatingPointLiteral Reduce 444 DoubleLiteral Reduce 444 CharacterLiteral Reduce 444 StringLiteral Reduce 444 PLUS_PLUS Reduce 444 MINUS_MINUS Reduce 444 LESS Reduce 444 LPAREN Reduce 444 LBRACE Reduce 444 RBRACE Reduce 444 SEMICOLON Reduce 444 AT Reduce 444 BeginLambda Reduce 444 AT308 Reduce 444 $eof Reduce 444 Default reduction to rule 444 STATE 225 ---------------------------------------------------------------------- ( 41 ) ResourceSpecification ::= LPAREN .Resources ;opt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 431 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Resources ::= .Resources TrailingSemiColon Resource Resource ::= .Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization Resource ::= .Modifiers Type PushRealModifiers VariableDeclaratorId IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 432 EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization Resource ::= .Name 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 433 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 22 AT Shift 130 strictfp Shift 459 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 434 volatile Shift 459 transient Shift 459 synchronized Shift 459 native Shift 459 final Shift 459 abstract Shift 459 static Shift 459 private Shift 459 protected Shift 459 public Shift 459 null Shift 1002 StringLiteral Shift 1002 CharacterLiteral Shift 1002 DoubleLiteral Shift 1002 FloatingPointLiteral Shift 1002 LongLiteral Shift 1002 IntegerLiteral Shift 1002 false Shift 1002 true Shift 1002 LPAREN Sh/Rd 449 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 Type Goto 460 Modifiers Goto 459 Name Goto 458 FieldAccess Goto 457 Literal Goto 1002 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 1008 PrimitiveType Goto 89 MethodInvocation Goto 1007 ArrayAccess Goto 1006 LambdaExpression Goto 1005 ReferenceExpression Goto 1004 Primary Goto 456 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1002 ArrayCreationWithoutArrayInitializer Goto 456 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 435 Modifier Goto 459 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 460 GenericType Goto 87 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 1003 ReferenceType Goto 460 Resource Gt/Rd 436 Resources Goto 455 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 226 ---------------------------------------------------------------------- ( 42 ) ThrowStatement ::= throw Expression .SEMICOLON SEMICOLON Sh/Rd 424 STATE 227 ---------------------------------------------------------------------- ( 43 ) SynchronizedStatement ::= OnlySynchronized LPAREN .Expression RPAREN Block Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 436 Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 437 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 438 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 Mon Oct 4 09:57:22 2021 Page 439 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 440 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 441 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 461 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 228 ---------------------------------------------------------------------- ( 44 ) ReturnStatement ::= return Expressionopt .SEMICOLON SEMICOLON Sh/Rd 423 STATE 229 ---------------------------------------------------------------------- ( 45 ) ContinueStatement ::= continue Identifier .SEMICOLON SEMICOLON Sh/Rd 422 STATE 230 ---------------------------------------------------------------------- ( 46 ) BreakStatement ::= break Expression .SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 442 SEMICOLON Sh/Rd 420 STATE 231 ---------------------------------------------------------------------- ( 47 ) DoStatement ::= do Statement .while LPAREN Expression RPAREN SEMICOLON while Shift 462 STATE 232 ---------------------------------------------------------------------- ( 47 74 263 692 693 790 845 849 912 913 914 929 932 ) 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 . (543) TypeAnnotations ::= .TypeAnnotations0 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 Mon Oct 4 09:57:22 2021 Page 443 SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (641) Dimsopt ::= .Dims LPAREN Shift 275 BeginTypeArguments Shift 276 DOT Shift 278 LBRACKET Shift 279 AT308 Shift 22 Dims Goto 290 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Goto 277 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 PLUS_EQUAL Reduce 543 MINUS_EQUAL Reduce 543 MULTIPLY_EQUAL Reduce 543 DIVIDE_EQUAL Reduce 543 AND_EQUAL Reduce 543 OR_EQUAL Reduce 543 XOR_EQUAL Reduce 543 REMAINDER_EQUAL Reduce 543 LEFT_SHIFT_EQUAL Reduce 543 RIGHT_SHIFT_EQUAL Reduce 543 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 543 EQUAL Reduce 543 COLON_COLON Reduce 641 Default reduction to rule 543 STATE 233 ---------------------------------------------------------------------- ( 48 ) SwitchStatement ::= switch LPAREN .Expression RPAREN OpenBlock SwitchBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 444 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 445 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 446 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 Mon Oct 4 09:57:22 2021 Page 447 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 448 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 449 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 463 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 234 ---------------------------------------------------------------------- ( 49 ) PreDecrementExpression ::= MINUS_MINUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 450 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 451 ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 452 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 453 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 555 PostfixExpression Goto 464 CastExpression Gt/Rd 555 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 555 PreDecrementExpression Gt/Rd 555 UnaryExpressionNotPlusMinus Gt/Rd 555 UnaryExpression Gt/Rd 555 boolean Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 454 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 235 ---------------------------------------------------------------------- ( 50 ) PreIncrementExpression ::= PLUS_PLUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 455 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 456 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 CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 457 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 554 PostfixExpression Goto 464 CastExpression Gt/Rd 554 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 458 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 554 PreDecrementExpression Gt/Rd 554 UnaryExpressionNotPlusMinus Gt/Rd 554 UnaryExpression Gt/Rd 554 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 236 ---------------------------------------------------------------------- ( 55 101 ) PrimaryNoNewArray ::= PushLPAREN Expression_NotName .PushRPAREN PushRPAREN ::= .RPAREN RPAREN Sh/Rd 450 PushRPAREN Gt/Rd 456 STATE 237 ---------------------------------------------------------------------- ( 55 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 459 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 . (543) 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 .instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 460 SingleMemberAnnotationMemberValue RPAREN PushRPAREN ::= .RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (641) Dimsopt ::= .Dims QUESTION Shift 362 OR_OR Shift 363 AND_AND Shift 364 OR Shift 365 XOR Shift 366 AND Shift 367 NOT_EQUAL Shift 368 EQUAL_EQUAL Shift 369 instanceof Shift 370 GREATER_EQUAL Shift 371 LESS_EQUAL Shift 372 GREATER Shift 373 LESS Shift 374 UNSIGNED_RIGHT_SHIFT Shift 375 RIGHT_SHIFT Shift 376 LEFT_SHIFT Shift 377 MINUS Shift 378 PLUS Shift 379 REMAINDER Shift 380 DIVIDE Shift 381 MULTIPLY Shift 382 LPAREN Shift 275 BeginTypeArguments Shift 276 DOT Shift 289 RPAREN Sh/Rd 450 LBRACKET Shift 279 AT308 Shift 22 Dims Goto 290 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 PushRPAREN Gt/Rd 457 Dimsopt Goto 277 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 461 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 PLUS_EQUAL Reduce 543 MINUS_EQUAL Reduce 543 MULTIPLY_EQUAL Reduce 543 DIVIDE_EQUAL Reduce 543 AND_EQUAL Reduce 543 OR_EQUAL Reduce 543 XOR_EQUAL Reduce 543 REMAINDER_EQUAL Reduce 543 LEFT_SHIFT_EQUAL Reduce 543 RIGHT_SHIFT_EQUAL Reduce 543 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 543 EQUAL Reduce 543 COLON_COLON Reduce 641 Default reduction to rule 543 STATE 238 ---------------------------------------------------------------------- ( 56 ) LambdaParameters ::= BeginLambda NestedLambda .LambdaParameterList PushLPAREN ::= .LPAREN LambdaParameterList ::= .PushLPAREN FormalParameterListopt PushRPAREN LambdaParameterList ::= .PushLPAREN TypeElidedFormalParameterList PushRPAREN LPAREN Sh/Rd 449 PushLPAREN Goto 28 LambdaParameterList Gt/Rd 486 STATE 239 ---------------------------------------------------------------------- ( 57 ) LambdaExpression ::= LambdaParameters ARROW .LambdaBody Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) LambdaBody ::= .ElidedLeftBraceAndReturn Expression ElidedSemicolonAndRightBrace ElidedLeftBraceAndReturn ::= . (495) OpenBlock Goto 69 ElidedLeftBraceAndReturn Goto 465 Block Gt/Rd 483 LambdaBody Gt/Rd 483 LBRACE Reduce 321 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 462 Identifier Reduce 495 boolean Reduce 495 byte Reduce 495 char Reduce 495 double Reduce 495 false Reduce 495 float Reduce 495 int Reduce 495 long Reduce 495 new Reduce 495 null Reduce 495 short Reduce 495 super Reduce 495 switch Reduce 495 this Reduce 495 true Reduce 495 void Reduce 495 IntegerLiteral Reduce 495 LongLiteral Reduce 495 FloatingPointLiteral Reduce 495 DoubleLiteral Reduce 495 CharacterLiteral Reduce 495 StringLiteral Reduce 495 PLUS_PLUS Reduce 495 MINUS_MINUS Reduce 495 PLUS Reduce 495 MINUS Reduce 495 NOT Reduce 495 TWIDDLE Reduce 495 LPAREN Reduce 495 BeginLambda Reduce 495 BeginIntersectionCast Reduce 495 AT308 Reduce 495 Default reduction to rule 495 STATE 240 ---------------------------------------------------------------------- ( 58 ) FieldAccess ::= QualifiedSuperReceiver DOT .Identifier MethodInvocation ::= QualifiedSuperReceiver DOT .Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= QualifiedSuperReceiver DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 467 LESS Shift 25 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 463 OnlyTypeArguments Goto 466 STATE 241 ---------------------------------------------------------------------- ( 58 ) ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON . NonWildTypeArgumentsopt Identifier NonWildTypeArgumentsopt ::= . (479) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 25 OnlyTypeArguments Goto 468 NonWildTypeArgumentsopt Goto 468 Identifier Reduce 479 Default reduction to rule 479 STATE 242 ---------------------------------------------------------------------- ( 59 ) 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 TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 464 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 22 Identifier Shift 970 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ClassOrInterfaceType Goto 469 ClassType Goto 469 STATE 243 ---------------------------------------------------------------------- ( 59 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (503) EnterInstanceCreationArgumentList Goto 470 LPAREN Reduce 503 Default reduction to rule 503 STATE 244 ---------------------------------------------------------------------- ( 59 60 172 197 208 211 213 242 248 481 642 678 715 726 863 ) ClassOrInterface ::= Name . (53) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName DOT Shift 423 abstract Reduce 53 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 465 final Reduce 53 implements Reduce 53 native Reduce 53 private Reduce 53 protected Reduce 53 public Reduce 53 static Reduce 53 strictfp Reduce 53 synchronized Reduce 53 transient Reduce 53 volatile Reduce 53 AND Reduce 53 LESS Reduce 53 LPAREN Reduce 53 RPAREN Reduce 53 LBRACE Reduce 53 LBRACKET Reduce 53 SEMICOLON Reduce 53 COMMA Reduce 53 AT Reduce 53 COLON_COLON Reduce 53 AT308 Reduce 53 $eof Reduce 53 Default reduction to rule 53 STATE 245 ---------------------------------------------------------------------- ( 59 60 172 197 208 211 213 242 248 481 642 678 715 726 863 ) ClassOrInterfaceType ::= GenericType . (52) ClassOrInterface ::= GenericType .DOT Name DOT Shift 471 abstract Reduce 52 final Reduce 52 implements Reduce 52 native Reduce 52 private Reduce 52 protected Reduce 52 public Reduce 52 static Reduce 52 strictfp Reduce 52 synchronized Reduce 52 transient Reduce 52 volatile Reduce 52 AND Reduce 52 LPAREN Reduce 52 RPAREN Reduce 52 LBRACE Reduce 52 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 466 LBRACKET Reduce 52 SEMICOLON Reduce 52 COMMA Reduce 52 AT Reduce 52 COLON_COLON Reduce 52 AT308 Reduce 52 $eof Reduce 52 Default reduction to rule 52 STATE 246 ---------------------------------------------------------------------- ( 60 ) ArrayCreationWithoutArrayInitializer ::= new PrimitiveType . DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new PrimitiveType .DimWithOrWithOutExprs ArrayInitializer TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 22 TypeAnnotationsopt Goto 473 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 473 DimWithOrWithOutExpr Gt/Rd 519 DimWithOrWithOutExprs Goto 472 LBRACKET Reduce 71 Default reduction to rule 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 467 STATE 247 ---------------------------------------------------------------------- ( 60 ) ClassInstanceCreationExpression ::= new ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (503) EnterInstanceCreationArgumentList Goto 474 LPAREN Reduce 503 Default reduction to rule 503 STATE 248 ---------------------------------------------------------------------- ( 60 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 468 AT308 Shift 22 Identifier Shift 970 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ClassOrInterfaceType Goto 475 ClassType Goto 475 STATE 249 ---------------------------------------------------------------------- ( 60 ) ClassType ::= ClassOrInterfaceType . (62) ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType . DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType . DimWithOrWithOutExprs ArrayInitializer TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 22 TypeAnnotationsopt Goto 473 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 469 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 473 DimWithOrWithOutExpr Gt/Rd 519 DimWithOrWithOutExprs Goto 476 LPAREN Reduce 62 LBRACKET Reduce 71 Default reduction to rule 62 STATE 250 ---------------------------------------------------------------------- ( 61 ) ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET .Expression RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 470 UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 471 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 Mon Oct 4 09:57:22 2021 Page 472 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 473 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 474 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 477 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 475 Default reduction to rule 71 STATE 251 ---------------------------------------------------------------------- ( 62 ) ArrayAccess ::= PrimaryNoNewArray LBRACKET .Expression RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 476 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 477 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 Mon Oct 4 09:57:22 2021 Page 478 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 479 ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 480 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 478 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 252 ---------------------------------------------------------------------- ( 63 115 ) Assignment ::= PostfixExpression AssignmentOperator .AssignmentExpression InvalidArrayInitializerAssignement ::= PostfixExpression AssignmentOperator . ArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 481 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 Mon Oct 4 09:57:22 2021 Page 482 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 483 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 Mon Oct 4 09:57:22 2021 Page 484 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Assignment ::= .InvalidArrayInitializerAssignement MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 485 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1019 true Shift 1019 null Shift 1019 StringLiteral Shift 1019 CharacterLiteral Shift 1019 DoubleLiteral Shift 1019 FloatingPointLiteral Shift 1019 LongLiteral Shift 1019 IntegerLiteral Shift 1019 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 LBRACE Shift 116 ConditionalOrExpression Goto 113 InclusiveOrExpression Goto 111 ConditionalAndExpression Goto 114 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1020 PreDecrementExpression Goto 1020 UnaryExpressionNotPlusMinus Goto 1020 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1029 PostDecrementExpression Goto 1028 PostfixExpression Goto 115 Literal Goto 1019 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1027 FieldAccess Goto 1026 PrimitiveType Goto 95 MethodInvocation Goto 1025 ArrayAccess Goto 1024 LambdaExpression Goto 1023 ReferenceExpression Goto 1022 QualifiedSuperReceiver Goto 58 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 486 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1019 ArrayCreationWithoutArrayInitializer Goto 1021 SwitchExpression Goto 1020 CastExpression Goto 1020 UnaryExpression Goto 1020 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalExpression Gt/Rd 610 Assignment Gt/Rd 610 AssignmentExpression Gt/Rd 610 ArrayInitializer Gt/Rd 611 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 253 ---------------------------------------------------------------------- ( 64 99 150 456 ) ReferenceExpression ::= Primary COLON_COLON .NonWildTypeArgumentsopt Identifier NonWildTypeArgumentsopt ::= . (479) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 25 OnlyTypeArguments Goto 479 NonWildTypeArgumentsopt Goto 479 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 487 Identifier Reduce 479 Default reduction to rule 479 STATE 254 ---------------------------------------------------------------------- ( 64 ) 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 480 new Shift 481 this Shift 482 super Shift 484 LESS Shift 25 OnlyTypeArguments Goto 483 STATE 255 ---------------------------------------------------------------------- ( 65 96 ) FieldAccess ::= super DOT .Identifier MethodInvocation ::= super DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= super DOT .Identifier LPAREN ArgumentListopt RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 488 Identifier Shift 486 LESS Shift 25 OnlyTypeArguments Goto 485 STATE 256 ---------------------------------------------------------------------- ( 65 96 ) ReferenceExpression ::= super COLON_COLON .NonWildTypeArgumentsopt Identifier NonWildTypeArgumentsopt ::= . (479) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 25 OnlyTypeArguments Goto 487 NonWildTypeArgumentsopt Goto 487 Identifier Reduce 479 Default reduction to rule 479 STATE 257 ---------------------------------------------------------------------- ( 65 ) ExplicitConstructorInvocation ::= super LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 489 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 490 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 Mon Oct 4 09:57:22 2021 Page 491 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 InstanceofExpression ::= .RelationalExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 492 InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 493 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 494 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 488 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 258 ---------------------------------------------------------------------- ( 66 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 490 STATE 259 ---------------------------------------------------------------------- ( 66 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 491 STATE 260 ---------------------------------------------------------------------- ( 67 ) ExplicitConstructorInvocation ::= this LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 495 Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 496 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 ::= .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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 497 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 Mon Oct 4 09:57:22 2021 Page 498 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 499 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 500 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 492 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 261 ---------------------------------------------------------------------- ( 69 ) Block ::= OpenBlock LBRACE .BlockStatementsopt RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 501 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 ::= . (71) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 502 ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 503 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 504 Finally YieldStatement ::= .yield Expression SEMICOLON 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 505 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 InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (637) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 506 Modifiersopt ::= .Modifiers BlockStatementsopt ::= . (639) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 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 yield Shift 40 try Shift 41 throw Shift 42 return Shift 44 continue Shift 45 break Shift 46 do Shift 47 switch Shift 48 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 BeginLambda Shift 56 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 507 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 super Shift 65 this Shift 67 LESS Shift 25 SEMICOLON Sh/Rd 366 assert Shift 70 if Shift 72 while Shift 73 for Shift 75 strictfp Shift 934 volatile Shift 934 transient Shift 934 synchronized Shift 78 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 protected Shift 934 public Shift 934 AT Shift 79 AT308 Shift 22 Identifier Shift 84 BlockStatement Gt/Rd 322 BlockStatements Goto 91 LocalVariableDeclaration Goto 90 PrimitiveType Goto 89 ReferenceType Goto 77 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 943 Name Goto 85 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 508 TypeAnnotationsopt Goto 82 Modifier Goto 934 Modifiers Goto 81 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Type Goto 77 StatementWithoutTrailingSubstatement Goto 944 LabeledStatement Goto 944 IfThenStatement Goto 944 IfThenElseStatement Goto 944 WhileStatement Goto 944 ForStatement Goto 944 EnhancedForStatement Goto 944 EnhancedForStatementHeaderInit Goto 76 EnhancedForStatementHeader Goto 74 Label Goto 71 OpenBlock Goto 69 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OnlyTypeArguments Goto 66 Primary Goto 64 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 941 BooleanLiteral Goto 935 ClassInstanceCreationExpressionName Goto 59 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 Literal Goto 935 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 54 FieldAccess Goto 940 MethodInvocation Goto 53 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 OnlySynchronized Goto 43 AssertStatement Goto 944 Block Goto 944 EmptyStatement Goto 944 ExpressionStatement Goto 944 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 509 SwitchStatement Goto 944 DoStatement Goto 944 BreakStatement Goto 944 ContinueStatement Goto 944 ReturnStatement Goto 944 SynchronizedStatement Goto 944 ThrowStatement Goto 944 TryStatement Goto 944 TryStatementWithResources Goto 944 YieldStatement Goto 944 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 EnumHeader Goto 30 EnumHeaderName Goto 29 LocalVariableDeclarationStatement Goto 944 Statement Goto 944 ClassDeclaration Goto 944 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 BlockStatementsopt Goto 493 RBRACE Reduce 639 class Reduce 637 enum Reduce 637 interface Reduce 637 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 262 ---------------------------------------------------------------------- ( 70 ) AssertStatement ::= assert Expression .SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 510 AssertStatement ::= assert Expression .COLON Expression SEMICOLON COLON Shift 494 SEMICOLON Sh/Rd 417 STATE 263 ---------------------------------------------------------------------- ( 71 ) LabeledStatement ::= Label COLON .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 511 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 ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 512 Finally YieldStatement ::= .yield Expression SEMICOLON 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 513 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 InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 514 EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 75 while Shift 73 if Shift 72 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 AssertStatement Gt/Rd 367 Block Gt/Rd 367 EmptyStatement Gt/Rd 367 ExpressionStatement Gt/Rd 367 SwitchStatement Gt/Rd 367 DoStatement Gt/Rd 367 BreakStatement Gt/Rd 367 ContinueStatement Gt/Rd 367 ReturnStatement Gt/Rd 367 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 515 SynchronizedStatement Gt/Rd 367 ThrowStatement Gt/Rd 367 TryStatement Gt/Rd 367 TryStatementWithResources Gt/Rd 367 YieldStatement Gt/Rd 367 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 Label Goto 71 EnhancedForStatementHeader Goto 74 EnhancedForStatementHeaderInit Goto 76 StatementWithoutTrailingSubstatement Gt/Rd 367 LabeledStatement Gt/Rd 367 IfThenStatement Gt/Rd 367 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 516 IfThenElseStatement Gt/Rd 367 WhileStatement Gt/Rd 367 ForStatement Gt/Rd 367 EnhancedForStatement Gt/Rd 367 Statement Gt/Rd 367 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 264 ---------------------------------------------------------------------- ( 72 ) IfThenStatement ::= if LPAREN .Expression RPAREN Statement IfThenElseStatement ::= if LPAREN .Expression RPAREN StatementNoShortIf else Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 517 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 518 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 Mon Oct 4 09:57:22 2021 Page 519 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 520 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 521 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 495 boolean Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 522 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 265 ---------------------------------------------------------------------- ( 73 ) WhileStatement ::= while LPAREN .Expression RPAREN Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 523 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 524 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 Mon Oct 4 09:57:22 2021 Page 525 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 526 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 527 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 496 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 528 STATE 266 ---------------------------------------------------------------------- ( 75 ) ForStatement ::= for LPAREN .ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement EnhancedForStatementHeaderInit ::= for LPAREN .Type PushModifiers Identifier Dimsopt EnhancedForStatementHeaderInit ::= for LPAREN .Modifiers Type PushRealModifiers Identifier Dimsopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 529 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 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 Mon Oct 4 09:57:22 2021 Page 530 ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 531 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 ::= . (654) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 strictfp Shift 499 volatile Shift 499 transient Shift 499 synchronized Shift 499 native Shift 499 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 532 final Shift 499 abstract Shift 499 static Shift 499 private Shift 499 protected Shift 499 public Shift 499 AT Shift 130 StatementExpressionList Goto 501 LocalVariableDeclaration Goto 497 PrimitiveType Goto 89 ReferenceType Goto 498 ClassOrInterface Goto 88 GenericType Goto 87 Name Goto 500 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 498 Modifier Goto 499 Modifiers Goto 499 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Type Goto 498 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 99 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 533 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 943 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 StatementExpression Goto 1030 ForInit Goto 497 ForInitopt Goto 497 SEMICOLON Reduce 654 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 267 ---------------------------------------------------------------------- ( 76 ) EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON . Expression RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 534 TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 535 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 Mon Oct 4 09:57:22 2021 Page 536 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 InstanceofExpression ::= .RelationalExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 537 InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 538 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 539 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 502 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 268 ---------------------------------------------------------------------- ( 77 ) LocalVariableDeclaration ::= Type PushModifiers .VariableDeclarators VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 504 VariableDeclaratorId Goto 505 VariableDeclarator Goto 503 VariableDeclarators Goto 503 STATE 269 ---------------------------------------------------------------------- ( 79 ) AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader .interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader .interface Identifier interface Shift 506 STATE 270 ---------------------------------------------------------------------- ( 79 130 273 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 540 UnannotatableName ::= UnannotatableName .DOT SimpleName AnnotationName ::= AT UnannotatableName . (841) DOT Shift 416 Identifier Reduce 841 abstract Reduce 841 boolean Reduce 841 byte Reduce 841 char Reduce 841 class Reduce 841 default Reduce 841 double Reduce 841 enum Reduce 841 final Reduce 841 float Reduce 841 int Reduce 841 interface Reduce 841 long Reduce 841 native Reduce 841 package Reduce 841 private Reduce 841 protected Reduce 841 public Reduce 841 short Reduce 841 static Reduce 841 strictfp Reduce 841 synchronized Reduce 841 transient Reduce 841 void Reduce 841 volatile Reduce 841 module Reduce 841 open Reduce 841 LESS Reduce 841 LPAREN Reduce 841 RPAREN Reduce 841 RBRACE Reduce 841 SEMICOLON Reduce 841 COMMA Reduce 841 AT Reduce 841 AT308 Reduce 841 $eof Reduce 841 Default reduction to rule 841 STATE 271 ---------------------------------------------------------------------- ( 80 ) NormalAnnotation ::= AnnotationName LPAREN .MemberValuePairsopt RPAREN SingleMemberAnnotation ::= AnnotationName LPAREN . IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 541 SingleMemberAnnotationMemberValue RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 542 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 543 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 PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 544 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 instanceof ReferenceType InstanceofExpression_NotName ::= .InstanceofExpression_NotName instanceof ReferenceType EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 545 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 ::= . (843) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 546 PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (858) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotationMemberValue ::= .MemberValue SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 151 PLUS Shift 152 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 990 true Shift 990 null Shift 990 StringLiteral Shift 990 CharacterLiteral Shift 990 DoubleLiteral Shift 990 FloatingPointLiteral Shift 990 LongLiteral Shift 990 IntegerLiteral Shift 990 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 145 TWIDDLE Shift 146 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AT Shift 130 ConditionalExpression_NotName Goto 1000 Name Goto 163 Annotation Goto 1000 MemberValueArrayInitializer Goto 1000 EnterMemberValueArrayInitializer Goto 144 AnnotationName Goto 80 NormalAnnotation Goto 1000 MarkerAnnotation Goto 1000 SingleMemberAnnotation Goto 1000 ConditionalAndExpression_NotName Goto 161 ConditionalOrExpression_NotName Goto 164 ExclusiveOrExpression_NotName Goto 159 InclusiveOrExpression_NotName Goto 162 EqualityExpression_NotName Goto 157 AndExpression_NotName Goto 160 RelationalExpression_NotName Goto 155 InstanceofExpression_NotName Goto 158 AdditiveExpression_NotName Goto 153 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 547 ShiftExpression_NotName Goto 156 UnaryExpression_NotName Goto 992 MultiplicativeExpression_NotName Goto 154 SwitchExpression Goto 992 PostfixExpression_NotName Goto 992 CastExpression Goto 992 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 999 BooleanLiteral Goto 990 Primary Goto 150 ClassInstanceCreationExpressionName Goto 59 SimpleName Goto 420 TypeAnnotations Goto 86 QualifiedName Goto 963 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 990 ClassInstanceCreationExpression Goto 998 FieldAccess Goto 997 MethodInvocation Goto 996 ArrayAccess Goto 995 LambdaExpression Goto 994 ReferenceExpression Goto 993 PostfixExpression Goto 147 PostIncrementExpression Goto 149 PostDecrementExpression Goto 148 PreIncrementExpression Goto 992 PreDecrementExpression Goto 992 UnaryExpressionNotPlusMinus_NotName Goto 992 MemberValue Gt/Rd 862 MemberValuePair Goto 991 MemberValuePairs Goto 419 MemberValuePairsopt Goto 508 SingleMemberAnnotationMemberValue Goto 507 RPAREN Reduce 843 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 548 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 LBRACE Reduce 858 Default reduction to rule 71 STATE 272 ---------------------------------------------------------------------- ( 81 ) LocalVariableDeclaration ::= Modifiers Type .PushRealModifiers VariableDeclarators PushRealModifiers ::= . (338) PushRealModifiers Goto 509 Identifier Reduce 338 Default reduction to rule 338 STATE 273 ---------------------------------------------------------------------- ( 81 123 137 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT .PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers AT .PushRealModifiers interface Identifier TypeParameters AnnotationName ::= AT .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName PushRealModifiers ::= . (338) Identifier Shift 270 SimpleName Goto 270 UnannotatableName Goto 270 PushRealModifiers Goto 510 interface Reduce 338 Default reduction to rule 338 STATE 274 ---------------------------------------------------------------------- ( 81 120 127 132 136 165 171 173 185 207 320 323 325 332 390 394 408 459 499 606 816 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 549 Type ::= PrimitiveType . (35) 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 199 AT308 Shift 22 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dims Gt/Rd 58 Identifier Reduce 35 this Reduce 35 OR Reduce 35 ELLIPSIS Reduce 35 AT308DOTDOTDOT Reduce 35 Default reduction to rule 35 STATE 275 ---------------------------------------------------------------------- ( 85 98 163 232 237 294 458 500 ) MethodInvocation ::= Name LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 550 Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 551 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 552 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 Mon Oct 4 09:57:22 2021 Page 553 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 554 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 555 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 511 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 276 ---------------------------------------------------------------------- ( 85 98 163 232 237 294 458 500 ) ReferenceExpression ::= Name BeginTypeArguments . ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpressionTypeArgumentsAndTrunk ::= . ReferenceExpressionTypeArgumentsAndTrunk0 ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments Dimsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 556 ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments DOT ClassOrInterfaceType Dimsopt OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 25 OnlyTypeArguments Goto 26 ReferenceExpressionTypeArgumentsAndTrunk0 Gt/Rd 470 ReferenceExpressionTypeArgumentsAndTrunk Goto 512 STATE 277 ---------------------------------------------------------------------- ( 85 98 163 232 237 294 458 500 ) ReferenceExpression ::= Name Dimsopt .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 513 STATE 278 ---------------------------------------------------------------------- ( 85 232 ) 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 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 Mon Oct 4 09:57:22 2021 Page 557 OnlyTypeArguments ::= .LESS TypeArgumentList1 new Sh/Rd 504 class Sh/Rd 462 this Shift 514 super Shift 516 Identifier Sh/Rd 69 AT308 Shift 22 LESS Shift 25 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 SimpleName Gt/Rd 69 TypeAnnotations Goto 517 OnlyTypeArguments Goto 515 STATE 279 ---------------------------------------------------------------------- ( 85 98 163 232 237 294 458 500 ) OneDimLoop ::= LBRACKET .RBRACKET ArrayAccess ::= Name LBRACKET .Expression RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 558 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 559 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 Mon Oct 4 09:57:22 2021 Page 560 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 561 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 RBRACKET Sh/Rd 526 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 562 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 518 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 563 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 280 ---------------------------------------------------------------------- ( 85 458 500 ) ArrayType ::= Name Dims . (59) PrimaryNoNewArray ::= Name Dims .DOT class Dimsopt ::= Dims . (642) DOT Shift 519 COLON_COLON Reduce 642 Identifier Reduce 59 GREATER Reduce 59 COMMA Reduce 59 Default reduction to rule 59 STATE 281 ---------------------------------------------------------------------- ( 87 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 564 SingleMemberAnnotationMemberValue RPAREN AT308 Shift 22 Identifier Shift 970 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 Name Goto 520 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 520 STATE 282 ---------------------------------------------------------------------- ( 88 ) GenericType ::= ClassOrInterface LESS .GREATER TypeArguments ::= 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 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 565 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 56 AT308 Shift 22 Identifier Shift 970 ReferenceType1 Gt/Rd 691 Wildcard1 Gt/Rd 691 TypeAnnotationsopt Goto 196 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 972 TypeAnnotations Goto 86 GenericType Goto 87 PrimitiveType Goto 195 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 193 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 192 TypeArgument Goto 191 TypeArgumentList Goto 191 Wildcard Goto 191 TypeArgument1 Gt/Rd 691 TypeArgumentList1 Gt/Rd 691 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 566 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 QUESTION Reduce 71 Default reduction to rule 71 STATE 283 ---------------------------------------------------------------------- ( 89 95 293 719 ) PrimaryNoNewArray ::= PrimitiveType DOT .class class Sh/Rd 465 STATE 284 ---------------------------------------------------------------------- ( 89 719 ) ArrayType ::= PrimitiveType Dims . (58) PrimaryNoNewArray ::= PrimitiveType Dims .DOT class ReferenceExpression ::= PrimitiveType Dims .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 521 DOT Shift 522 Identifier Reduce 58 GREATER Reduce 58 COMMA Reduce 58 Default reduction to rule 58 STATE 285 ---------------------------------------------------------------------- ( 92 ) UnaryExpression ::= MINUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 567 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 568 ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 569 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 570 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 552 PostfixExpression Goto 464 CastExpression Gt/Rd 552 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 552 PreDecrementExpression Gt/Rd 552 UnaryExpressionNotPlusMinus Gt/Rd 552 UnaryExpression Gt/Rd 552 boolean Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 571 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 286 ---------------------------------------------------------------------- ( 93 ) UnaryExpression ::= PLUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 572 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 573 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 CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 574 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 551 PostfixExpression Goto 464 CastExpression Gt/Rd 551 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 575 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 551 PreDecrementExpression Gt/Rd 551 UnaryExpressionNotPlusMinus Gt/Rd 551 UnaryExpression Gt/Rd 551 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 287 ---------------------------------------------------------------------- ( 94 ) SwitchExpression ::= switch LPAREN .Expression RPAREN OpenBlock SwitchBlock Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 576 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 577 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 578 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 Mon Oct 4 09:57:22 2021 Page 579 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 580 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 581 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 523 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 288 ---------------------------------------------------------------------- ( 95 ) PrimaryNoNewArray ::= PrimitiveType Dims .DOT class ReferenceExpression ::= PrimitiveType Dims .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 521 DOT Shift 522 STATE 289 ---------------------------------------------------------------------- ( 98 163 237 294 458 500 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 582 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 504 class Sh/Rd 462 super Sh/Rd 461 this Sh/Rd 460 Identifier Sh/Rd 69 AT308 Shift 22 LESS Shift 25 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 SimpleName Gt/Rd 69 TypeAnnotations Goto 517 OnlyTypeArguments Goto 524 STATE 290 ---------------------------------------------------------------------- ( 98 163 232 237 ) PrimaryNoNewArray ::= Name Dims .DOT class Dimsopt ::= Dims . (642) DOT Shift 519 COLON_COLON Reduce 642 Default reduction to rule 642 STATE 291 ---------------------------------------------------------------------- ( 99 150 456 ) ClassInstanceCreationExpression ::= Primary DOT .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 583 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 480 new Shift 481 LESS Shift 25 OnlyTypeArguments Goto 525 STATE 292 ---------------------------------------------------------------------- ( 100 ) 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 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN CastNameAndBounds ::= .Name AdditionalBoundList AT308 Shift 22 Identifier Shift 970 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 202 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 584 Name Goto 202 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 CastNameAndBounds Goto 526 STATE 293 ---------------------------------------------------------------------- ( 101 ) 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 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 ::= . (641) Dimsopt ::= .Dims DOT Shift 283 LBRACKET Shift 199 AT308 Shift 22 Dims Goto 528 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 585 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Goto 527 AND Reduce 641 RPAREN Reduce 641 Default reduction to rule 641 STATE 294 ---------------------------------------------------------------------- ( 101 ) 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 . (543) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 586 RelationalExpression_NotName ::= Name .GREATER ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= Name .instanceof ReferenceType 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 PushRPAREN ::= .RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET OnlyTypeArgumentsForCastExpression ::= .OnlyTypeArguments Dimsopt ::= . (641) Dimsopt ::= .Dims OnlyTypeArguments ::= .LESS TypeArgumentList1 QUESTION Shift 362 OR_OR Shift 363 AND_AND Shift 364 OR Shift 365 XOR Shift 366 AND Shift 367 NOT_EQUAL Shift 368 EQUAL_EQUAL Shift 369 instanceof Shift 370 GREATER_EQUAL Shift 371 LESS_EQUAL Shift 372 GREATER Shift 373 UNSIGNED_RIGHT_SHIFT Shift 375 RIGHT_SHIFT Shift 376 LEFT_SHIFT Shift 377 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 587 MINUS Shift 378 PLUS Shift 379 REMAINDER Shift 380 DIVIDE Shift 381 MULTIPLY Shift 382 LPAREN Shift 275 BeginTypeArguments Shift 276 DOT Shift 289 RPAREN Sh/Rd 450 LBRACKET Shift 279 AT308 Shift 22 LESS Shift 532 OnlyTypeArguments Gt/Rd 570 Dims Goto 531 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 PushRPAREN Goto 530 Dimsopt Goto 277 OnlyTypeArgumentsForCastExpression Goto 529 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 PLUS_EQUAL Reduce 543 MINUS_EQUAL Reduce 543 MULTIPLY_EQUAL Reduce 543 DIVIDE_EQUAL Reduce 543 AND_EQUAL Reduce 543 OR_EQUAL Reduce 543 XOR_EQUAL Reduce 543 REMAINDER_EQUAL Reduce 543 LEFT_SHIFT_EQUAL Reduce 543 RIGHT_SHIFT_EQUAL Reduce 543 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 543 EQUAL Reduce 543 COLON_COLON Reduce 641 Default reduction to rule 543 STATE 295 ---------------------------------------------------------------------- ( 102 ) UnaryExpressionNotPlusMinus ::= NOT PushPosition .UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 588 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 589 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 590 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 92 PLUS Shift 93 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 591 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 558 PostfixExpression Goto 464 CastExpression Gt/Rd 558 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 592 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 558 PreDecrementExpression Gt/Rd 558 UnaryExpressionNotPlusMinus Gt/Rd 558 UnaryExpression Gt/Rd 558 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 296 ---------------------------------------------------------------------- ( 103 ) UnaryExpressionNotPlusMinus ::= TWIDDLE PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 593 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 594 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 Mon Oct 4 09:57:22 2021 Page 595 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 557 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 596 PostfixExpression Goto 464 CastExpression Gt/Rd 557 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 557 PreDecrementExpression Gt/Rd 557 UnaryExpressionNotPlusMinus Gt/Rd 557 UnaryExpression Gt/Rd 557 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 297 ---------------------------------------------------------------------- ( 104 536 537 571 572 601 602 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 597 MultiplicativeExpression ::= MultiplicativeExpression REMAINDER . UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 598 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 599 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 InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 600 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 578 PostfixExpression Goto 464 CastExpression Gt/Rd 578 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 601 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 578 PreDecrementExpression Gt/Rd 578 UnaryExpressionNotPlusMinus Gt/Rd 578 UnaryExpression Gt/Rd 578 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 298 ---------------------------------------------------------------------- ( 104 536 537 571 572 601 602 ) MultiplicativeExpression ::= MultiplicativeExpression DIVIDE .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 602 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 603 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 Mon Oct 4 09:57:22 2021 Page 604 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 605 SwitchExpression Gt/Rd 577 PostfixExpression Goto 464 CastExpression Gt/Rd 577 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 577 PreDecrementExpression Gt/Rd 577 UnaryExpressionNotPlusMinus Gt/Rd 577 UnaryExpression Gt/Rd 577 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 299 ---------------------------------------------------------------------- ( 104 536 537 571 572 601 602 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 606 MultiplicativeExpression ::= MultiplicativeExpression MULTIPLY . UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 607 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 608 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 InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 609 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 576 PostfixExpression Goto 464 CastExpression Gt/Rd 576 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 610 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 576 PreDecrementExpression Gt/Rd 576 UnaryExpressionNotPlusMinus Gt/Rd 576 UnaryExpression Gt/Rd 576 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 300 ---------------------------------------------------------------------- ( 105 538 539 540 541 573 574 575 576 594 595 596 597 ) ShiftExpression ::= ShiftExpression UNSIGNED_RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 611 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 612 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 Mon Oct 4 09:57:22 2021 Page 613 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1031 true Shift 1031 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 614 null Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 UnaryExpression Goto 1032 MultiplicativeExpression Goto 104 SwitchExpression Goto 1032 PostfixExpression Goto 464 CastExpression Goto 1032 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1041 BooleanLiteral Goto 1031 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1031 ClassInstanceCreationExpression Goto 1040 FieldAccess Goto 1039 MethodInvocation Goto 1038 ArrayAccess Goto 1037 LambdaExpression Goto 1036 ReferenceExpression Goto 1035 PostIncrementExpression Goto 1034 PostDecrementExpression Goto 1033 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 615 UnaryExpressionNotPlusMinus Goto 1032 AdditiveExpression Goto 533 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 301 ---------------------------------------------------------------------- ( 105 538 539 540 541 573 574 575 576 594 595 596 597 ) ShiftExpression ::= ShiftExpression RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 616 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 617 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 Mon Oct 4 09:57:22 2021 Page 618 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1031 true Shift 1031 null Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 60 BeginIntersectionCast Shift 100 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 619 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 UnaryExpression Goto 1032 MultiplicativeExpression Goto 104 SwitchExpression Goto 1032 PostfixExpression Goto 464 CastExpression Goto 1032 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1041 BooleanLiteral Goto 1031 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1031 ClassInstanceCreationExpression Goto 1040 FieldAccess Goto 1039 MethodInvocation Goto 1038 ArrayAccess Goto 1037 LambdaExpression Goto 1036 ReferenceExpression Goto 1035 PostIncrementExpression Goto 1034 PostDecrementExpression Goto 1033 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus Goto 1032 AdditiveExpression Goto 534 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 620 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 302 ---------------------------------------------------------------------- ( 105 538 539 540 541 573 574 575 576 594 595 596 597 ) ShiftExpression ::= ShiftExpression LEFT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 621 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 622 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 Mon Oct 4 09:57:22 2021 Page 623 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1031 true Shift 1031 null Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 UnaryExpression Goto 1032 MultiplicativeExpression Goto 104 SwitchExpression Goto 1032 PostfixExpression Goto 464 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 624 CastExpression Goto 1032 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1041 BooleanLiteral Goto 1031 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1031 ClassInstanceCreationExpression Goto 1040 FieldAccess Goto 1039 MethodInvocation Goto 1038 ArrayAccess Goto 1037 LambdaExpression Goto 1036 ReferenceExpression Goto 1035 PostIncrementExpression Goto 1034 PostDecrementExpression Goto 1033 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus Goto 1032 AdditiveExpression Goto 535 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 303 ---------------------------------------------------------------------- ( 106 533 534 535 577 578 579 598 599 600 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 625 AdditiveExpression ::= AdditiveExpression MINUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 626 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 627 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 MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 628 MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1042 true Shift 1042 null Shift 1042 StringLiteral Shift 1042 CharacterLiteral Shift 1042 DoubleLiteral Shift 1042 FloatingPointLiteral Shift 1042 LongLiteral Shift 1042 IntegerLiteral Shift 1042 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 PreIncrementExpression Goto 536 PreDecrementExpression Goto 536 UnaryExpressionNotPlusMinus Goto 536 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1051 PostDecrementExpression Goto 1050 PostfixExpression Goto 464 Literal Goto 1042 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1049 FieldAccess Goto 1048 PrimitiveType Goto 95 MethodInvocation Goto 1047 ArrayAccess Goto 1046 LambdaExpression Goto 1045 ReferenceExpression Goto 1044 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 629 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1042 ArrayCreationWithoutArrayInitializer Goto 1043 SwitchExpression Goto 536 CastExpression Goto 536 UnaryExpression Goto 536 MultiplicativeExpression Goto 536 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 304 ---------------------------------------------------------------------- ( 106 533 534 535 577 578 579 598 599 600 ) AdditiveExpression ::= AdditiveExpression PLUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 630 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 631 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 Mon Oct 4 09:57:22 2021 Page 632 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1042 true Shift 1042 null Shift 1042 StringLiteral Shift 1042 CharacterLiteral Shift 1042 DoubleLiteral Shift 1042 FloatingPointLiteral Shift 1042 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 633 LongLiteral Shift 1042 IntegerLiteral Shift 1042 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 PreIncrementExpression Goto 537 PreDecrementExpression Goto 537 UnaryExpressionNotPlusMinus Goto 537 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1051 PostDecrementExpression Goto 1050 PostfixExpression Goto 464 Literal Goto 1042 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1049 FieldAccess Goto 1048 PrimitiveType Goto 95 MethodInvocation Goto 1047 ArrayAccess Goto 1046 LambdaExpression Goto 1045 ReferenceExpression Goto 1044 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1042 ArrayCreationWithoutArrayInitializer Goto 1043 SwitchExpression Goto 537 CastExpression Goto 537 UnaryExpression Goto 537 MultiplicativeExpression Goto 537 boolean Reduce 71 byte Reduce 71 char Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 634 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 305 ---------------------------------------------------------------------- ( 107 543 544 580 581 592 593 ) InstanceofExpression ::= InstanceofExpression instanceof .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 ::= . (71) 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 22 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 635 Identifier Shift 970 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Gt/Rd 592 ReferenceType Gt/Rd 592 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 306 ---------------------------------------------------------------------- ( 108 ) RelationalExpression ::= RelationalExpression GREATER_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 636 PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 637 NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 638 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 Mon Oct 4 09:57:22 2021 Page 639 ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 640 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 538 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 307 ---------------------------------------------------------------------- ( 108 ) RelationalExpression ::= RelationalExpression LESS_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 641 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 642 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 Mon Oct 4 09:57:22 2021 Page 643 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 MINUS Shift 92 PLUS Shift 93 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 644 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 645 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 539 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 308 ---------------------------------------------------------------------- ( 108 ) RelationalExpression ::= RelationalExpression GREATER .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 646 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 647 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 PostfixExpression ::= .Primary IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 648 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 649 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 650 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 540 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 309 ---------------------------------------------------------------------- ( 108 ) RelationalExpression ::= RelationalExpression LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 651 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 652 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 Mon Oct 4 09:57:22 2021 Page 653 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 654 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 655 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 541 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 310 ---------------------------------------------------------------------- ( 109 546 582 590 ) AndExpression ::= AndExpression AND .EqualityExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 656 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 657 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 UnaryExpression ::= .PLUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 658 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 659 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1063 true Shift 1063 null Shift 1063 StringLiteral Shift 1063 CharacterLiteral Shift 1063 DoubleLiteral Shift 1063 FloatingPointLiteral Shift 1063 LongLiteral Shift 1063 IntegerLiteral Shift 1063 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1064 MultiplicativeExpression Goto 104 SwitchExpression Goto 1064 PostfixExpression Goto 464 CastExpression Goto 1064 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1073 BooleanLiteral Goto 1063 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 660 Literal Goto 1063 ClassInstanceCreationExpression Goto 1072 FieldAccess Goto 1071 MethodInvocation Goto 1070 ArrayAccess Goto 1069 LambdaExpression Goto 1068 ReferenceExpression Goto 1067 PostIncrementExpression Goto 1066 PostDecrementExpression Goto 1065 PreIncrementExpression Goto 1064 PreDecrementExpression Goto 1064 UnaryExpressionNotPlusMinus Goto 1064 EqualityExpression Goto 542 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 311 ---------------------------------------------------------------------- ( 110 542 583 591 ) EqualityExpression ::= EqualityExpression NOT_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 661 TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 662 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 Mon Oct 4 09:57:22 2021 Page 663 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 InstanceofExpression ::= .RelationalExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 664 InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1074 true Shift 1074 null Shift 1074 StringLiteral Shift 1074 CharacterLiteral Shift 1074 DoubleLiteral Shift 1074 FloatingPointLiteral Shift 1074 LongLiteral Shift 1074 IntegerLiteral Shift 1074 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1075 PreDecrementExpression Goto 1075 UnaryExpressionNotPlusMinus Goto 1075 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1084 PostDecrementExpression Goto 1083 PostfixExpression Goto 464 Literal Goto 1074 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1082 FieldAccess Goto 1081 PrimitiveType Goto 95 MethodInvocation Goto 1080 ArrayAccess Goto 1079 LambdaExpression Goto 1078 ReferenceExpression Goto 1077 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 665 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1074 ArrayCreationWithoutArrayInitializer Goto 1076 SwitchExpression Goto 1075 CastExpression Goto 1075 UnaryExpression Goto 1075 InstanceofExpression Goto 543 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 312 ---------------------------------------------------------------------- ( 110 542 583 591 ) EqualityExpression ::= EqualityExpression EQUAL_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 666 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 667 LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 668 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 RelationalExpression ::= .ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 669 RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1074 true Shift 1074 null Shift 1074 StringLiteral Shift 1074 CharacterLiteral Shift 1074 DoubleLiteral Shift 1074 FloatingPointLiteral Shift 1074 LongLiteral Shift 1074 IntegerLiteral Shift 1074 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1075 PreDecrementExpression Goto 1075 UnaryExpressionNotPlusMinus Goto 1075 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1084 PostDecrementExpression Goto 1083 PostfixExpression Goto 464 Literal Goto 1074 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1082 FieldAccess Goto 1081 PrimitiveType Goto 95 MethodInvocation Goto 1080 ArrayAccess Goto 1079 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 670 LambdaExpression Goto 1078 ReferenceExpression Goto 1077 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1074 ArrayCreationWithoutArrayInitializer Goto 1076 SwitchExpression Goto 1075 CastExpression Goto 1075 UnaryExpression Goto 1075 InstanceofExpression Goto 544 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 313 ---------------------------------------------------------------------- ( 111 549 584 588 ) InclusiveOrExpression ::= InclusiveOrExpression OR .ExclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 671 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 672 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 673 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 Mon Oct 4 09:57:22 2021 Page 674 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1085 true Shift 1085 null Shift 1085 StringLiteral Shift 1085 CharacterLiteral Shift 1085 DoubleLiteral Shift 1085 FloatingPointLiteral Shift 1085 LongLiteral Shift 1085 IntegerLiteral Shift 1085 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1086 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 675 MultiplicativeExpression Goto 104 SwitchExpression Goto 1086 PostfixExpression Goto 464 CastExpression Goto 1086 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1095 BooleanLiteral Goto 1085 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1085 ClassInstanceCreationExpression Goto 1094 FieldAccess Goto 1093 MethodInvocation Goto 1092 ArrayAccess Goto 1091 LambdaExpression Goto 1090 ReferenceExpression Goto 1089 PostIncrementExpression Goto 1088 PostDecrementExpression Goto 1087 PreIncrementExpression Goto 1086 PreDecrementExpression Goto 1086 UnaryExpressionNotPlusMinus Goto 1086 ExclusiveOrExpression Goto 545 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 314 ---------------------------------------------------------------------- ( 112 545 585 589 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 676 ExclusiveOrExpression ::= ExclusiveOrExpression XOR .AndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 677 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 678 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 Mon Oct 4 09:57:22 2021 Page 679 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1096 true Shift 1096 null Shift 1096 StringLiteral Shift 1096 CharacterLiteral Shift 1096 DoubleLiteral Shift 1096 FloatingPointLiteral Shift 1096 LongLiteral Shift 1096 IntegerLiteral Shift 1096 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 680 PLUS_PLUS Shift 50 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1097 PreDecrementExpression Goto 1097 UnaryExpressionNotPlusMinus Goto 1097 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1106 PostDecrementExpression Goto 1105 PostfixExpression Goto 464 Literal Goto 1096 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1104 FieldAccess Goto 1103 PrimitiveType Goto 95 MethodInvocation Goto 1102 ArrayAccess Goto 1101 LambdaExpression Goto 1100 ReferenceExpression Goto 1099 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1096 ArrayCreationWithoutArrayInitializer Goto 1098 SwitchExpression Goto 1097 CastExpression Goto 1097 UnaryExpression Goto 1097 AndExpression Goto 546 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 681 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 315 ---------------------------------------------------------------------- ( 113 ) ConditionalExpression ::= ConditionalOrExpression QUESTION .Expression COLON ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 682 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 683 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 Mon Oct 4 09:57:22 2021 Page 684 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 685 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 686 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 547 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 316 ---------------------------------------------------------------------- ( 113 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 687 ConditionalOrExpression ::= ConditionalOrExpression OR_OR . ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 688 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 689 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 Mon Oct 4 09:57:22 2021 Page 690 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1107 true Shift 1107 null Shift 1107 StringLiteral Shift 1107 CharacterLiteral Shift 1107 DoubleLiteral Shift 1107 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 691 FloatingPointLiteral Shift 1107 LongLiteral Shift 1107 IntegerLiteral Shift 1107 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1108 MultiplicativeExpression Goto 104 SwitchExpression Goto 1108 PostfixExpression Goto 464 CastExpression Goto 1108 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1117 BooleanLiteral Goto 1107 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1107 ClassInstanceCreationExpression Goto 1116 FieldAccess Goto 1115 MethodInvocation Goto 1114 ArrayAccess Goto 1113 LambdaExpression Goto 1112 ReferenceExpression Goto 1111 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 692 PostIncrementExpression Goto 1110 PostDecrementExpression Goto 1109 PreIncrementExpression Goto 1108 PreDecrementExpression Goto 1108 UnaryExpressionNotPlusMinus Goto 1108 ConditionalAndExpression Goto 548 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 317 ---------------------------------------------------------------------- ( 114 548 587 604 ) ConditionalAndExpression ::= ConditionalAndExpression AND_AND . InclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 693 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 694 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 Mon Oct 4 09:57:22 2021 Page 695 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 696 ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1118 true Shift 1118 null Shift 1118 StringLiteral Shift 1118 CharacterLiteral Shift 1118 DoubleLiteral Shift 1118 FloatingPointLiteral Shift 1118 LongLiteral Shift 1118 IntegerLiteral Shift 1118 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1119 PreDecrementExpression Goto 1119 UnaryExpressionNotPlusMinus Goto 1119 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1128 PostDecrementExpression Goto 1127 PostfixExpression Goto 464 Literal Goto 1118 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1126 FieldAccess Goto 1125 PrimitiveType Goto 95 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 697 MethodInvocation Goto 1124 ArrayAccess Goto 1123 LambdaExpression Goto 1122 ReferenceExpression Goto 1121 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1118 ArrayCreationWithoutArrayInitializer Goto 1120 SwitchExpression Goto 1119 CastExpression Goto 1119 UnaryExpression Goto 1119 InclusiveOrExpression Goto 549 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 318 ---------------------------------------------------------------------- ( 116 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 698 Literal ::= .StringLiteral 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 ::= . (71) 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 ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE VariableInitializers ::= .VariableInitializer VariableInitializers ::= .VariableInitializers COMMA VariableInitializer UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 Mon Oct 4 09:57:22 2021 Page 699 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 700 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 Mon Oct 4 09:57:22 2021 Page 701 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ,opt ::= . (633) COMMA Shift 550 MINUS Shift 92 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 702 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 LBRACE Shift 116 Expression Goto 1129 ArrayInitializer Goto 1129 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 703 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 VariableInitializer Gt/Rd 318 VariableInitializers Goto 551 ,opt Goto 550 RBRACE Reduce 633 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 319 ---------------------------------------------------------------------- ( 118 ) MethodHeader ::= MethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 704 MethodHeaderThrowsClauseopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 252 MethodHeaderRightParen Goto 552 STATE 320 ---------------------------------------------------------------------- ( 118 119 128 138 170 429 ) FormalParameter ::= Modifiersopt .Type VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 705 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 22 Identifier Shift 970 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 431 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 431 Type Goto 431 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 321 ---------------------------------------------------------------------- ( 119 ) DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 252 MethodHeaderRightParen Goto 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 706 STATE 322 ---------------------------------------------------------------------- ( 120 ) DefaultMethodHeaderName ::= ModifiersWithDefault Type .Identifier LPAREN Identifier Shift 554 STATE 323 ---------------------------------------------------------------------- ( 120 ) 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 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 707 AT308 Shift 22 Identifier Shift 970 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 555 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 555 Type Goto 555 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 324 ---------------------------------------------------------------------- ( 127 132 173 185 ) ModifiersWithDefault ::= Modifiersopt default .Modifiersopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 708 Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifier Goto 958 Modifiers Goto 131 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Modifiersopt Gt/Rd 251 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 709 STATE 325 ---------------------------------------------------------------------- ( 127 132 ) 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 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 557 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 710 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 556 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 556 Type Goto 556 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 326 ---------------------------------------------------------------------- ( 127 ) 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 Identifier Shift 559 VariableDeclaratorId Goto 505 VariableDeclarator Goto 558 VariableDeclarators Goto 558 STATE 327 ---------------------------------------------------------------------- ( 127 132 136 185 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 711 SimpleName ::= Identifier . (66) ConstructorHeaderName ::= Modifiersopt Identifier .LPAREN LPAREN Sh/Rd 257 Identifier Reduce 63 LESS Reduce 63 LBRACKET Reduce 63 DOT Reduce 63 AT308 Reduce 63 Default reduction to rule 66 STATE 328 ---------------------------------------------------------------------- ( 128 ) ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderThrowsClauseopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 252 MethodHeaderRightParen Goto 560 STATE 329 ---------------------------------------------------------------------- ( 129 ) ClassBodyDeclaration ::= Diet NestedMethod .CreateInitializer Block CreateInitializer ::= . (218) CreateInitializer Goto 561 LBRACE Reduce 218 Default reduction to rule 218 STATE 330 ---------------------------------------------------------------------- ( 132 ) MethodHeaderName ::= Modifiersopt Type .Identifier LPAREN Identifier Shift 562 STATE 331 ---------------------------------------------------------------------- ( 134 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 712 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 22 Identifier Shift 970 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 Name Goto 563 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 563 STATE 332 ---------------------------------------------------------------------- ( 136 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 713 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 ::= . (71) 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 557 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 564 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 564 Type Goto 564 boolean Reduce 71 byte Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 714 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 333 ---------------------------------------------------------------------- ( 136 ) 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 Identifier Shift 565 VariableDeclaratorId Goto 505 VariableDeclarator Goto 558 VariableDeclarators Goto 558 STATE 334 ---------------------------------------------------------------------- ( 137 ) PackageDeclarationName ::= Modifiers package .PushRealModifiers Name RejectTypeAnnotations PushRealModifiers ::= . (338) PushRealModifiers Goto 566 Identifier Reduce 338 AT308 Reduce 338 Default reduction to rule 338 STATE 335 ---------------------------------------------------------------------- ( 138 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 715 AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 252 MethodHeaderRightParen Goto 567 STATE 336 ---------------------------------------------------------------------- ( 142 ) 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 AT308 Shift 22 Identifier Shift 970 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 Name Goto 568 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 568 STATE 337 ---------------------------------------------------------------------- ( 142 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 716 QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName SingleTypeImportDeclarationName ::= import Name .RejectTypeAnnotations TypeImportOnDemandDeclarationName ::= import Name .DOT RejectTypeAnnotations MULTIPLY RejectTypeAnnotations ::= . (83) DOT Shift 569 RejectTypeAnnotations Gt/Rd 177 SEMICOLON Reduce 83 Default reduction to rule 83 STATE 338 ---------------------------------------------------------------------- ( 144 ) 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 ::= . (314) PushLeftBrace Goto 570 Identifier Reduce 314 boolean Reduce 314 byte Reduce 314 char Reduce 314 double Reduce 314 false Reduce 314 float Reduce 314 int Reduce 314 long Reduce 314 new Reduce 314 null Reduce 314 short Reduce 314 super Reduce 314 switch Reduce 314 this Reduce 314 true Reduce 314 void Reduce 314 IntegerLiteral Reduce 314 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 717 LongLiteral Reduce 314 FloatingPointLiteral Reduce 314 DoubleLiteral Reduce 314 CharacterLiteral Reduce 314 StringLiteral Reduce 314 PLUS_PLUS Reduce 314 MINUS_MINUS Reduce 314 PLUS Reduce 314 MINUS Reduce 314 NOT Reduce 314 TWIDDLE Reduce 314 LPAREN Reduce 314 LBRACE Reduce 314 RBRACE Reduce 314 COMMA Reduce 314 AT Reduce 314 BeginLambda Reduce 314 BeginIntersectionCast Reduce 314 AT308 Reduce 314 Default reduction to rule 314 STATE 339 ---------------------------------------------------------------------- ( 145 ) UnaryExpressionNotPlusMinus_NotName ::= NOT PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 718 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 719 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 Mon Oct 4 09:57:22 2021 Page 720 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 758 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 721 PostfixExpression Goto 464 CastExpression Gt/Rd 758 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 758 PreDecrementExpression Gt/Rd 758 UnaryExpressionNotPlusMinus Gt/Rd 758 UnaryExpression Gt/Rd 758 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 340 ---------------------------------------------------------------------- ( 146 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 722 UnaryExpressionNotPlusMinus_NotName ::= TWIDDLE PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 723 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 724 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 92 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 725 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 757 PostfixExpression Goto 464 CastExpression Gt/Rd 757 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 726 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 757 PreDecrementExpression Gt/Rd 757 UnaryExpressionNotPlusMinus Gt/Rd 757 UnaryExpression Gt/Rd 757 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 341 ---------------------------------------------------------------------- ( 151 ) UnaryExpression_NotName ::= MINUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 727 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 728 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 Mon Oct 4 09:57:22 2021 Page 729 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 730 SwitchExpression Gt/Rd 754 PostfixExpression Goto 464 CastExpression Gt/Rd 754 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 754 PreDecrementExpression Gt/Rd 754 UnaryExpressionNotPlusMinus Gt/Rd 754 UnaryExpression Gt/Rd 754 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 342 ---------------------------------------------------------------------- ( 152 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 731 UnaryExpression_NotName ::= PLUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 732 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 733 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 92 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 734 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 753 PostfixExpression Goto 464 CastExpression Gt/Rd 753 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 735 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 753 PreDecrementExpression Gt/Rd 753 UnaryExpressionNotPlusMinus Gt/Rd 753 UnaryExpression Gt/Rd 753 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 343 ---------------------------------------------------------------------- ( 153 ) AdditiveExpression_NotName ::= AdditiveExpression_NotName MINUS . MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 736 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 737 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 Mon Oct 4 09:57:22 2021 Page 738 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1042 true Shift 1042 null Shift 1042 StringLiteral Shift 1042 CharacterLiteral Shift 1042 DoubleLiteral Shift 1042 FloatingPointLiteral Shift 1042 LongLiteral Shift 1042 IntegerLiteral Shift 1042 new Shift 60 BeginIntersectionCast Shift 100 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 739 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 PreIncrementExpression Goto 571 PreDecrementExpression Goto 571 UnaryExpressionNotPlusMinus Goto 571 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1051 PostDecrementExpression Goto 1050 PostfixExpression Goto 464 Literal Goto 1042 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1049 FieldAccess Goto 1048 PrimitiveType Goto 95 MethodInvocation Goto 1047 ArrayAccess Goto 1046 LambdaExpression Goto 1045 ReferenceExpression Goto 1044 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1042 ArrayCreationWithoutArrayInitializer Goto 1043 SwitchExpression Goto 571 CastExpression Goto 571 UnaryExpression Goto 571 MultiplicativeExpression Goto 571 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 740 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 344 ---------------------------------------------------------------------- ( 153 ) AdditiveExpression_NotName ::= AdditiveExpression_NotName PLUS . MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 741 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 ::= .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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 742 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 PushRPAREN InsideCastExpressionWithQualifiedGenerics IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 743 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1042 true Shift 1042 null Shift 1042 StringLiteral Shift 1042 CharacterLiteral Shift 1042 DoubleLiteral Shift 1042 FloatingPointLiteral Shift 1042 LongLiteral Shift 1042 IntegerLiteral Shift 1042 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 PreIncrementExpression Goto 572 PreDecrementExpression Goto 572 UnaryExpressionNotPlusMinus Goto 572 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1051 PostDecrementExpression Goto 1050 PostfixExpression Goto 464 Literal Goto 1042 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1049 FieldAccess Goto 1048 PrimitiveType Goto 95 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 744 MethodInvocation Goto 1047 ArrayAccess Goto 1046 LambdaExpression Goto 1045 ReferenceExpression Goto 1044 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1042 ArrayCreationWithoutArrayInitializer Goto 1043 SwitchExpression Goto 572 CastExpression Goto 572 UnaryExpression Goto 572 MultiplicativeExpression Goto 572 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 345 ---------------------------------------------------------------------- ( 154 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName REMAINDER .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 745 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 746 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 747 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 748 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 765 PostfixExpression Goto 464 CastExpression Gt/Rd 765 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 765 PreDecrementExpression Gt/Rd 765 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 749 UnaryExpressionNotPlusMinus Gt/Rd 765 UnaryExpression Gt/Rd 765 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 346 ---------------------------------------------------------------------- ( 154 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName DIVIDE . UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 750 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 751 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 PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 752 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 763 PostfixExpression Goto 464 CastExpression Gt/Rd 763 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 753 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 763 PreDecrementExpression Gt/Rd 763 UnaryExpressionNotPlusMinus Gt/Rd 763 UnaryExpression Gt/Rd 763 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 347 ---------------------------------------------------------------------- ( 154 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName MULTIPLY .UnaryExpression Literal ::= .IntegerLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 754 Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 755 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 756 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 757 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 761 PostfixExpression Goto 464 CastExpression Gt/Rd 761 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 758 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 761 PreDecrementExpression Gt/Rd 761 UnaryExpressionNotPlusMinus Gt/Rd 761 UnaryExpression Gt/Rd 761 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 348 ---------------------------------------------------------------------- ( 155 ) RelationalExpression_NotName ::= RelationalExpression_NotName GREATER_EQUAL . ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 759 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 760 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 Mon Oct 4 09:57:22 2021 Page 761 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 762 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 763 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 573 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 349 ---------------------------------------------------------------------- ( 155 ) RelationalExpression_NotName ::= RelationalExpression_NotName LESS_EQUAL . ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 764 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 765 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 Mon Oct 4 09:57:22 2021 Page 766 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 767 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 768 ShiftExpression Goto 574 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 350 ---------------------------------------------------------------------- ( 156 ) RelationalExpression_NotName ::= ShiftExpression_NotName GREATER . ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 769 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 770 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 Mon Oct 4 09:57:22 2021 Page 771 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 772 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 575 boolean Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 773 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 351 ---------------------------------------------------------------------- ( 156 ) RelationalExpression_NotName ::= ShiftExpression_NotName LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 774 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 775 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 Mon Oct 4 09:57:22 2021 Page 776 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 777 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 576 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 778 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 352 ---------------------------------------------------------------------- ( 156 ) ShiftExpression_NotName ::= ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT . AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 779 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 780 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 Mon Oct 4 09:57:22 2021 Page 781 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1031 true Shift 1031 null Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 UnaryExpression Goto 1032 MultiplicativeExpression Goto 104 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 782 SwitchExpression Goto 1032 PostfixExpression Goto 464 CastExpression Goto 1032 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1041 BooleanLiteral Goto 1031 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1031 ClassInstanceCreationExpression Goto 1040 FieldAccess Goto 1039 MethodInvocation Goto 1038 ArrayAccess Goto 1037 LambdaExpression Goto 1036 ReferenceExpression Goto 1035 PostIncrementExpression Goto 1034 PostDecrementExpression Goto 1033 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus Goto 1032 AdditiveExpression Goto 577 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 353 ---------------------------------------------------------------------- ( 156 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 783 ShiftExpression_NotName ::= ShiftExpression_NotName RIGHT_SHIFT . AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 784 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 785 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 Mon Oct 4 09:57:22 2021 Page 786 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1031 true Shift 1031 null Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 UnaryExpression Goto 1032 MultiplicativeExpression Goto 104 SwitchExpression Goto 1032 PostfixExpression Goto 464 CastExpression Goto 1032 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1041 BooleanLiteral Goto 1031 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 787 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1031 ClassInstanceCreationExpression Goto 1040 FieldAccess Goto 1039 MethodInvocation Goto 1038 ArrayAccess Goto 1037 LambdaExpression Goto 1036 ReferenceExpression Goto 1035 PostIncrementExpression Goto 1034 PostDecrementExpression Goto 1033 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus Goto 1032 AdditiveExpression Goto 578 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 354 ---------------------------------------------------------------------- ( 156 ) ShiftExpression_NotName ::= ShiftExpression_NotName LEFT_SHIFT . AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 788 Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 789 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 790 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 Mon Oct 4 09:57:22 2021 Page 791 UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1031 true Shift 1031 null Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 UnaryExpression Goto 1032 MultiplicativeExpression Goto 104 SwitchExpression Goto 1032 PostfixExpression Goto 464 CastExpression Goto 1032 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1041 BooleanLiteral Goto 1031 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 792 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1031 ClassInstanceCreationExpression Goto 1040 FieldAccess Goto 1039 MethodInvocation Goto 1038 ArrayAccess Goto 1037 LambdaExpression Goto 1036 ReferenceExpression Goto 1035 PostIncrementExpression Goto 1034 PostDecrementExpression Goto 1033 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus Goto 1032 AdditiveExpression Goto 579 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 355 ---------------------------------------------------------------------- ( 157 ) EqualityExpression_NotName ::= EqualityExpression_NotName NOT_EQUAL . InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 793 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 794 ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 795 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 Mon Oct 4 09:57:22 2021 Page 796 RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1074 true Shift 1074 null Shift 1074 StringLiteral Shift 1074 CharacterLiteral Shift 1074 DoubleLiteral Shift 1074 FloatingPointLiteral Shift 1074 LongLiteral Shift 1074 IntegerLiteral Shift 1074 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1075 PreDecrementExpression Goto 1075 UnaryExpressionNotPlusMinus Goto 1075 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1084 PostDecrementExpression Goto 1083 PostfixExpression Goto 464 Literal Goto 1074 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1082 FieldAccess Goto 1081 PrimitiveType Goto 95 MethodInvocation Goto 1080 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 797 ArrayAccess Goto 1079 LambdaExpression Goto 1078 ReferenceExpression Goto 1077 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1074 ArrayCreationWithoutArrayInitializer Goto 1076 SwitchExpression Goto 1075 CastExpression Goto 1075 UnaryExpression Goto 1075 InstanceofExpression Goto 580 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 356 ---------------------------------------------------------------------- ( 157 ) EqualityExpression_NotName ::= EqualityExpression_NotName EQUAL_EQUAL . InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 798 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 799 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 800 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 Mon Oct 4 09:57:22 2021 Page 801 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1074 true Shift 1074 null Shift 1074 StringLiteral Shift 1074 CharacterLiteral Shift 1074 DoubleLiteral Shift 1074 FloatingPointLiteral Shift 1074 LongLiteral Shift 1074 IntegerLiteral Shift 1074 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1075 PreDecrementExpression Goto 1075 UnaryExpressionNotPlusMinus Goto 1075 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1084 PostDecrementExpression Goto 1083 PostfixExpression Goto 464 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 802 Literal Goto 1074 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1082 FieldAccess Goto 1081 PrimitiveType Goto 95 MethodInvocation Goto 1080 ArrayAccess Goto 1079 LambdaExpression Goto 1078 ReferenceExpression Goto 1077 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1074 ArrayCreationWithoutArrayInitializer Goto 1076 SwitchExpression Goto 1075 CastExpression Goto 1075 UnaryExpression Goto 1075 InstanceofExpression Goto 581 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 357 ---------------------------------------------------------------------- ( 158 ) InstanceofExpression_NotName ::= InstanceofExpression_NotName instanceof . ReferenceType PrimitiveType ::= .TypeAnnotationsopt NumericType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 803 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 ::= . (71) 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 22 Identifier Shift 970 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 804 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Gt/Rd 790 ReferenceType Gt/Rd 790 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 358 ---------------------------------------------------------------------- ( 159 ) ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName XOR . AndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 805 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 806 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 Mon Oct 4 09:57:22 2021 Page 807 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression MINUS Shift 92 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 808 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1096 true Shift 1096 null Shift 1096 StringLiteral Shift 1096 CharacterLiteral Shift 1096 DoubleLiteral Shift 1096 FloatingPointLiteral Shift 1096 LongLiteral Shift 1096 IntegerLiteral Shift 1096 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1097 PreDecrementExpression Goto 1097 UnaryExpressionNotPlusMinus Goto 1097 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1106 PostDecrementExpression Goto 1105 PostfixExpression Goto 464 Literal Goto 1096 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1104 FieldAccess Goto 1103 PrimitiveType Goto 95 MethodInvocation Goto 1102 ArrayAccess Goto 1101 LambdaExpression Goto 1100 ReferenceExpression Goto 1099 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 809 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1096 ArrayCreationWithoutArrayInitializer Goto 1098 SwitchExpression Goto 1097 CastExpression Goto 1097 UnaryExpression Goto 1097 AndExpression Goto 582 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 359 ---------------------------------------------------------------------- ( 160 ) AndExpression_NotName ::= AndExpression_NotName AND .EqualityExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 810 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 811 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 Mon Oct 4 09:57:22 2021 Page 812 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 Mon Oct 4 09:57:22 2021 Page 813 RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1063 true Shift 1063 null Shift 1063 StringLiteral Shift 1063 CharacterLiteral Shift 1063 DoubleLiteral Shift 1063 FloatingPointLiteral Shift 1063 LongLiteral Shift 1063 IntegerLiteral Shift 1063 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1064 MultiplicativeExpression Goto 104 SwitchExpression Goto 1064 PostfixExpression Goto 464 CastExpression Goto 1064 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1073 BooleanLiteral Goto 1063 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 814 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1063 ClassInstanceCreationExpression Goto 1072 FieldAccess Goto 1071 MethodInvocation Goto 1070 ArrayAccess Goto 1069 LambdaExpression Goto 1068 ReferenceExpression Goto 1067 PostIncrementExpression Goto 1066 PostDecrementExpression Goto 1065 PreIncrementExpression Goto 1064 PreDecrementExpression Goto 1064 UnaryExpressionNotPlusMinus Goto 1064 EqualityExpression Goto 583 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 360 ---------------------------------------------------------------------- ( 161 ) ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName AND_AND .InclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 815 Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 816 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 817 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 Mon Oct 4 09:57:22 2021 Page 818 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1118 true Shift 1118 null Shift 1118 StringLiteral Shift 1118 CharacterLiteral Shift 1118 DoubleLiteral Shift 1118 FloatingPointLiteral Shift 1118 LongLiteral Shift 1118 IntegerLiteral Shift 1118 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AndExpression Goto 109 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 819 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1119 PreDecrementExpression Goto 1119 UnaryExpressionNotPlusMinus Goto 1119 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1128 PostDecrementExpression Goto 1127 PostfixExpression Goto 464 Literal Goto 1118 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1126 FieldAccess Goto 1125 PrimitiveType Goto 95 MethodInvocation Goto 1124 ArrayAccess Goto 1123 LambdaExpression Goto 1122 ReferenceExpression Goto 1121 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1118 ArrayCreationWithoutArrayInitializer Goto 1120 SwitchExpression Goto 1119 CastExpression Goto 1119 UnaryExpression Goto 1119 InclusiveOrExpression Goto 584 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 820 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 361 ---------------------------------------------------------------------- ( 162 ) InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName OR . ExclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 821 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 822 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 Mon Oct 4 09:57:22 2021 Page 823 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 824 false Shift 1085 true Shift 1085 null Shift 1085 StringLiteral Shift 1085 CharacterLiteral Shift 1085 DoubleLiteral Shift 1085 FloatingPointLiteral Shift 1085 LongLiteral Shift 1085 IntegerLiteral Shift 1085 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1086 MultiplicativeExpression Goto 104 SwitchExpression Goto 1086 PostfixExpression Goto 464 CastExpression Goto 1086 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1095 BooleanLiteral Goto 1085 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1085 ClassInstanceCreationExpression Goto 1094 FieldAccess Goto 1093 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 825 MethodInvocation Goto 1092 ArrayAccess Goto 1091 LambdaExpression Goto 1090 ReferenceExpression Goto 1089 PostIncrementExpression Goto 1088 PostDecrementExpression Goto 1087 PreIncrementExpression Goto 1086 PreDecrementExpression Goto 1086 UnaryExpressionNotPlusMinus Goto 1086 ExclusiveOrExpression Goto 585 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 362 ---------------------------------------------------------------------- ( 163 237 294 ) ConditionalExpression_NotName ::= Name QUESTION .Expression COLON ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 826 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 827 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 Mon Oct 4 09:57:22 2021 Page 828 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 829 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 830 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 831 Expression Goto 586 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 363 ---------------------------------------------------------------------- ( 163 237 294 ) ConditionalOrExpression_NotName ::= Name OR_OR .ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 832 SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 833 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 PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 834 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 835 InclusiveOrExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1107 true Shift 1107 null Shift 1107 StringLiteral Shift 1107 CharacterLiteral Shift 1107 DoubleLiteral Shift 1107 FloatingPointLiteral Shift 1107 LongLiteral Shift 1107 IntegerLiteral Shift 1107 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1108 MultiplicativeExpression Goto 104 SwitchExpression Goto 1108 PostfixExpression Goto 464 CastExpression Goto 1108 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1117 BooleanLiteral Goto 1107 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 836 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1107 ClassInstanceCreationExpression Goto 1116 FieldAccess Goto 1115 MethodInvocation Goto 1114 ArrayAccess Goto 1113 LambdaExpression Goto 1112 ReferenceExpression Goto 1111 PostIncrementExpression Goto 1110 PostDecrementExpression Goto 1109 PreIncrementExpression Goto 1108 PreDecrementExpression Goto 1108 UnaryExpressionNotPlusMinus Goto 1108 ConditionalAndExpression Goto 587 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 364 ---------------------------------------------------------------------- ( 163 237 294 ) ConditionalAndExpression_NotName ::= Name AND_AND .InclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 837 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 838 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 839 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 Mon Oct 4 09:57:22 2021 Page 840 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1118 true Shift 1118 null Shift 1118 StringLiteral Shift 1118 CharacterLiteral Shift 1118 DoubleLiteral Shift 1118 FloatingPointLiteral Shift 1118 LongLiteral Shift 1118 IntegerLiteral Shift 1118 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 841 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1119 PreDecrementExpression Goto 1119 UnaryExpressionNotPlusMinus Goto 1119 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1128 PostDecrementExpression Goto 1127 PostfixExpression Goto 464 Literal Goto 1118 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1126 FieldAccess Goto 1125 PrimitiveType Goto 95 MethodInvocation Goto 1124 ArrayAccess Goto 1123 LambdaExpression Goto 1122 ReferenceExpression Goto 1121 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1118 ArrayCreationWithoutArrayInitializer Goto 1120 SwitchExpression Goto 1119 CastExpression Goto 1119 UnaryExpression Goto 1119 InclusiveOrExpression Goto 588 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 842 Default reduction to rule 71 STATE 365 ---------------------------------------------------------------------- ( 163 237 294 ) InclusiveOrExpression_NotName ::= Name OR .ExclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 843 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 844 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 Mon Oct 4 09:57:22 2021 Page 845 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1085 true Shift 1085 null Shift 1085 StringLiteral Shift 1085 CharacterLiteral Shift 1085 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 846 DoubleLiteral Shift 1085 FloatingPointLiteral Shift 1085 LongLiteral Shift 1085 IntegerLiteral Shift 1085 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1086 MultiplicativeExpression Goto 104 SwitchExpression Goto 1086 PostfixExpression Goto 464 CastExpression Goto 1086 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1095 BooleanLiteral Goto 1085 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1085 ClassInstanceCreationExpression Goto 1094 FieldAccess Goto 1093 MethodInvocation Goto 1092 ArrayAccess Goto 1091 LambdaExpression Goto 1090 ReferenceExpression Goto 1089 PostIncrementExpression Goto 1088 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 847 PostDecrementExpression Goto 1087 PreIncrementExpression Goto 1086 PreDecrementExpression Goto 1086 UnaryExpressionNotPlusMinus Goto 1086 ExclusiveOrExpression Goto 589 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 366 ---------------------------------------------------------------------- ( 163 237 294 ) ExclusiveOrExpression_NotName ::= Name XOR .AndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 848 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 849 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 Mon Oct 4 09:57:22 2021 Page 850 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression MINUS Shift 92 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 851 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1096 true Shift 1096 null Shift 1096 StringLiteral Shift 1096 CharacterLiteral Shift 1096 DoubleLiteral Shift 1096 FloatingPointLiteral Shift 1096 LongLiteral Shift 1096 IntegerLiteral Shift 1096 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1097 PreDecrementExpression Goto 1097 UnaryExpressionNotPlusMinus Goto 1097 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1106 PostDecrementExpression Goto 1105 PostfixExpression Goto 464 Literal Goto 1096 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1104 FieldAccess Goto 1103 PrimitiveType Goto 95 MethodInvocation Goto 1102 ArrayAccess Goto 1101 LambdaExpression Goto 1100 ReferenceExpression Goto 1099 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 852 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1096 ArrayCreationWithoutArrayInitializer Goto 1098 SwitchExpression Goto 1097 CastExpression Goto 1097 UnaryExpression Goto 1097 AndExpression Goto 590 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 367 ---------------------------------------------------------------------- ( 163 237 294 ) AndExpression_NotName ::= Name AND .EqualityExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 853 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 854 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 Mon Oct 4 09:57:22 2021 Page 855 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 Mon Oct 4 09:57:22 2021 Page 856 RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1063 true Shift 1063 null Shift 1063 StringLiteral Shift 1063 CharacterLiteral Shift 1063 DoubleLiteral Shift 1063 FloatingPointLiteral Shift 1063 LongLiteral Shift 1063 IntegerLiteral Shift 1063 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1064 MultiplicativeExpression Goto 104 SwitchExpression Goto 1064 PostfixExpression Goto 464 CastExpression Goto 1064 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1073 BooleanLiteral Goto 1063 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 857 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1063 ClassInstanceCreationExpression Goto 1072 FieldAccess Goto 1071 MethodInvocation Goto 1070 ArrayAccess Goto 1069 LambdaExpression Goto 1068 ReferenceExpression Goto 1067 PostIncrementExpression Goto 1066 PostDecrementExpression Goto 1065 PreIncrementExpression Goto 1064 PreDecrementExpression Goto 1064 UnaryExpressionNotPlusMinus Goto 1064 EqualityExpression Goto 591 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 368 ---------------------------------------------------------------------- ( 163 237 294 ) EqualityExpression_NotName ::= Name NOT_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 858 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 859 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 860 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 Mon Oct 4 09:57:22 2021 Page 861 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1074 true Shift 1074 null Shift 1074 StringLiteral Shift 1074 CharacterLiteral Shift 1074 DoubleLiteral Shift 1074 FloatingPointLiteral Shift 1074 LongLiteral Shift 1074 IntegerLiteral Shift 1074 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1075 PreDecrementExpression Goto 1075 UnaryExpressionNotPlusMinus Goto 1075 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1084 PostDecrementExpression Goto 1083 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 862 PostfixExpression Goto 464 Literal Goto 1074 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1082 FieldAccess Goto 1081 PrimitiveType Goto 95 MethodInvocation Goto 1080 ArrayAccess Goto 1079 LambdaExpression Goto 1078 ReferenceExpression Goto 1077 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1074 ArrayCreationWithoutArrayInitializer Goto 1076 SwitchExpression Goto 1075 CastExpression Goto 1075 UnaryExpression Goto 1075 InstanceofExpression Goto 592 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 369 ---------------------------------------------------------------------- ( 163 237 294 ) EqualityExpression_NotName ::= Name EQUAL_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 863 Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 864 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 865 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 Mon Oct 4 09:57:22 2021 Page 866 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1074 true Shift 1074 null Shift 1074 StringLiteral Shift 1074 CharacterLiteral Shift 1074 DoubleLiteral Shift 1074 FloatingPointLiteral Shift 1074 LongLiteral Shift 1074 IntegerLiteral Shift 1074 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1075 PreDecrementExpression Goto 1075 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 867 UnaryExpressionNotPlusMinus Goto 1075 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1084 PostDecrementExpression Goto 1083 PostfixExpression Goto 464 Literal Goto 1074 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1082 FieldAccess Goto 1081 PrimitiveType Goto 95 MethodInvocation Goto 1080 ArrayAccess Goto 1079 LambdaExpression Goto 1078 ReferenceExpression Goto 1077 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1074 ArrayCreationWithoutArrayInitializer Goto 1076 SwitchExpression Goto 1075 CastExpression Goto 1075 UnaryExpression Goto 1075 InstanceofExpression Goto 593 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 370 ---------------------------------------------------------------------- ( 163 237 294 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 868 InstanceofExpression_NotName ::= Name instanceof .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 ::= . (71) 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 22 Identifier Shift 970 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 869 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Gt/Rd 789 ReferenceType Gt/Rd 789 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 371 ---------------------------------------------------------------------- ( 163 237 294 ) RelationalExpression_NotName ::= Name GREATER_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 870 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 871 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 Mon Oct 4 09:57:22 2021 Page 872 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 873 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 874 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 594 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 372 ---------------------------------------------------------------------- ( 163 237 294 ) RelationalExpression_NotName ::= Name LESS_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 875 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 876 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 Mon Oct 4 09:57:22 2021 Page 877 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 878 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 595 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 879 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 373 ---------------------------------------------------------------------- ( 163 237 294 ) RelationalExpression_NotName ::= Name GREATER .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 880 SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 881 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 UnaryExpressionNotPlusMinus ::= .PostfixExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 882 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 883 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 596 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 884 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 374 ---------------------------------------------------------------------- ( 163 237 ) RelationalExpression_NotName ::= Name LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 885 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 886 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 Mon Oct 4 09:57:22 2021 Page 887 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 888 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 95 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 597 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 889 void Reduce 71 Default reduction to rule 71 STATE 375 ---------------------------------------------------------------------- ( 163 237 294 ) ShiftExpression_NotName ::= Name UNSIGNED_RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 890 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 891 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 Mon Oct 4 09:57:22 2021 Page 892 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 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1031 true Shift 1031 null Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 UnaryExpression Goto 1032 MultiplicativeExpression Goto 104 SwitchExpression Goto 1032 PostfixExpression Goto 464 CastExpression Goto 1032 PushLPAREN Goto 101 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 893 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1041 BooleanLiteral Goto 1031 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1031 ClassInstanceCreationExpression Goto 1040 FieldAccess Goto 1039 MethodInvocation Goto 1038 ArrayAccess Goto 1037 LambdaExpression Goto 1036 ReferenceExpression Goto 1035 PostIncrementExpression Goto 1034 PostDecrementExpression Goto 1033 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus Goto 1032 AdditiveExpression Goto 598 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 376 ---------------------------------------------------------------------- ( 163 237 294 ) ShiftExpression_NotName ::= Name RIGHT_SHIFT .AdditiveExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 894 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 895 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 896 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 Mon Oct 4 09:57:22 2021 Page 897 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1031 true Shift 1031 null Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 UnaryExpression Goto 1032 MultiplicativeExpression Goto 104 SwitchExpression Goto 1032 PostfixExpression Goto 464 CastExpression Goto 1032 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1041 BooleanLiteral Goto 1031 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 898 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1031 ClassInstanceCreationExpression Goto 1040 FieldAccess Goto 1039 MethodInvocation Goto 1038 ArrayAccess Goto 1037 LambdaExpression Goto 1036 ReferenceExpression Goto 1035 PostIncrementExpression Goto 1034 PostDecrementExpression Goto 1033 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus Goto 1032 AdditiveExpression Goto 599 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 377 ---------------------------------------------------------------------- ( 163 237 294 ) ShiftExpression_NotName ::= Name LEFT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 899 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 900 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 901 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 Mon Oct 4 09:57:22 2021 Page 902 AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1031 true Shift 1031 null Shift 1031 StringLiteral Shift 1031 CharacterLiteral Shift 1031 DoubleLiteral Shift 1031 FloatingPointLiteral Shift 1031 LongLiteral Shift 1031 IntegerLiteral Shift 1031 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 UnaryExpression Goto 1032 MultiplicativeExpression Goto 104 SwitchExpression Goto 1032 PostfixExpression Goto 464 CastExpression Goto 1032 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1041 BooleanLiteral Goto 1031 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 903 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1031 ClassInstanceCreationExpression Goto 1040 FieldAccess Goto 1039 MethodInvocation Goto 1038 ArrayAccess Goto 1037 LambdaExpression Goto 1036 ReferenceExpression Goto 1035 PostIncrementExpression Goto 1034 PostDecrementExpression Goto 1033 PreIncrementExpression Goto 1032 PreDecrementExpression Goto 1032 UnaryExpressionNotPlusMinus Goto 1032 AdditiveExpression Goto 600 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 378 ---------------------------------------------------------------------- ( 163 237 294 ) AdditiveExpression_NotName ::= Name MINUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 904 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 905 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 Mon Oct 4 09:57:22 2021 Page 906 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1042 true Shift 1042 null Shift 1042 StringLiteral Shift 1042 CharacterLiteral Shift 1042 DoubleLiteral Shift 1042 FloatingPointLiteral Shift 1042 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 907 LongLiteral Shift 1042 IntegerLiteral Shift 1042 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 PreIncrementExpression Goto 601 PreDecrementExpression Goto 601 UnaryExpressionNotPlusMinus Goto 601 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1051 PostDecrementExpression Goto 1050 PostfixExpression Goto 464 Literal Goto 1042 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1049 FieldAccess Goto 1048 PrimitiveType Goto 95 MethodInvocation Goto 1047 ArrayAccess Goto 1046 LambdaExpression Goto 1045 ReferenceExpression Goto 1044 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1042 ArrayCreationWithoutArrayInitializer Goto 1043 SwitchExpression Goto 601 CastExpression Goto 601 UnaryExpression Goto 601 MultiplicativeExpression Goto 601 boolean Reduce 71 byte Reduce 71 char Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 908 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 379 ---------------------------------------------------------------------- ( 163 237 294 ) AdditiveExpression_NotName ::= Name PLUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 909 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 910 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 Mon Oct 4 09:57:22 2021 Page 911 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1042 true Shift 1042 null Shift 1042 StringLiteral Shift 1042 CharacterLiteral Shift 1042 DoubleLiteral Shift 1042 FloatingPointLiteral Shift 1042 LongLiteral Shift 1042 IntegerLiteral Shift 1042 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 PreIncrementExpression Goto 602 PreDecrementExpression Goto 602 UnaryExpressionNotPlusMinus Goto 602 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1051 PostDecrementExpression Goto 1050 PostfixExpression Goto 464 Literal Goto 1042 PushLPAREN Goto 101 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 912 ClassInstanceCreationExpression Goto 1049 FieldAccess Goto 1048 PrimitiveType Goto 95 MethodInvocation Goto 1047 ArrayAccess Goto 1046 LambdaExpression Goto 1045 ReferenceExpression Goto 1044 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1042 ArrayCreationWithoutArrayInitializer Goto 1043 SwitchExpression Goto 602 CastExpression Goto 602 UnaryExpression Goto 602 MultiplicativeExpression Goto 602 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 380 ---------------------------------------------------------------------- ( 163 237 294 ) MultiplicativeExpression_NotName ::= Name REMAINDER .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 913 Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 914 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 915 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 916 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 766 PostfixExpression Goto 464 CastExpression Gt/Rd 766 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 917 PreIncrementExpression Gt/Rd 766 PreDecrementExpression Gt/Rd 766 UnaryExpressionNotPlusMinus Gt/Rd 766 UnaryExpression Gt/Rd 766 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 381 ---------------------------------------------------------------------- ( 163 237 294 ) MultiplicativeExpression_NotName ::= Name DIVIDE .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 918 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 919 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 PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 920 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 764 PostfixExpression Goto 464 CastExpression Gt/Rd 764 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 921 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 764 PreDecrementExpression Gt/Rd 764 UnaryExpressionNotPlusMinus Gt/Rd 764 UnaryExpression Gt/Rd 764 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 382 ---------------------------------------------------------------------- ( 163 237 294 ) MultiplicativeExpression_NotName ::= Name MULTIPLY .UnaryExpression Literal ::= .IntegerLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 922 Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 923 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 924 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 925 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 SwitchExpression Gt/Rd 762 PostfixExpression Goto 464 CastExpression Gt/Rd 762 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 926 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 762 PreDecrementExpression Gt/Rd 762 UnaryExpressionNotPlusMinus Gt/Rd 762 UnaryExpression Gt/Rd 762 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 383 ---------------------------------------------------------------------- ( 164 ) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION . Expression COLON ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 927 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 928 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 Mon Oct 4 09:57:22 2021 Page 929 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 930 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 931 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 603 boolean Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 932 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 384 ---------------------------------------------------------------------- ( 164 ) ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName OR_OR . ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 933 SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 934 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 UnaryExpressionNotPlusMinus ::= .PostfixExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 935 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 936 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1107 true Shift 1107 null Shift 1107 StringLiteral Shift 1107 CharacterLiteral Shift 1107 DoubleLiteral Shift 1107 FloatingPointLiteral Shift 1107 LongLiteral Shift 1107 IntegerLiteral Shift 1107 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1108 MultiplicativeExpression Goto 104 SwitchExpression Goto 1108 PostfixExpression Goto 464 CastExpression Goto 1108 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1117 BooleanLiteral Goto 1107 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 937 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1107 ClassInstanceCreationExpression Goto 1116 FieldAccess Goto 1115 MethodInvocation Goto 1114 ArrayAccess Goto 1113 LambdaExpression Goto 1112 ReferenceExpression Goto 1111 PostIncrementExpression Goto 1110 PostDecrementExpression Goto 1109 PreIncrementExpression Goto 1108 PreDecrementExpression Goto 1108 UnaryExpressionNotPlusMinus Goto 1108 ConditionalAndExpression Goto 604 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 385 ---------------------------------------------------------------------- ( 165 ) FieldDeclaration ::= Modifiersopt Type .VariableDeclarators SEMICOLON VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 504 VariableDeclaratorId Goto 505 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 938 VariableDeclarator Goto 558 VariableDeclarators Goto 558 STATE 386 ---------------------------------------------------------------------- ( 167 ) CatchHeader ::= catch LPAREN .CatchFormalParameter RPAREN LBRACE Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation CatchFormalParameter ::= .Modifiersopt CatchType VariableDeclaratorId Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 939 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 606 CatchFormalParameter Goto 605 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 387 ---------------------------------------------------------------------- ( 169 ) EnumConstantHeader ::= EnumConstantHeaderName ForceNoDiet .Argumentsopt RestoreDiet Arguments ::= .LPAREN ArgumentListopt RPAREN Argumentsopt ::= . (677) LPAREN Shift 608 Arguments Goto 607 Argumentsopt Goto 607 abstract Reduce 677 final Reduce 677 native 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 LBRACE Reduce 677 RBRACE Reduce 677 SEMICOLON Reduce 677 COMMA Reduce 677 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 940 AT Reduce 677 $eof Reduce 677 Default reduction to rule 677 STATE 388 ---------------------------------------------------------------------- ( 170 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 252 MethodHeaderRightParen Goto 609 STATE 389 ---------------------------------------------------------------------- ( 171 ) RecoveryMethodHeaderName ::= ModifiersWithDefault Type .Identifier LPAREN Identifier Shift 610 STATE 390 ---------------------------------------------------------------------- ( 171 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 941 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 ::= . (71) 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 22 Identifier Shift 970 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 611 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 611 Type Goto 611 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 942 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 391 ---------------------------------------------------------------------- ( 172 ) ArrayCreationHeader ::= new PrimitiveType .DimWithOrWithOutExprs TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 22 TypeAnnotationsopt Goto 473 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 473 DimWithOrWithOutExpr Gt/Rd 519 DimWithOrWithOutExprs Goto 612 LBRACKET Reduce 71 Default reduction to rule 71 STATE 392 ---------------------------------------------------------------------- ( 172 ) AllocationHeader ::= new ClassType .LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 943 LPAREN Shift 613 STATE 393 ---------------------------------------------------------------------- ( 172 ) ClassType ::= ClassOrInterfaceType . (62) ArrayCreationHeader ::= new ClassOrInterfaceType .DimWithOrWithOutExprs TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 22 TypeAnnotationsopt Goto 473 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 473 DimWithOrWithOutExpr Gt/Rd 519 DimWithOrWithOutExprs Goto 614 LPAREN Reduce 62 LBRACKET Reduce 71 Default reduction to rule 62 STATE 394 ---------------------------------------------------------------------- ( 173 ) RecoveryMethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 944 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 ::= . (71) 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 22 Identifier Shift 970 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 615 GenericType Goto 87 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 945 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 615 Type Goto 615 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 395 ---------------------------------------------------------------------- ( 173 185 ) 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 Identifier Shift 616 VariableDeclaratorId Goto 505 VariableDeclarator Goto 558 VariableDeclarators Goto 558 STATE 396 ---------------------------------------------------------------------- ( 173 185 413 ) ModuleHeader ::= Modifiersopt ModuleModifieropt .module UnannotatableName module Shift 617 STATE 397 ---------------------------------------------------------------------- ( 173 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 946 SimpleName ::= Identifier . (66) EnumConstantHeaderName ::= Modifiersopt Identifier . (672) abstract Reduce 672 final Reduce 672 native 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 LPAREN Reduce 672 AT Reduce 672 $eof Reduce 672 Identifier Reduce 63 LESS Reduce 63 LBRACKET Reduce 63 DOT Reduce 63 AT308 Reduce 63 Default reduction to rule 672 STATE 398 ---------------------------------------------------------------------- ( 175 ) SingleRequiresModuleName ::= requires RequiresModifiersopt .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 618 SimpleName Goto 618 UnannotatableName Goto 618 STATE 399 ---------------------------------------------------------------------- ( 175 ) RequiresModifiersopt ::= RequiresModifiers . (116) RequiresModifiers ::= RequiresModifiers .RequiresModifier static Sh/Rd 119 transitive Sh/Rd 119 RequiresModifier Gt/Rd 119 Identifier Reduce 116 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 947 Default reduction to rule 116 STATE 400 ---------------------------------------------------------------------- ( 176 ) ExportsStatement ::= ExportsHeader TargetModuleListopt .SEMICOLON SEMICOLON Sh/Rd 122 STATE 401 ---------------------------------------------------------------------- ( 176 182 ) TargetModuleListopt ::= to .TargetModuleNameList SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName TargetModuleName ::= .UnannotatableName TargetModuleNameList ::= .TargetModuleNameList COMMA TargetModuleName Identifier Shift 1130 UnannotatableName Goto 620 SimpleName Goto 1130 TargetModuleName Goto 619 TargetModuleNameList Goto 619 STATE 402 ---------------------------------------------------------------------- ( 177 183 ) UnannotatableName ::= UnannotatableName .DOT SimpleName SinglePkgName ::= UnannotatableName . (129) DOT Shift 416 to Reduce 129 SEMICOLON Reduce 129 Default reduction to rule 129 STATE 403 ---------------------------------------------------------------------- ( 179 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName UsesHeader ::= uses Name . (133) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 948 DOT Shift 423 SEMICOLON Reduce 133 Default reduction to rule 133 STATE 404 ---------------------------------------------------------------------- ( 180 ) ProvidesStatement ::= ProvidesInterface WithClause .SEMICOLON SEMICOLON Sh/Rd 134 STATE 405 ---------------------------------------------------------------------- ( 180 ) 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 22 Identifier Shift 970 Name Goto 622 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 949 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 1131 ServiceImplName Goto 621 ServiceImplNameList Goto 621 STATE 406 ---------------------------------------------------------------------- ( 181 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName ProvidesInterface ::= provides Name . (135) DOT Shift 423 with Reduce 135 Default reduction to rule 135 STATE 407 ---------------------------------------------------------------------- ( 182 ) OpensStatement ::= OpensHeader TargetModuleListopt .SEMICOLON SEMICOLON Sh/Rd 130 STATE 408 ---------------------------------------------------------------------- ( 185 ) 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 ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 950 ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 557 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 615 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 615 Type Goto 615 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 951 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 409 ---------------------------------------------------------------------- ( 186 ) Initializer ::= Diet NestedMethod .CreateInitializer Block CreateInitializer ::= . (218) CreateInitializer Goto 623 LBRACE Reduce 218 Default reduction to rule 218 STATE 410 ---------------------------------------------------------------------- ( 187 ) MethodBody ::= NestedMethod LBRACE .BlockStatementsopt RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 952 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 953 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 954 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 Mon Oct 4 09:57:22 2021 Page 955 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 956 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 ::= . (637) Modifiersopt ::= .Modifiers BlockStatementsopt ::= . (639) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 957 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 yield Shift 40 try Shift 41 throw Shift 42 return Shift 44 continue Shift 45 break Shift 46 do Shift 47 switch Shift 48 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 BeginLambda Shift 56 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 super Shift 65 this Shift 67 LESS Shift 25 SEMICOLON Sh/Rd 366 assert Shift 70 if Shift 72 while Shift 73 for Shift 75 strictfp Shift 934 volatile Shift 934 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 958 transient Shift 934 synchronized Shift 78 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 protected Shift 934 public Shift 934 AT Shift 79 AT308 Shift 22 Identifier Shift 84 BlockStatement Gt/Rd 322 BlockStatements Goto 91 LocalVariableDeclaration Goto 90 PrimitiveType Goto 89 ReferenceType Goto 77 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 943 Name Goto 85 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 82 Modifier Goto 934 Modifiers Goto 81 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Type Goto 77 StatementWithoutTrailingSubstatement Goto 944 LabeledStatement Goto 944 IfThenStatement Goto 944 IfThenElseStatement Goto 944 WhileStatement Goto 944 ForStatement Goto 944 EnhancedForStatement Goto 944 EnhancedForStatementHeaderInit Goto 76 EnhancedForStatementHeader Goto 74 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 959 Label Goto 71 OpenBlock Goto 69 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OnlyTypeArguments Goto 66 Primary Goto 64 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 941 BooleanLiteral Goto 935 ClassInstanceCreationExpressionName Goto 59 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 Literal Goto 935 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 54 FieldAccess Goto 940 MethodInvocation Goto 53 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 OnlySynchronized Goto 43 AssertStatement Goto 944 Block Goto 944 EmptyStatement Goto 944 ExpressionStatement Goto 944 SwitchStatement Goto 944 DoStatement Goto 944 BreakStatement Goto 944 ContinueStatement Goto 944 ReturnStatement Goto 944 SynchronizedStatement Goto 944 ThrowStatement Goto 944 TryStatement Goto 944 TryStatementWithResources Goto 944 YieldStatement Goto 944 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 AnnotationTypeDeclarationHeader Goto 32 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 960 AnnotationTypeDeclarationHeaderName Goto 31 EnumHeader Goto 30 EnumHeaderName Goto 29 LocalVariableDeclarationStatement Goto 944 Statement Goto 944 ClassDeclaration Goto 944 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 BlockStatementsopt Goto 624 RBRACE Reduce 639 class Reduce 637 enum Reduce 637 interface Reduce 637 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 411 ---------------------------------------------------------------------- ( 188 ) InternalCompilationUnit ::= PackageDeclaration . (89) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 961 Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 962 SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 182 import Shift 142 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 AT Shift 79 ClassDeclaration Goto 626 InterfaceDeclaration Goto 626 EnumDeclaration Goto 626 AnnotationTypeDeclaration Goto 626 AnnotationTypeDeclarationHeaderName Goto 31 Modifiers Goto 123 AnnotationTypeDeclarationHeader Goto 32 EnumHeaderName Goto 29 Modifiersopt Goto 37 EnumHeader Goto 30 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 InterfaceHeader Goto 35 ClassHeaderName Goto 36 Modifier Goto 958 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 ClassHeaderName1 Goto 38 ClassHeader Goto 39 TypeDeclaration Goto 626 TypeDeclarations Goto 626 SingleTypeImportDeclaration Goto 625 TypeImportOnDemandDeclaration Goto 625 SingleStaticImportDeclaration Goto 625 StaticImportOnDemandDeclaration Goto 625 StaticImportOnDemandDeclarationName Goto 139 SingleStaticImportDeclarationName Goto 140 TypeImportOnDemandDeclarationName Goto 141 SingleTypeImportDeclarationName Goto 143 ImportDeclaration Goto 625 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 963 ImportDeclarations Goto 625 $eof Reduce 89 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 637 STATE 412 ---------------------------------------------------------------------- ( 188 628 ) ModuleDeclaration ::= ModuleHeader .ModuleBody ModuleBody ::= .LBRACE ModuleStatementsOpt RBRACE LBRACE Shift 627 ModuleBody Gt/Rd 99 STATE 413 ---------------------------------------------------------------------- ( 188 628 ) ModuleHeader ::= Modifiersopt .ModuleModifieropt module UnannotatableName ClassHeaderName1 ::= Modifiersopt .class Identifier InterfaceHeaderName1 ::= Modifiersopt .interface Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters ModuleModifieropt ::= . (101) ModuleModifieropt ::= .ModuleModifier ModuleModifier ::= .open enum Shift 217 interface Shift 218 class Shift 219 open Shift 986 ModuleModifier Gt/Rd 102 ModuleModifieropt Goto 396 module Reduce 101 Default reduction to rule 101 STATE 414 ---------------------------------------------------------------------- ( 188 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 964 InternalCompilationUnit ::= TypeDeclarations . (94) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 965 NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 182 AT Shift 79 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiers Goto 123 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 ClassDeclaration Gt/Rd 167 InterfaceDeclaration Gt/Rd 167 EnumDeclaration Gt/Rd 167 AnnotationTypeDeclaration Gt/Rd 167 TypeDeclaration Gt/Rd 167 $eof Reduce 94 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 637 STATE 415 ---------------------------------------------------------------------- ( 188 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 966 InternalCompilationUnit ::= ImportDeclarations .ReduceImports InternalCompilationUnit ::= ImportDeclarations .ReduceImports TypeDeclarations InternalCompilationUnit ::= ImportDeclarations .ReduceImports ModuleDeclaration ImportDeclarations ::= ImportDeclarations .ImportDeclaration ReduceImports ::= . (140) 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 142 SingleTypeImportDeclarationName Goto 143 TypeImportOnDemandDeclarationName Goto 141 SingleStaticImportDeclarationName Goto 140 StaticImportOnDemandDeclarationName Goto 139 SingleTypeImportDeclaration Gt/Rd 165 TypeImportOnDemandDeclaration Gt/Rd 165 SingleStaticImportDeclaration Gt/Rd 165 StaticImportOnDemandDeclaration Gt/Rd 165 ReduceImports Goto 628 ImportDeclaration Gt/Rd 165 abstract Reduce 140 class Reduce 140 enum Reduce 140 final Reduce 140 interface Reduce 140 native Reduce 140 private Reduce 140 protected Reduce 140 public Reduce 140 static Reduce 140 strictfp Reduce 140 synchronized Reduce 140 transient Reduce 140 volatile Reduce 140 module Reduce 140 open Reduce 140 SEMICOLON Reduce 140 AT Reduce 140 $eof Reduce 140 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 967 Default reduction to rule 140 STATE 416 ---------------------------------------------------------------------- ( 189 270 402 618 620 744 ) UnannotatableName ::= UnannotatableName DOT .SimpleName Identifier Sh/Rd 68 SimpleName Gt/Rd 68 STATE 417 ---------------------------------------------------------------------- ( 190 ) SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN RPAREN Sh/Rd 82 STATE 418 ---------------------------------------------------------------------- ( 190 ) NormalTypeAnnotation ::= TypeAnnotationName LPAREN MemberValuePairsopt .RPAREN RPAREN Sh/Rd 80 STATE 419 ---------------------------------------------------------------------- ( 190 271 ) MemberValuePairsopt ::= MemberValuePairs . (844) MemberValuePairs ::= MemberValuePairs .COMMA MemberValuePair COMMA Shift 629 RPAREN Reduce 844 Default reduction to rule 844 STATE 420 ---------------------------------------------------------------------- ( 190 271 ) Name ::= SimpleName . (63) MemberValuePair ::= SimpleName .EQUAL EnterMemberValue MemberValue ExitMemberValue IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 968 EQUAL Shift 630 instanceof Reduce 63 PLUS_PLUS Reduce 63 MINUS_MINUS Reduce 63 EQUAL_EQUAL Reduce 63 LESS_EQUAL Reduce 63 GREATER_EQUAL Reduce 63 NOT_EQUAL Reduce 63 LEFT_SHIFT Reduce 63 RIGHT_SHIFT Reduce 63 UNSIGNED_RIGHT_SHIFT Reduce 63 OR_OR Reduce 63 AND_AND Reduce 63 PLUS Reduce 63 MINUS Reduce 63 REMAINDER Reduce 63 XOR Reduce 63 AND Reduce 63 MULTIPLY Reduce 63 OR Reduce 63 DIVIDE Reduce 63 GREATER Reduce 63 LESS Reduce 63 LPAREN Reduce 63 RPAREN Reduce 63 LBRACKET Reduce 63 QUESTION Reduce 63 DOT Reduce 63 COLON_COLON Reduce 63 BeginTypeArguments Reduce 63 AT308 Reduce 63 Default reduction to rule 63 STATE 421 ---------------------------------------------------------------------- ( 191 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 969 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 ::= . (71) 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 22 Identifier Shift 970 TypeAnnotationsopt Goto 196 ReferenceType Goto 192 Wildcard Gt/Rd 696 ClassOrInterface Goto 193 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 970 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 972 ReferenceType1 Gt/Rd 694 Wildcard1 Gt/Rd 694 TypeArgument1 Gt/Rd 694 TypeArgument Gt/Rd 696 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 QUESTION Reduce 71 Default reduction to rule 71 STATE 422 ---------------------------------------------------------------------- ( 193 ) 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 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 Mon Oct 4 09:57:22 2021 Page 971 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 56 AT308 Shift 22 Identifier Shift 970 ReferenceType2 Gt/Rd 702 Wildcard2 Gt/Rd 702 TypeAnnotationsopt Goto 634 ReferenceType Goto 633 ClassOrInterface Goto 632 TypeArgument2 Gt/Rd 702 TypeArgumentList Goto 631 ReferenceType1 Gt/Rd 691 Wildcard1 Gt/Rd 691 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 972 TypeAnnotations Goto 86 GenericType Goto 87 PrimitiveType Goto 195 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotations0 Goto 24 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 972 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 971 TypeArgument Goto 631 Wildcard Goto 631 TypeArgument1 Gt/Rd 691 TypeArgumentList1 Gt/Rd 691 TypeArgumentList2 Gt/Rd 702 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 QUESTION Reduce 71 Default reduction to rule 71 STATE 423 ---------------------------------------------------------------------- ( 194 202 244 403 406 520 563 622 672 728 ) 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 22 Identifier Sh/Rd 69 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 973 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 SimpleName Gt/Rd 69 TypeAnnotations Goto 517 STATE 424 ---------------------------------------------------------------------- ( 196 ) Wildcard ::= TypeAnnotationsopt QUESTION . (714) Wildcard ::= TypeAnnotationsopt QUESTION .WildcardBounds Wildcard1 ::= TypeAnnotationsopt QUESTION .GREATER Wildcard1 ::= TypeAnnotationsopt QUESTION .WildcardBounds1 WildcardBounds ::= .extends ReferenceType WildcardBounds ::= .super ReferenceType WildcardBounds1 ::= .extends ReferenceType1 WildcardBounds1 ::= .super ReferenceType1 GREATER Sh/Rd 718 super Shift 635 extends Shift 636 WildcardBounds Gt/Rd 715 WildcardBounds1 Gt/Rd 719 COMMA Reduce 714 Default reduction to rule 714 STATE 425 ---------------------------------------------------------------------- ( 197 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 974 DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (641) LBRACKET Shift 199 AT308 Shift 22 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Gt/Rd 472 Dimsopt Gt/Rd 472 COLON_COLON Reduce 641 $eof Reduce 641 Default reduction to rule 641 STATE 426 ---------------------------------------------------------------------- ( 198 ) OneDimLoop ::= TypeAnnotations LBRACKET .RBRACKET RBRACKET Sh/Rd 527 STATE 427 ---------------------------------------------------------------------- ( 202 ) CastNameAndBounds ::= Name AdditionalBoundList . (569) AdditionalBoundList ::= AdditionalBoundList .AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 428 AdditionalBound Gt/Rd 738 RPAREN Reduce 569 Default reduction to rule 569 STATE 428 ---------------------------------------------------------------------- ( 202 427 527 531 714 716 860 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 975 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 ::= . (71) 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 22 Identifier Shift 970 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 976 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Gt/Rd 739 ReferenceType Gt/Rd 739 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 429 ---------------------------------------------------------------------- ( 205 ) FormalParameterList ::= FormalParameterList COMMA .FormalParameter Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native 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 ::= . (637) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 977 NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 320 FormalParameter Gt/Rd 259 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 430 ---------------------------------------------------------------------- ( 206 ) TypeElidedFormalParameterList ::= TypeElidedFormalParameterList COMMA . TypeElidedFormalParameter Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 978 Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation TypeElidedFormalParameter ::= .Modifiersopt Identifier Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 637 TypeElidedFormalParameter Gt/Rd 491 Identifier Reduce 637 Default reduction to rule 637 STATE 431 ---------------------------------------------------------------------- ( 207 320 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 979 FormalParameter ::= Modifiersopt Type .VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt Type .PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt Type .AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis SimpleName ::= .Identifier UnannotatableName ::= .UnannotatableName DOT SimpleName PushZeroTypeAnnotations ::= . (84) VariableDeclaratorIdOrThis ::= .this VariableDeclaratorIdOrThis ::= .UnannotatableName DOT this VariableDeclaratorIdOrThis ::= .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt AT308DOTDOTDOT Shift 638 this Sh/Rd 85 Identifier Shift 640 SimpleName Goto 641 UnannotatableName Goto 641 VariableDeclaratorId Gt/Rd 87 VariableDeclaratorIdOrThis Gt/Rd 260 PushZeroTypeAnnotations Goto 639 ELLIPSIS Reduce 84 Default reduction to rule 84 STATE 432 ---------------------------------------------------------------------- ( 207 ) SimpleName ::= Identifier . (66) TypeElidedFormalParameter ::= Modifiersopt Identifier . (492) RPAREN Reduce 492 COMMA Reduce 492 Identifier Reduce 63 this Reduce 63 LESS Reduce 63 LBRACKET Reduce 63 DOT Reduce 63 ELLIPSIS Reduce 63 AT308 Reduce 63 AT308DOTDOTDOT Reduce 63 Default reduction to rule 66 STATE 433 ---------------------------------------------------------------------- ( 208 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 980 ClassHeaderImplements ::= implements InterfaceTypeList . (205) InterfaceTypeList ::= InterfaceTypeList .COMMA InterfaceType COMMA Shift 642 abstract Reduce 205 final Reduce 205 native Reduce 205 private Reduce 205 protected Reduce 205 public Reduce 205 static Reduce 205 strictfp Reduce 205 synchronized Reduce 205 transient Reduce 205 volatile Reduce 205 LBRACE Reduce 205 AT Reduce 205 $eof Reduce 205 Default reduction to rule 205 STATE 434 ---------------------------------------------------------------------- ( 209 ) EnumBody ::= LBRACE COMMA .EnumBodyDeclarationsopt RBRACE EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (680) SEMICOLON Shift 436 EnumDeclarations Goto 643 EnumBodyDeclarationsopt Goto 643 RBRACE Reduce 680 Default reduction to rule 680 STATE 435 ---------------------------------------------------------------------- ( 209 ) EnumBody ::= LBRACE EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 666 STATE 436 ---------------------------------------------------------------------- ( 209 434 437 645 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 981 EnumDeclarations ::= SEMICOLON .ClassBodyDeclarationsopt ClassBodyDeclarationsopt ::= . (635) ClassBodyDeclarationsopt ::= .NestedType ClassBodyDeclarations NestedType ::= . (653) NestedType Goto 450 ClassBodyDeclarationsopt Gt/Rd 679 RBRACE Reduce 635 Identifier Reduce 653 abstract Reduce 653 boolean Reduce 653 byte Reduce 653 char Reduce 653 class Reduce 653 default Reduce 653 double Reduce 653 enum Reduce 653 final Reduce 653 float Reduce 653 int Reduce 653 interface Reduce 653 long Reduce 653 native Reduce 653 private Reduce 653 protected Reduce 653 public Reduce 653 short Reduce 653 static Reduce 653 strictfp Reduce 653 synchronized Reduce 653 transient Reduce 653 void Reduce 653 volatile Reduce 653 LESS Reduce 653 LBRACE Reduce 653 SEMICOLON Reduce 653 AT Reduce 653 AT308 Reduce 653 Default reduction to rule 653 STATE 437 ---------------------------------------------------------------------- ( 209 ) EnumBody ::= LBRACE EnumConstants .COMMA EnumBodyDeclarationsopt RBRACE EnumBody ::= LBRACE EnumConstants .EnumBodyDeclarationsopt RBRACE EnumConstants ::= EnumConstants .COMMA EnumConstant IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 982 EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (680) COMMA Shift 645 SEMICOLON Shift 436 EnumDeclarations Goto 644 EnumBodyDeclarationsopt Goto 644 RBRACE Reduce 680 Default reduction to rule 680 STATE 438 ---------------------------------------------------------------------- ( 209 645 ) EnumConstantHeaderName ::= Modifiersopt .Identifier Identifier Sh/Rd 672 STATE 439 ---------------------------------------------------------------------- ( 209 645 ) EnumConstant ::= EnumConstantHeader .ForceNoDiet ClassBody RestoreDiet EnumConstant ::= EnumConstantHeader . (675) ForceNoDiet ::= . (236) ForceNoDiet Goto 646 RBRACE Reduce 675 SEMICOLON Reduce 675 COMMA Reduce 675 LBRACE Reduce 236 Default reduction to rule 675 STATE 440 ---------------------------------------------------------------------- ( 212 ) AnnotationTypeBody ::= LBRACE AnnotationTypeMemberDeclarationsopt .RBRACE RBRACE Sh/Rd 823 STATE 441 ---------------------------------------------------------------------- ( 212 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 983 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 984 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 182 AT Shift 79 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 AnnotationMethodHeader Goto 135 ConstantDeclaration Goto 647 ConstructorDeclaration Goto 647 TypeDeclaration Goto 647 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiersopt Goto 136 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 AnnotationTypeDeclarationHeader Goto 32 Modifiers Goto 123 AnnotationTypeDeclarationHeaderName Goto 31 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 985 ClassDeclaration Goto 647 InterfaceDeclaration Goto 647 EnumDeclaration Goto 647 AnnotationTypeDeclaration Goto 647 ConstructorHeaderName Goto 128 ConstructorHeader Goto 126 FieldDeclaration Goto 647 Modifier Goto 958 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 AnnotationMethodHeaderName Goto 138 AnnotationTypeMemberDeclaration Goto 647 AnnotationTypeMemberDeclarations Goto 647 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 442 ---------------------------------------------------------------------- ( 213 ) InterfaceTypeList ::= InterfaceTypeList .COMMA InterfaceType InterfaceHeaderExtends ::= extends InterfaceTypeList . (293) COMMA Shift 642 abstract Reduce 293 final Reduce 293 native Reduce 293 private Reduce 293 protected Reduce 293 public Reduce 293 static Reduce 293 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 986 strictfp Reduce 293 synchronized Reduce 293 transient Reduce 293 volatile Reduce 293 LBRACE Reduce 293 AT Reduce 293 $eof Reduce 293 Default reduction to rule 293 STATE 443 ---------------------------------------------------------------------- ( 214 ) TypeParameterList ::= TypeParameterList .COMMA TypeParameter TypeParameterList1 ::= TypeParameterList .COMMA TypeParameter1 COMMA Shift 648 STATE 444 ---------------------------------------------------------------------- ( 214 648 ) TypeParameterHeader ::= TypeAnnotationsopt .Identifier Identifier Sh/Rd 730 STATE 445 ---------------------------------------------------------------------- ( 214 648 ) TypeParameter ::= TypeParameterHeader . (734) TypeParameter ::= TypeParameterHeader .extends ReferenceType TypeParameter ::= TypeParameterHeader .extends ReferenceType AdditionalBoundList TypeParameter1 ::= TypeParameterHeader .GREATER TypeParameter1 ::= TypeParameterHeader .extends ReferenceType1 TypeParameter1 ::= TypeParameterHeader .extends ReferenceType AdditionalBoundList1 GREATER Sh/Rd 742 extends Shift 649 COMMA Reduce 734 Default reduction to rule 734 STATE 446 ---------------------------------------------------------------------- ( 215 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 987 InterfaceBody ::= LBRACE InterfaceMemberDeclarationsopt .RBRACE RBRACE Sh/Rd 294 STATE 447 ---------------------------------------------------------------------- ( 215 ) InterfaceMemberDeclarationsopt ::= NestedType .InterfaceMemberDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier Diet ::= . (216) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 988 InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt 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 Modifiersopt ::= . (637) 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 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 private Shift 958 protected Shift 958 public Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 989 static Shift 125 AT Shift 79 SEMICOLON Sh/Rd 297 ConstantDeclaration Goto 650 DefaultMethodHeader Goto 653 MethodHeader Goto 652 AbstractMethodDeclaration Goto 650 InvalidConstructorDeclaration Goto 650 InvalidInitializer Goto 650 ClassDeclaration Goto 650 InterfaceDeclaration Goto 650 EnumDeclaration Goto 650 AnnotationTypeDeclaration Goto 650 AnnotationTypeDeclarationHeaderName Goto 31 Modifiers Goto 123 AnnotationTypeDeclarationHeader Goto 32 EnumHeaderName Goto 29 Modifiersopt Goto 127 EnumHeader Goto 30 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 InterfaceHeader Goto 35 ClassHeaderName Goto 36 ClassHeaderName1 Goto 38 ClassHeader Goto 39 StaticOnly Goto 124 Diet Goto 186 StaticInitializer Goto 650 Initializer Goto 650 ConstructorHeaderName Goto 128 ConstructorHeader Goto 651 MethodHeaderName Goto 118 ModifiersWithDefault Goto 120 DefaultMethodHeaderName Goto 119 Modifier Goto 958 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 FieldDeclaration Goto 650 InterfaceMemberDeclaration Goto 650 InterfaceMemberDeclarations Goto 650 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 default Reduce 637 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 990 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 LBRACE Reduce 216 Default reduction to rule 637 STATE 448 ---------------------------------------------------------------------- ( 217 ) EnumHeaderName ::= Modifiersopt enum Identifier . (664) EnumHeaderName ::= Modifiersopt enum Identifier .TypeParameters TypeParameters ::= .LESS TypeParameterList1 LESS Shift 214 TypeParameters Gt/Rd 665 abstract Reduce 664 final Reduce 664 implements Reduce 664 native 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 LBRACE Reduce 664 AT Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 449 ---------------------------------------------------------------------- ( 220 ) ClassBody ::= LBRACE ClassBodyDeclarationsopt .RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 991 RBRACE Sh/Rd 209 STATE 450 ---------------------------------------------------------------------- ( 220 436 ) ClassBodyDeclarationsopt ::= NestedType .ClassBodyDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 ::= . (216) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 992 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 225 strictfp Shift 958 volatile Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 993 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 private Shift 958 protected Shift 958 public Shift 958 AT Shift 79 static Shift 125 ClassMemberDeclaration Goto 959 StaticInitializer Goto 959 ConstructorDeclaration Goto 959 Diet Goto 129 ConstructorHeaderName Goto 128 Modifiersopt Goto 127 ConstructorHeader Goto 126 StaticOnly Goto 124 Modifier Goto 958 Modifiers Goto 123 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 AbstractMethodDeclaration Goto 959 MethodHeader Goto 122 DefaultMethodHeader Goto 121 ModifiersWithDefault Goto 120 DefaultMethodHeaderName Goto 119 MethodHeaderName Goto 118 ClassHeader Goto 39 ClassHeaderName1 Goto 38 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 FieldDeclaration Goto 959 MethodDeclaration Goto 959 ClassDeclaration Goto 959 InterfaceDeclaration Goto 959 EnumDeclaration Goto 959 AnnotationTypeDeclaration Goto 959 ClassBodyDeclaration Gt/Rd 210 ClassBodyDeclarations Goto 654 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 994 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 default Reduce 637 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 LBRACE Reduce 216 Default reduction to rule 637 STATE 451 ---------------------------------------------------------------------- ( 222 ) TryStatementWithResources ::= try ResourceSpecification TryBlock .Catchesopt TryStatementWithResources ::= try ResourceSpecification TryBlock .Catchesopt Finally Catches ::= .CatchClause Catches ::= .Catches CatchClause CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block Catchesopt ::= . (660) Catchesopt ::= .Catches catch Shift 453 CatchClause Goto 1132 Catches Goto 656 Catchesopt Goto 655 Identifier Reduce 660 abstract Reduce 660 assert Reduce 660 boolean Reduce 660 break Reduce 660 byte Reduce 660 case Reduce 660 char Reduce 660 class Reduce 660 continue Reduce 660 default Reduce 660 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 995 do Reduce 660 double Reduce 660 else Reduce 660 enum Reduce 660 false Reduce 660 final Reduce 660 finally Reduce 660 float Reduce 660 for Reduce 660 if Reduce 660 int Reduce 660 interface Reduce 660 long Reduce 660 native Reduce 660 new Reduce 660 null Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 return Reduce 660 short Reduce 660 static Reduce 660 strictfp Reduce 660 super Reduce 660 switch Reduce 660 synchronized Reduce 660 this Reduce 660 throw Reduce 660 transient Reduce 660 true Reduce 660 try Reduce 660 void Reduce 660 volatile Reduce 660 while Reduce 660 yield Reduce 660 IntegerLiteral Reduce 660 LongLiteral Reduce 660 FloatingPointLiteral Reduce 660 DoubleLiteral Reduce 660 CharacterLiteral Reduce 660 StringLiteral Reduce 660 PLUS_PLUS Reduce 660 MINUS_MINUS Reduce 660 LESS Reduce 660 LPAREN Reduce 660 LBRACE Reduce 660 RBRACE Reduce 660 SEMICOLON Reduce 660 AT Reduce 660 BeginLambda Reduce 660 AT308 Reduce 660 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 996 $eof Reduce 660 Default reduction to rule 660 STATE 452 ---------------------------------------------------------------------- ( 223 ) TryStatement ::= try TryBlock Catchesopt .Finally Finally ::= .finally Block finally Shift 657 Finally Gt/Rd 429 STATE 453 ---------------------------------------------------------------------- ( 223 451 454 656 ) CatchClause ::= catch .LPAREN CatchFormalParameter RPAREN Block LPAREN Shift 658 STATE 454 ---------------------------------------------------------------------- ( 223 ) TryStatement ::= try TryBlock Catches . (428) Catches ::= Catches .CatchClause Catchesopt ::= Catches . (661) CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block catch Shift 453 CatchClause Gt/Rd 446 finally Reduce 661 Identifier Reduce 428 abstract Reduce 428 assert Reduce 428 boolean Reduce 428 break Reduce 428 byte Reduce 428 case Reduce 428 char Reduce 428 class Reduce 428 continue Reduce 428 default Reduce 428 do Reduce 428 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 997 double Reduce 428 else Reduce 428 enum Reduce 428 false Reduce 428 final Reduce 428 float Reduce 428 for Reduce 428 if Reduce 428 int Reduce 428 interface Reduce 428 long Reduce 428 native Reduce 428 new Reduce 428 null Reduce 428 private Reduce 428 protected Reduce 428 public Reduce 428 return Reduce 428 short Reduce 428 static Reduce 428 strictfp Reduce 428 super Reduce 428 switch Reduce 428 synchronized Reduce 428 this Reduce 428 throw Reduce 428 transient Reduce 428 true Reduce 428 try Reduce 428 void Reduce 428 volatile Reduce 428 while Reduce 428 yield Reduce 428 IntegerLiteral Reduce 428 LongLiteral Reduce 428 FloatingPointLiteral Reduce 428 DoubleLiteral Reduce 428 CharacterLiteral Reduce 428 StringLiteral Reduce 428 PLUS_PLUS Reduce 428 MINUS_MINUS Reduce 428 LESS Reduce 428 LPAREN Reduce 428 LBRACE Reduce 428 RBRACE Reduce 428 SEMICOLON Reduce 428 AT Reduce 428 BeginLambda Reduce 428 AT308 Reduce 428 $eof Reduce 428 Default reduction to rule 428 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 998 STATE 455 ---------------------------------------------------------------------- ( 225 ) ResourceSpecification ::= LPAREN Resources .;opt RPAREN Resources ::= Resources .TrailingSemiColon Resource ;opt ::= . (434) ;opt ::= .SEMICOLON TrailingSemiColon ::= .SEMICOLON SEMICOLON Shift 661 ;opt Goto 660 TrailingSemiColon Goto 659 RPAREN Reduce 434 Default reduction to rule 434 STATE 456 ---------------------------------------------------------------------- ( 225 659 ) 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 291 COLON_COLON Shift 253 STATE 457 ---------------------------------------------------------------------- ( 225 659 ) Resource ::= FieldAccess . (442) PrimaryNoNewArray ::= FieldAccess . (459) LBRACKET Reduce 459 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 999 DOT Reduce 451 COLON_COLON Reduce 451 RPAREN Reduce 442 SEMICOLON Reduce 442 Default reduction to rule 459 STATE 458 ---------------------------------------------------------------------- ( 225 659 ) ClassOrInterface ::= Name . (53) ArrayType ::= Name .Dims QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName Resource ::= Name . (441) 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 Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (641) Dimsopt ::= .Dims LPAREN Shift 275 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1000 BeginTypeArguments Shift 276 DOT Shift 289 LBRACKET Shift 279 AT308 Shift 22 Dims Goto 280 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Goto 277 RPAREN Reduce 441 SEMICOLON Reduce 441 Identifier Reduce 53 LESS Reduce 53 COLON_COLON Reduce 641 Default reduction to rule 441 STATE 459 ---------------------------------------------------------------------- ( 225 659 ) 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 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 Mon Oct 4 09:57:22 2021 Page 1001 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 186 volatile Sh/Rd 186 transient Sh/Rd 186 synchronized Sh/Rd 186 native Sh/Rd 186 final Sh/Rd 186 abstract Sh/Rd 186 static Sh/Rd 186 private Sh/Rd 186 protected Sh/Rd 186 public Sh/Rd 186 AT Shift 130 Identifier Shift 970 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1002 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 662 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 662 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Modifier Gt/Rd 186 Type Goto 662 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 460 ---------------------------------------------------------------------- ( 225 659 ) Resource ::= Type .PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization PushModifiers ::= . (336) PushModifiers Goto 663 Identifier Reduce 336 Default reduction to rule 336 STATE 461 ---------------------------------------------------------------------- ( 227 ) SynchronizedStatement ::= OnlySynchronized LPAREN Expression .RPAREN Block IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1003 RPAREN Shift 664 STATE 462 ---------------------------------------------------------------------- ( 231 ) DoStatement ::= do Statement while .LPAREN Expression RPAREN SEMICOLON LPAREN Shift 665 STATE 463 ---------------------------------------------------------------------- ( 233 ) SwitchStatement ::= switch LPAREN Expression .RPAREN OpenBlock SwitchBlock RPAREN Shift 666 STATE 464 ---------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 316 317 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 384 532 717 720 734 735 807 859 862 895 925 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS UnaryExpressionNotPlusMinus ::= PostfixExpression . (556) MINUS_MINUS Sh/Rd 547 PLUS_PLUS Sh/Rd 546 abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1004 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 AT Reduce 556 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 465 ---------------------------------------------------------------------- ( 239 ) LambdaBody ::= ElidedLeftBraceAndReturn .Expression ElidedSemicolonAndRightBrace Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 1005 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1006 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 Mon Oct 4 09:57:22 2021 Page 1007 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 Mon Oct 4 09:57:22 2021 Page 1008 RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1009 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1010 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 667 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 466 ---------------------------------------------------------------------- ( 240 ) MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 668 STATE 467 ---------------------------------------------------------------------- ( 240 ) FieldAccess ::= QualifiedSuperReceiver DOT Identifier . (530) MethodInvocation ::= QualifiedSuperReceiver DOT Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 669 abstract Reduce 530 final Reduce 530 instanceof Reduce 530 native Reduce 530 private Reduce 530 protected Reduce 530 public Reduce 530 static Reduce 530 strictfp Reduce 530 synchronized Reduce 530 transient Reduce 530 volatile Reduce 530 PLUS_PLUS Reduce 530 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1011 MINUS_MINUS Reduce 530 EQUAL_EQUAL Reduce 530 LESS_EQUAL Reduce 530 GREATER_EQUAL Reduce 530 NOT_EQUAL Reduce 530 LEFT_SHIFT Reduce 530 RIGHT_SHIFT Reduce 530 UNSIGNED_RIGHT_SHIFT 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 OR_OR Reduce 530 AND_AND Reduce 530 PLUS Reduce 530 MINUS Reduce 530 REMAINDER Reduce 530 XOR Reduce 530 AND Reduce 530 MULTIPLY Reduce 530 OR Reduce 530 DIVIDE Reduce 530 GREATER Reduce 530 LESS Reduce 530 RPAREN Reduce 530 RBRACE Reduce 530 LBRACKET Reduce 530 RBRACKET Reduce 530 SEMICOLON Reduce 530 QUESTION Reduce 530 COLON Reduce 530 COMMA Reduce 530 DOT Reduce 530 EQUAL Reduce 530 AT Reduce 530 COLON_COLON Reduce 530 ElidedSemicolonAndRightBrace Reduce 530 BeginCaseExpr Reduce 530 $eof Reduce 530 Default reduction to rule 530 STATE 468 ---------------------------------------------------------------------- ( 241 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1012 ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt .Identifier Identifier Sh/Rd 477 STATE 469 ---------------------------------------------------------------------- ( 242 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (503) EnterInstanceCreationArgumentList Goto 670 LPAREN Reduce 503 Default reduction to rule 503 STATE 470 ---------------------------------------------------------------------- ( 243 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 671 STATE 471 ---------------------------------------------------------------------- ( 245 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1013 TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 22 Identifier Shift 970 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 Name Goto 672 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 672 STATE 472 ---------------------------------------------------------------------- ( 246 ) ArrayCreationWithoutArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs . (515) ArrayCreationWithArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs .ArrayInitializer DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 116 AT308 Shift 22 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1014 TypeAnnotations Goto 473 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 473 ArrayInitializer Gt/Rd 516 DimWithOrWithOutExpr Gt/Rd 520 abstract Reduce 515 final Reduce 515 instanceof Reduce 515 native Reduce 515 private Reduce 515 protected Reduce 515 public Reduce 515 static Reduce 515 strictfp Reduce 515 synchronized Reduce 515 transient Reduce 515 volatile Reduce 515 PLUS_PLUS Reduce 515 MINUS_MINUS Reduce 515 EQUAL_EQUAL Reduce 515 LESS_EQUAL Reduce 515 GREATER_EQUAL Reduce 515 NOT_EQUAL Reduce 515 LEFT_SHIFT Reduce 515 RIGHT_SHIFT Reduce 515 UNSIGNED_RIGHT_SHIFT Reduce 515 PLUS_EQUAL Reduce 515 MINUS_EQUAL Reduce 515 MULTIPLY_EQUAL Reduce 515 DIVIDE_EQUAL Reduce 515 AND_EQUAL Reduce 515 OR_EQUAL Reduce 515 XOR_EQUAL Reduce 515 REMAINDER_EQUAL Reduce 515 LEFT_SHIFT_EQUAL Reduce 515 RIGHT_SHIFT_EQUAL Reduce 515 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 515 OR_OR Reduce 515 AND_AND Reduce 515 PLUS Reduce 515 MINUS Reduce 515 REMAINDER Reduce 515 XOR Reduce 515 AND Reduce 515 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1015 MULTIPLY Reduce 515 OR Reduce 515 DIVIDE Reduce 515 GREATER Reduce 515 LESS Reduce 515 RPAREN Reduce 515 RBRACE Reduce 515 RBRACKET Reduce 515 SEMICOLON Reduce 515 QUESTION Reduce 515 COLON Reduce 515 COMMA Reduce 515 DOT Reduce 515 EQUAL Reduce 515 AT Reduce 515 COLON_COLON Reduce 515 ElidedSemicolonAndRightBrace Reduce 515 BeginCaseExpr Reduce 515 $eof Reduce 515 LBRACKET Reduce 71 Default reduction to rule 515 STATE 473 ---------------------------------------------------------------------- ( 246 249 391 393 472 476 612 614 ) DimWithOrWithOutExpr ::= TypeAnnotationsopt .LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= TypeAnnotationsopt .LBRACKET RBRACKET LBRACKET Shift 673 STATE 474 ---------------------------------------------------------------------- ( 247 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt LPAREN Shift 674 STATE 475 ---------------------------------------------------------------------- ( 248 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1016 EnterInstanceCreationArgumentList ::= . (503) EnterInstanceCreationArgumentList Goto 675 LPAREN Reduce 503 Default reduction to rule 503 STATE 476 ---------------------------------------------------------------------- ( 249 ) ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs . (517) ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs .ArrayInitializer DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 116 AT308 Shift 22 TypeAnnotations Goto 473 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 473 ArrayInitializer Gt/Rd 518 DimWithOrWithOutExpr Gt/Rd 520 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1017 abstract Reduce 517 final Reduce 517 instanceof Reduce 517 native Reduce 517 private Reduce 517 protected Reduce 517 public Reduce 517 static Reduce 517 strictfp Reduce 517 synchronized Reduce 517 transient Reduce 517 volatile Reduce 517 PLUS_PLUS Reduce 517 MINUS_MINUS Reduce 517 EQUAL_EQUAL Reduce 517 LESS_EQUAL Reduce 517 GREATER_EQUAL Reduce 517 NOT_EQUAL Reduce 517 LEFT_SHIFT Reduce 517 RIGHT_SHIFT Reduce 517 UNSIGNED_RIGHT_SHIFT Reduce 517 PLUS_EQUAL Reduce 517 MINUS_EQUAL Reduce 517 MULTIPLY_EQUAL Reduce 517 DIVIDE_EQUAL Reduce 517 AND_EQUAL Reduce 517 OR_EQUAL Reduce 517 XOR_EQUAL Reduce 517 REMAINDER_EQUAL Reduce 517 LEFT_SHIFT_EQUAL Reduce 517 RIGHT_SHIFT_EQUAL Reduce 517 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 517 OR_OR Reduce 517 AND_AND Reduce 517 PLUS Reduce 517 MINUS Reduce 517 REMAINDER Reduce 517 XOR Reduce 517 AND Reduce 517 MULTIPLY Reduce 517 OR Reduce 517 DIVIDE Reduce 517 GREATER Reduce 517 LESS Reduce 517 RPAREN Reduce 517 RBRACE Reduce 517 RBRACKET Reduce 517 SEMICOLON Reduce 517 QUESTION Reduce 517 COLON Reduce 517 COMMA Reduce 517 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1018 DOT Reduce 517 EQUAL Reduce 517 AT Reduce 517 COLON_COLON Reduce 517 ElidedSemicolonAndRightBrace Reduce 517 BeginCaseExpr Reduce 517 $eof Reduce 517 LBRACKET Reduce 71 Default reduction to rule 517 STATE 477 ---------------------------------------------------------------------- ( 250 ) ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET Expression . RBRACKET RBRACKET Sh/Rd 541 STATE 478 ---------------------------------------------------------------------- ( 251 ) ArrayAccess ::= PrimaryNoNewArray LBRACKET Expression .RBRACKET RBRACKET Sh/Rd 540 STATE 479 ---------------------------------------------------------------------- ( 253 ) ReferenceExpression ::= Primary COLON_COLON NonWildTypeArgumentsopt . Identifier Identifier Sh/Rd 476 STATE 480 ---------------------------------------------------------------------- ( 254 291 ) FieldAccess ::= Primary DOT Identifier . (528) MethodInvocation ::= Primary DOT Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 676 abstract Reduce 528 final Reduce 528 instanceof Reduce 528 native Reduce 528 private Reduce 528 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1019 protected Reduce 528 public Reduce 528 static Reduce 528 strictfp Reduce 528 synchronized Reduce 528 transient Reduce 528 volatile Reduce 528 PLUS_PLUS Reduce 528 MINUS_MINUS Reduce 528 EQUAL_EQUAL Reduce 528 LESS_EQUAL Reduce 528 GREATER_EQUAL Reduce 528 NOT_EQUAL Reduce 528 LEFT_SHIFT Reduce 528 RIGHT_SHIFT Reduce 528 UNSIGNED_RIGHT_SHIFT Reduce 528 PLUS_EQUAL Reduce 528 MINUS_EQUAL Reduce 528 MULTIPLY_EQUAL Reduce 528 DIVIDE_EQUAL Reduce 528 AND_EQUAL Reduce 528 OR_EQUAL Reduce 528 XOR_EQUAL Reduce 528 REMAINDER_EQUAL Reduce 528 LEFT_SHIFT_EQUAL Reduce 528 RIGHT_SHIFT_EQUAL Reduce 528 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 528 OR_OR Reduce 528 AND_AND Reduce 528 PLUS Reduce 528 MINUS Reduce 528 REMAINDER Reduce 528 XOR Reduce 528 AND Reduce 528 MULTIPLY Reduce 528 OR Reduce 528 DIVIDE Reduce 528 GREATER Reduce 528 LESS Reduce 528 RPAREN Reduce 528 RBRACE Reduce 528 LBRACKET Reduce 528 RBRACKET Reduce 528 SEMICOLON Reduce 528 QUESTION Reduce 528 COLON Reduce 528 COMMA Reduce 528 DOT Reduce 528 EQUAL Reduce 528 AT Reduce 528 COLON_COLON Reduce 528 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1020 ElidedSemicolonAndRightBrace Reduce 528 BeginCaseExpr Reduce 528 $eof Reduce 528 Default reduction to rule 528 STATE 481 ---------------------------------------------------------------------- ( 254 291 ) 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 970 AT308 Shift 22 LESS Shift 25 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1021 TypeAnnotations Goto 203 QualifiedName Goto 985 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ClassOrInterfaceType Goto 677 OnlyTypeArguments Goto 678 ClassType Goto 677 STATE 482 ---------------------------------------------------------------------- ( 254 ) ExplicitConstructorInvocation ::= Primary DOT this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 679 STATE 483 ---------------------------------------------------------------------- ( 254 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments .this LPAREN ArgumentListopt RPAREN SEMICOLON MethodInvocation ::= Primary DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 680 this Shift 681 super Shift 682 STATE 484 ---------------------------------------------------------------------- ( 254 ) ExplicitConstructorInvocation ::= Primary DOT super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 683 STATE 485 ---------------------------------------------------------------------- ( 255 ) MethodInvocation ::= super DOT OnlyTypeArguments .Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1022 ArgumentListopt RPAREN Identifier Shift 684 STATE 486 ---------------------------------------------------------------------- ( 255 ) FieldAccess ::= super DOT Identifier . (529) MethodInvocation ::= super DOT Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 685 abstract Reduce 529 final Reduce 529 instanceof Reduce 529 native Reduce 529 private Reduce 529 protected Reduce 529 public Reduce 529 static Reduce 529 strictfp Reduce 529 synchronized Reduce 529 transient Reduce 529 volatile Reduce 529 PLUS_PLUS Reduce 529 MINUS_MINUS Reduce 529 EQUAL_EQUAL Reduce 529 LESS_EQUAL Reduce 529 GREATER_EQUAL Reduce 529 NOT_EQUAL Reduce 529 LEFT_SHIFT Reduce 529 RIGHT_SHIFT Reduce 529 UNSIGNED_RIGHT_SHIFT Reduce 529 PLUS_EQUAL Reduce 529 MINUS_EQUAL Reduce 529 MULTIPLY_EQUAL Reduce 529 DIVIDE_EQUAL Reduce 529 AND_EQUAL Reduce 529 OR_EQUAL Reduce 529 XOR_EQUAL Reduce 529 REMAINDER_EQUAL Reduce 529 LEFT_SHIFT_EQUAL Reduce 529 RIGHT_SHIFT_EQUAL Reduce 529 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 529 OR_OR Reduce 529 AND_AND Reduce 529 PLUS Reduce 529 MINUS Reduce 529 REMAINDER Reduce 529 XOR Reduce 529 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1023 AND Reduce 529 MULTIPLY Reduce 529 OR Reduce 529 DIVIDE Reduce 529 GREATER Reduce 529 LESS Reduce 529 RPAREN Reduce 529 RBRACE Reduce 529 LBRACKET Reduce 529 RBRACKET Reduce 529 SEMICOLON Reduce 529 QUESTION Reduce 529 COLON Reduce 529 COMMA Reduce 529 DOT Reduce 529 EQUAL Reduce 529 AT Reduce 529 COLON_COLON Reduce 529 ElidedSemicolonAndRightBrace Reduce 529 BeginCaseExpr Reduce 529 $eof Reduce 529 Default reduction to rule 529 STATE 487 ---------------------------------------------------------------------- ( 256 ) ReferenceExpression ::= super COLON_COLON NonWildTypeArgumentsopt .Identifier Identifier Sh/Rd 478 STATE 488 ---------------------------------------------------------------------- ( 257 ) ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 686 STATE 489 ---------------------------------------------------------------------- ( 257 260 275 490 491 608 613 669 671 674 676 679 683 685 705 709 769 771 775 780 781 782 784 802 803 804 837 882 ) ArgumentList ::= ArgumentList .COMMA Expression ArgumentListopt ::= ArgumentList . (644) COMMA Shift 687 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1024 RPAREN Reduce 644 Default reduction to rule 644 STATE 490 ---------------------------------------------------------------------- ( 258 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1025 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 ::= .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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1026 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 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1027 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1028 AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1029 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 688 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1030 STATE 491 ---------------------------------------------------------------------- ( 259 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1031 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1032 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 Mon Oct 4 09:57:22 2021 Page 1033 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1034 InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1035 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 689 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 492 ---------------------------------------------------------------------- ( 260 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1036 ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 690 STATE 493 ---------------------------------------------------------------------- ( 261 ) Block ::= OpenBlock LBRACE BlockStatementsopt .RBRACE RBRACE Sh/Rd 320 STATE 494 ---------------------------------------------------------------------- ( 262 ) AssertStatement ::= assert Expression COLON .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1037 UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1038 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 Mon Oct 4 09:57:22 2021 Page 1039 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1040 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1041 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 691 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1042 Default reduction to rule 71 STATE 495 ---------------------------------------------------------------------- ( 264 ) IfThenStatement ::= if LPAREN Expression .RPAREN Statement IfThenElseStatement ::= if LPAREN Expression .RPAREN StatementNoShortIf else Statement RPAREN Shift 692 STATE 496 ---------------------------------------------------------------------- ( 265 ) WhileStatement ::= while LPAREN Expression .RPAREN Statement RPAREN Shift 693 STATE 497 ---------------------------------------------------------------------- ( 266 ) ForStatement ::= for LPAREN ForInitopt .SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement SEMICOLON Shift 694 STATE 498 ---------------------------------------------------------------------- ( 266 846 ) LocalVariableDeclaration ::= Type .PushModifiers VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Type .PushModifiers Identifier Dimsopt PushModifiers ::= . (336) PushModifiers Goto 695 Identifier Reduce 336 Default reduction to rule 336 STATE 499 ---------------------------------------------------------------------- ( 266 846 ) Modifiers ::= Modifiers .Modifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1043 LocalVariableDeclaration ::= Modifiers .Type PushRealModifiers VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Modifiers .Type PushRealModifiers Identifier Dimsopt 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 ::= . (71) 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 186 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1044 volatile Sh/Rd 186 transient Sh/Rd 186 synchronized Sh/Rd 186 native Sh/Rd 186 final Sh/Rd 186 abstract Sh/Rd 186 static Sh/Rd 186 private Sh/Rd 186 protected Sh/Rd 186 public Sh/Rd 186 AT Shift 130 Identifier Shift 970 AT308 Shift 22 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 696 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 696 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Modifier Gt/Rd 186 Type Goto 696 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1045 STATE 500 ---------------------------------------------------------------------- ( 266 532 846 ) ClassOrInterface ::= Name . (53) ArrayType ::= Name .Dims 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 . (543) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (641) Dimsopt ::= .Dims LPAREN Shift 275 BeginTypeArguments Shift 276 DOT Shift 289 LBRACKET Shift 279 AT308 Shift 22 Dims Goto 280 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1046 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Goto 277 instanceof Reduce 543 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 EQUAL_EQUAL Reduce 543 LESS_EQUAL Reduce 543 GREATER_EQUAL Reduce 543 NOT_EQUAL Reduce 543 LEFT_SHIFT Reduce 543 RIGHT_SHIFT Reduce 543 UNSIGNED_RIGHT_SHIFT Reduce 543 PLUS_EQUAL Reduce 543 MINUS_EQUAL Reduce 543 MULTIPLY_EQUAL Reduce 543 DIVIDE_EQUAL Reduce 543 AND_EQUAL Reduce 543 OR_EQUAL Reduce 543 XOR_EQUAL Reduce 543 REMAINDER_EQUAL Reduce 543 LEFT_SHIFT_EQUAL Reduce 543 RIGHT_SHIFT_EQUAL Reduce 543 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 543 OR_OR Reduce 543 AND_AND Reduce 543 PLUS Reduce 543 MINUS Reduce 543 REMAINDER Reduce 543 XOR Reduce 543 AND Reduce 543 MULTIPLY Reduce 543 OR Reduce 543 DIVIDE Reduce 543 RPAREN Reduce 543 QUESTION Reduce 543 EQUAL Reduce 543 Identifier Reduce 53 GREATER Reduce 53 LESS Reduce 53 COMMA Reduce 53 COLON_COLON Reduce 641 Default reduction to rule 543 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1047 STATE 501 ---------------------------------------------------------------------- ( 266 846 ) ForInit ::= StatementExpressionList . (412) StatementExpressionList ::= StatementExpressionList .COMMA StatementExpression COMMA Shift 697 SEMICOLON Reduce 412 Default reduction to rule 412 STATE 502 ---------------------------------------------------------------------- ( 267 ) EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON Expression .RPAREN RPAREN Sh/Rd 686 STATE 503 ---------------------------------------------------------------------- ( 268 695 ) VariableDeclarators ::= VariableDeclarators .COMMA VariableDeclarator LocalVariableDeclaration ::= Type PushModifiers VariableDeclarators . (334) COMMA Shift 698 SEMICOLON Reduce 334 Default reduction to rule 334 STATE 504 ---------------------------------------------------------------------- ( 268 385 509 663 698 737 765 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1048 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (641) LBRACKET Shift 199 AT308 Shift 22 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Gt/Rd 238 Dimsopt Gt/Rd 238 RPAREN Reduce 641 SEMICOLON Reduce 641 COMMA Reduce 641 EQUAL Reduce 641 Default reduction to rule 641 STATE 505 ---------------------------------------------------------------------- ( 268 326 333 385 395 509 695 698 797 ) VariableDeclarator ::= VariableDeclaratorId .EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= VariableDeclaratorId .EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EnterVariable ::= . (233) EnterVariable Goto 699 SEMICOLON Reduce 233 COMMA Reduce 233 EQUAL Reduce 233 Default reduction to rule 233 STATE 506 ---------------------------------------------------------------------- ( 269 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1049 AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface . Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface . Identifier Identifier Shift 700 STATE 507 ---------------------------------------------------------------------- ( 271 ) SingleMemberAnnotation ::= AnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN RPAREN Sh/Rd 863 STATE 508 ---------------------------------------------------------------------- ( 271 ) NormalAnnotation ::= AnnotationName LPAREN MemberValuePairsopt .RPAREN RPAREN Sh/Rd 842 STATE 509 ---------------------------------------------------------------------- ( 272 ) LocalVariableDeclaration ::= Modifiers Type PushRealModifiers . VariableDeclarators VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 504 VariableDeclaratorId Goto 505 VariableDeclarator Goto 701 VariableDeclarators Goto 701 STATE 510 ---------------------------------------------------------------------- ( 273 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers . interface Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1050 AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers . interface Identifier TypeParameters interface Shift 702 STATE 511 ---------------------------------------------------------------------- ( 275 ) MethodInvocation ::= Name LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 531 STATE 512 ---------------------------------------------------------------------- ( 276 ) ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 703 STATE 513 ---------------------------------------------------------------------- ( 277 ) ReferenceExpression ::= Name Dimsopt COLON_COLON .NonWildTypeArgumentsopt IdentifierOrNew NonWildTypeArgumentsopt ::= . (479) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 25 OnlyTypeArguments Goto 704 NonWildTypeArgumentsopt Goto 704 Identifier Reduce 479 new Reduce 479 Default reduction to rule 479 STATE 514 ---------------------------------------------------------------------- ( 278 ) ExplicitConstructorInvocation ::= Name DOT this .LPAREN ArgumentListopt RPAREN SEMICOLON PrimaryNoNewArray ::= Name DOT this . (460) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1051 LPAREN Shift 705 PLUS_PLUS Reduce 460 MINUS_MINUS Reduce 460 PLUS_EQUAL Reduce 460 MINUS_EQUAL Reduce 460 MULTIPLY_EQUAL Reduce 460 DIVIDE_EQUAL Reduce 460 AND_EQUAL Reduce 460 OR_EQUAL Reduce 460 XOR_EQUAL Reduce 460 REMAINDER_EQUAL Reduce 460 LEFT_SHIFT_EQUAL Reduce 460 RIGHT_SHIFT_EQUAL Reduce 460 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 460 LBRACKET Reduce 460 DOT Reduce 460 EQUAL Reduce 460 COLON_COLON Reduce 460 Default reduction to rule 460 STATE 515 ---------------------------------------------------------------------- ( 278 ) 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 706 this Shift 707 super Shift 708 STATE 516 ---------------------------------------------------------------------- ( 278 ) ExplicitConstructorInvocation ::= Name DOT super .LPAREN ArgumentListopt RPAREN SEMICOLON QualifiedSuperReceiver ::= Name DOT super . (461) LPAREN Shift 709 DOT Reduce 461 COLON_COLON Reduce 461 Default reduction to rule 461 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1052 STATE 517 ---------------------------------------------------------------------- ( 278 289 423 569 730 ) QualifiedName ::= Name DOT TypeAnnotations .SimpleName Identifier Sh/Rd 70 SimpleName Gt/Rd 70 STATE 518 ---------------------------------------------------------------------- ( 279 ) ArrayAccess ::= Name LBRACKET Expression .RBRACKET RBRACKET Sh/Rd 539 STATE 519 ---------------------------------------------------------------------- ( 280 290 531 ) PrimaryNoNewArray ::= Name Dims DOT .class class Sh/Rd 463 STATE 520 ---------------------------------------------------------------------- ( 281 ) ClassOrInterface ::= GenericType DOT Name . (54) ArrayTypeWithTypeArgumentsName ::= GenericType DOT Name . (57) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName DOT Shift 423 LBRACKET Reduce 57 AT308 Reduce 57 Identifier Reduce 54 abstract Reduce 54 final Reduce 54 instanceof Reduce 54 native Reduce 54 private Reduce 54 protected Reduce 54 public Reduce 54 static Reduce 54 strictfp Reduce 54 synchronized Reduce 54 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1053 this Reduce 54 transient Reduce 54 volatile Reduce 54 EQUAL_EQUAL Reduce 54 NOT_EQUAL Reduce 54 RIGHT_SHIFT Reduce 54 UNSIGNED_RIGHT_SHIFT Reduce 54 OR_OR Reduce 54 AND_AND Reduce 54 XOR Reduce 54 AND Reduce 54 OR Reduce 54 GREATER Reduce 54 LESS Reduce 54 RPAREN Reduce 54 RBRACE Reduce 54 RBRACKET Reduce 54 SEMICOLON Reduce 54 QUESTION Reduce 54 COLON Reduce 54 COMMA Reduce 54 AT Reduce 54 ELLIPSIS Reduce 54 ElidedSemicolonAndRightBrace Reduce 54 AT308DOTDOTDOT Reduce 54 BeginCaseExpr Reduce 54 $eof Reduce 54 Default reduction to rule 54 STATE 521 ---------------------------------------------------------------------- ( 284 288 528 ) ReferenceExpression ::= PrimitiveType Dims COLON_COLON . NonWildTypeArgumentsopt IdentifierOrNew NonWildTypeArgumentsopt ::= . (479) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 25 OnlyTypeArguments Goto 710 NonWildTypeArgumentsopt Goto 710 Identifier Reduce 479 new Reduce 479 Default reduction to rule 479 STATE 522 ---------------------------------------------------------------------- ( 284 288 528 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1054 PrimaryNoNewArray ::= PrimitiveType Dims DOT .class class Sh/Rd 464 STATE 523 ---------------------------------------------------------------------- ( 287 ) SwitchExpression ::= switch LPAREN Expression .RPAREN OpenBlock SwitchBlock RPAREN Shift 711 STATE 524 ---------------------------------------------------------------------- ( 289 ) MethodInvocation ::= Name DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 706 STATE 525 ---------------------------------------------------------------------- ( 291 ) MethodInvocation ::= Primary DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 680 STATE 526 ---------------------------------------------------------------------- ( 292 ) CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds . PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 450 PushRPAREN Goto 712 STATE 527 ---------------------------------------------------------------------- ( 293 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt .AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1055 AdditionalBoundsListOpt ::= . (566) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 428 AdditionalBound Goto 1133 AdditionalBoundList Goto 714 AdditionalBoundsListOpt Goto 713 RPAREN Reduce 566 Default reduction to rule 566 STATE 528 ---------------------------------------------------------------------- ( 293 ) PrimaryNoNewArray ::= PrimitiveType Dims .DOT class ReferenceExpression ::= PrimitiveType Dims .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew Dimsopt ::= Dims . (642) COLON_COLON Shift 521 DOT Shift 522 AND Reduce 642 RPAREN Reduce 642 Default reduction to rule 642 STATE 529 ---------------------------------------------------------------------- ( 294 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1056 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 ::= . (641) DOT Shift 715 AT308 Shift 22 LBRACKET Shift 199 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Goto 716 Dimsopt Goto 716 AND Reduce 641 RPAREN Reduce 641 Default reduction to rule 641 STATE 530 ---------------------------------------------------------------------- ( 294 ) PrimaryNoNewArray ::= PushLPAREN Name PushRPAREN . (457) CastExpression ::= PushLPAREN Name PushRPAREN .InsideCastExpressionLL1 UnaryExpressionNotPlusMinus InsideCastExpressionLL1 ::= . (572) InsideCastExpressionLL1 Goto 717 abstract Reduce 457 final Reduce 457 instanceof Reduce 457 native Reduce 457 private Reduce 457 protected Reduce 457 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1057 public Reduce 457 static Reduce 457 strictfp Reduce 457 synchronized Reduce 457 transient Reduce 457 volatile Reduce 457 PLUS_PLUS Reduce 457 MINUS_MINUS Reduce 457 EQUAL_EQUAL Reduce 457 LESS_EQUAL Reduce 457 GREATER_EQUAL Reduce 457 NOT_EQUAL Reduce 457 LEFT_SHIFT Reduce 457 RIGHT_SHIFT Reduce 457 UNSIGNED_RIGHT_SHIFT Reduce 457 PLUS_EQUAL Reduce 457 MINUS_EQUAL Reduce 457 MULTIPLY_EQUAL Reduce 457 DIVIDE_EQUAL Reduce 457 AND_EQUAL Reduce 457 OR_EQUAL Reduce 457 XOR_EQUAL Reduce 457 REMAINDER_EQUAL Reduce 457 LEFT_SHIFT_EQUAL Reduce 457 RIGHT_SHIFT_EQUAL Reduce 457 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 457 OR_OR Reduce 457 AND_AND Reduce 457 PLUS Reduce 457 MINUS Reduce 457 REMAINDER Reduce 457 XOR Reduce 457 AND Reduce 457 MULTIPLY Reduce 457 OR Reduce 457 DIVIDE Reduce 457 GREATER Reduce 457 LESS Reduce 457 RPAREN Reduce 457 RBRACE Reduce 457 LBRACKET Reduce 457 RBRACKET Reduce 457 SEMICOLON Reduce 457 QUESTION Reduce 457 COLON Reduce 457 COMMA Reduce 457 DOT Reduce 457 EQUAL Reduce 457 AT Reduce 457 COLON_COLON Reduce 457 ElidedSemicolonAndRightBrace Reduce 457 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1058 BeginCaseExpr Reduce 457 $eof Reduce 457 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 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 NOT Reduce 572 TWIDDLE Reduce 572 LPAREN Reduce 572 BeginLambda Reduce 572 BeginIntersectionCast Reduce 572 AT308 Reduce 572 Default reduction to rule 457 STATE 531 ---------------------------------------------------------------------- ( 294 ) PrimaryNoNewArray ::= Name Dims .DOT class CastExpression ::= PushLPAREN Name Dims .AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus Dimsopt ::= Dims . (642) AdditionalBoundsListOpt ::= . (566) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType DOT Shift 519 AND Shift 428 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1059 AdditionalBound Goto 1133 AdditionalBoundList Goto 714 AdditionalBoundsListOpt Goto 718 COLON_COLON Reduce 642 RPAREN Reduce 566 Default reduction to rule 642 STATE 532 ---------------------------------------------------------------------- ( 294 ) OnlyTypeArguments ::= LESS .TypeArgumentList1 RelationalExpression_NotName ::= Name LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1060 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1061 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 Mon Oct 4 09:57:22 2021 Page 1062 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 ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1063 Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1052 true Shift 1052 null Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 1053 PreDecrementExpression Goto 1053 UnaryExpressionNotPlusMinus Goto 1053 Primary Goto 99 Name Goto 500 PostIncrementExpression Goto 1062 PostDecrementExpression Goto 1061 PostfixExpression Goto 464 Literal Goto 1052 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 PrimitiveType Goto 719 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ClassInstanceCreationExpressionName Goto 59 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1064 BooleanLiteral Goto 1052 ArrayCreationWithoutArrayInitializer Goto 1054 SwitchExpression Goto 1053 CastExpression Goto 1053 UnaryExpression Goto 1053 ShiftExpression Goto 597 ReferenceType1 Gt/Rd 692 Wildcard1 Gt/Rd 692 TypeAnnotationsopt Goto 196 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 972 TypeAnnotations Goto 86 GenericType Goto 87 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 193 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 943 ReferenceType Goto 192 TypeArgument Goto 191 TypeArgumentList Goto 191 Wildcard Goto 191 TypeArgument1 Gt/Rd 692 TypeArgumentList1 Gt/Rd 692 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 QUESTION Reduce 71 Default reduction to rule 71 STATE 533 ---------------------------------------------------------------------- ( 300 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression . (585) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1065 MINUS Shift 303 PLUS Shift 304 abstract Reduce 585 final Reduce 585 instanceof Reduce 585 native 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 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 OR_OR Reduce 585 AND_AND Reduce 585 XOR Reduce 585 AND Reduce 585 OR Reduce 585 GREATER Reduce 585 LESS Reduce 585 RPAREN Reduce 585 RBRACE Reduce 585 RBRACKET Reduce 585 SEMICOLON Reduce 585 QUESTION Reduce 585 COLON Reduce 585 COMMA Reduce 585 AT Reduce 585 ElidedSemicolonAndRightBrace Reduce 585 BeginCaseExpr Reduce 585 $eof Reduce 585 Default reduction to rule 585 STATE 534 ---------------------------------------------------------------------- ( 301 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= ShiftExpression RIGHT_SHIFT AdditiveExpression . (584) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1066 MINUS Shift 303 PLUS Shift 304 abstract Reduce 584 final Reduce 584 instanceof Reduce 584 native Reduce 584 private Reduce 584 protected Reduce 584 public Reduce 584 static Reduce 584 strictfp Reduce 584 synchronized Reduce 584 transient Reduce 584 volatile Reduce 584 EQUAL_EQUAL Reduce 584 LESS_EQUAL Reduce 584 GREATER_EQUAL Reduce 584 NOT_EQUAL Reduce 584 LEFT_SHIFT Reduce 584 RIGHT_SHIFT Reduce 584 UNSIGNED_RIGHT_SHIFT Reduce 584 OR_OR Reduce 584 AND_AND Reduce 584 XOR Reduce 584 AND Reduce 584 OR Reduce 584 GREATER Reduce 584 LESS Reduce 584 RPAREN Reduce 584 RBRACE Reduce 584 RBRACKET Reduce 584 SEMICOLON Reduce 584 QUESTION Reduce 584 COLON Reduce 584 COMMA Reduce 584 AT Reduce 584 ElidedSemicolonAndRightBrace Reduce 584 BeginCaseExpr Reduce 584 $eof Reduce 584 Default reduction to rule 584 STATE 535 ---------------------------------------------------------------------- ( 302 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= ShiftExpression LEFT_SHIFT AdditiveExpression . (583) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1067 MINUS Shift 303 PLUS Shift 304 abstract Reduce 583 final Reduce 583 instanceof Reduce 583 native Reduce 583 private Reduce 583 protected Reduce 583 public Reduce 583 static Reduce 583 strictfp Reduce 583 synchronized Reduce 583 transient Reduce 583 volatile Reduce 583 EQUAL_EQUAL Reduce 583 LESS_EQUAL Reduce 583 GREATER_EQUAL Reduce 583 NOT_EQUAL Reduce 583 LEFT_SHIFT Reduce 583 RIGHT_SHIFT Reduce 583 UNSIGNED_RIGHT_SHIFT Reduce 583 OR_OR Reduce 583 AND_AND Reduce 583 XOR Reduce 583 AND Reduce 583 OR Reduce 583 GREATER Reduce 583 LESS Reduce 583 RPAREN Reduce 583 RBRACE Reduce 583 RBRACKET Reduce 583 SEMICOLON Reduce 583 QUESTION Reduce 583 COLON Reduce 583 COMMA Reduce 583 AT Reduce 583 ElidedSemicolonAndRightBrace Reduce 583 BeginCaseExpr Reduce 583 $eof Reduce 583 Default reduction to rule 583 STATE 536 ---------------------------------------------------------------------- ( 303 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1068 MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression ::= AdditiveExpression MINUS MultiplicativeExpression . (581) REMAINDER Shift 297 DIVIDE Shift 298 MULTIPLY Shift 299 abstract Reduce 581 final Reduce 581 instanceof Reduce 581 native Reduce 581 private Reduce 581 protected Reduce 581 public Reduce 581 static Reduce 581 strictfp Reduce 581 synchronized Reduce 581 transient Reduce 581 volatile Reduce 581 EQUAL_EQUAL Reduce 581 LESS_EQUAL Reduce 581 GREATER_EQUAL Reduce 581 NOT_EQUAL Reduce 581 LEFT_SHIFT Reduce 581 RIGHT_SHIFT Reduce 581 UNSIGNED_RIGHT_SHIFT Reduce 581 OR_OR Reduce 581 AND_AND Reduce 581 PLUS Reduce 581 MINUS Reduce 581 XOR Reduce 581 AND Reduce 581 OR Reduce 581 GREATER Reduce 581 LESS Reduce 581 RPAREN Reduce 581 RBRACE Reduce 581 RBRACKET Reduce 581 SEMICOLON Reduce 581 QUESTION Reduce 581 COLON Reduce 581 COMMA Reduce 581 AT Reduce 581 ElidedSemicolonAndRightBrace Reduce 581 BeginCaseExpr Reduce 581 $eof Reduce 581 Default reduction to rule 581 STATE 537 ---------------------------------------------------------------------- ( 304 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1069 MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression ::= AdditiveExpression PLUS MultiplicativeExpression . (580) REMAINDER Shift 297 DIVIDE Shift 298 MULTIPLY Shift 299 abstract Reduce 580 final Reduce 580 instanceof Reduce 580 native Reduce 580 private Reduce 580 protected Reduce 580 public Reduce 580 static Reduce 580 strictfp Reduce 580 synchronized Reduce 580 transient Reduce 580 volatile Reduce 580 EQUAL_EQUAL Reduce 580 LESS_EQUAL Reduce 580 GREATER_EQUAL Reduce 580 NOT_EQUAL Reduce 580 LEFT_SHIFT Reduce 580 RIGHT_SHIFT Reduce 580 UNSIGNED_RIGHT_SHIFT Reduce 580 OR_OR Reduce 580 AND_AND Reduce 580 PLUS Reduce 580 MINUS Reduce 580 XOR Reduce 580 AND Reduce 580 OR Reduce 580 GREATER Reduce 580 LESS Reduce 580 RPAREN Reduce 580 RBRACE Reduce 580 RBRACKET Reduce 580 SEMICOLON Reduce 580 QUESTION Reduce 580 COLON Reduce 580 COMMA Reduce 580 AT Reduce 580 ElidedSemicolonAndRightBrace Reduce 580 BeginCaseExpr Reduce 580 $eof Reduce 580 Default reduction to rule 580 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1070 STATE 538 ---------------------------------------------------------------------- ( 306 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression GREATER_EQUAL ShiftExpression . (590) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 590 final Reduce 590 instanceof Reduce 590 native 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 EQUAL_EQUAL Reduce 590 LESS_EQUAL Reduce 590 GREATER_EQUAL Reduce 590 NOT_EQUAL Reduce 590 OR_OR Reduce 590 AND_AND Reduce 590 XOR Reduce 590 AND Reduce 590 OR Reduce 590 GREATER Reduce 590 LESS Reduce 590 RPAREN Reduce 590 RBRACE Reduce 590 RBRACKET Reduce 590 SEMICOLON Reduce 590 QUESTION Reduce 590 COLON Reduce 590 COMMA Reduce 590 AT Reduce 590 ElidedSemicolonAndRightBrace Reduce 590 BeginCaseExpr Reduce 590 $eof Reduce 590 Default reduction to rule 590 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1071 STATE 539 ---------------------------------------------------------------------- ( 307 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression LESS_EQUAL ShiftExpression . (589) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 589 final Reduce 589 instanceof Reduce 589 native Reduce 589 private Reduce 589 protected Reduce 589 public Reduce 589 static Reduce 589 strictfp Reduce 589 synchronized Reduce 589 transient Reduce 589 volatile Reduce 589 EQUAL_EQUAL Reduce 589 LESS_EQUAL Reduce 589 GREATER_EQUAL Reduce 589 NOT_EQUAL Reduce 589 OR_OR Reduce 589 AND_AND Reduce 589 XOR Reduce 589 AND Reduce 589 OR Reduce 589 GREATER Reduce 589 LESS Reduce 589 RPAREN Reduce 589 RBRACE Reduce 589 RBRACKET Reduce 589 SEMICOLON Reduce 589 QUESTION Reduce 589 COLON Reduce 589 COMMA Reduce 589 AT Reduce 589 ElidedSemicolonAndRightBrace Reduce 589 BeginCaseExpr Reduce 589 $eof Reduce 589 Default reduction to rule 589 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1072 STATE 540 ---------------------------------------------------------------------- ( 308 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression GREATER ShiftExpression . (588) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 588 final Reduce 588 instanceof Reduce 588 native Reduce 588 private Reduce 588 protected Reduce 588 public Reduce 588 static Reduce 588 strictfp Reduce 588 synchronized Reduce 588 transient Reduce 588 volatile Reduce 588 EQUAL_EQUAL Reduce 588 LESS_EQUAL Reduce 588 GREATER_EQUAL Reduce 588 NOT_EQUAL Reduce 588 OR_OR Reduce 588 AND_AND Reduce 588 XOR Reduce 588 AND Reduce 588 OR Reduce 588 GREATER Reduce 588 LESS Reduce 588 RPAREN Reduce 588 RBRACE Reduce 588 RBRACKET Reduce 588 SEMICOLON Reduce 588 QUESTION Reduce 588 COLON Reduce 588 COMMA Reduce 588 AT Reduce 588 ElidedSemicolonAndRightBrace Reduce 588 BeginCaseExpr Reduce 588 $eof Reduce 588 Default reduction to rule 588 STATE 541 ---------------------------------------------------------------------- ( 309 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1073 ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression LESS ShiftExpression . (587) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 587 final Reduce 587 instanceof Reduce 587 native Reduce 587 private Reduce 587 protected Reduce 587 public Reduce 587 static Reduce 587 strictfp Reduce 587 synchronized Reduce 587 transient Reduce 587 volatile Reduce 587 EQUAL_EQUAL Reduce 587 LESS_EQUAL Reduce 587 GREATER_EQUAL Reduce 587 NOT_EQUAL Reduce 587 OR_OR Reduce 587 AND_AND Reduce 587 XOR Reduce 587 AND Reduce 587 OR Reduce 587 GREATER Reduce 587 LESS Reduce 587 RPAREN Reduce 587 RBRACE Reduce 587 RBRACKET Reduce 587 SEMICOLON Reduce 587 QUESTION Reduce 587 COLON Reduce 587 COMMA Reduce 587 AT Reduce 587 ElidedSemicolonAndRightBrace Reduce 587 BeginCaseExpr Reduce 587 $eof Reduce 587 Default reduction to rule 587 STATE 542 ---------------------------------------------------------------------- ( 310 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1074 EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression ::= AndExpression AND EqualityExpression . (597) NOT_EQUAL Shift 311 EQUAL_EQUAL Shift 312 abstract Reduce 597 final Reduce 597 native Reduce 597 private Reduce 597 protected Reduce 597 public Reduce 597 static Reduce 597 strictfp Reduce 597 synchronized Reduce 597 transient Reduce 597 volatile Reduce 597 OR_OR Reduce 597 AND_AND Reduce 597 XOR Reduce 597 AND Reduce 597 OR Reduce 597 RPAREN Reduce 597 RBRACE Reduce 597 RBRACKET Reduce 597 SEMICOLON Reduce 597 QUESTION Reduce 597 COLON Reduce 597 COMMA Reduce 597 AT Reduce 597 ElidedSemicolonAndRightBrace Reduce 597 BeginCaseExpr Reduce 597 $eof Reduce 597 Default reduction to rule 597 STATE 543 ---------------------------------------------------------------------- ( 311 ) InstanceofExpression ::= InstanceofExpression .instanceof ReferenceType EqualityExpression ::= EqualityExpression NOT_EQUAL InstanceofExpression . (595) instanceof Shift 305 abstract Reduce 595 final Reduce 595 native Reduce 595 private Reduce 595 protected Reduce 595 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1075 public Reduce 595 static Reduce 595 strictfp Reduce 595 synchronized Reduce 595 transient Reduce 595 volatile Reduce 595 EQUAL_EQUAL Reduce 595 NOT_EQUAL Reduce 595 OR_OR Reduce 595 AND_AND Reduce 595 XOR Reduce 595 AND Reduce 595 OR Reduce 595 RPAREN Reduce 595 RBRACE Reduce 595 RBRACKET Reduce 595 SEMICOLON Reduce 595 QUESTION Reduce 595 COLON Reduce 595 COMMA Reduce 595 AT Reduce 595 ElidedSemicolonAndRightBrace Reduce 595 BeginCaseExpr Reduce 595 $eof Reduce 595 Default reduction to rule 595 STATE 544 ---------------------------------------------------------------------- ( 312 ) InstanceofExpression ::= InstanceofExpression .instanceof ReferenceType EqualityExpression ::= EqualityExpression EQUAL_EQUAL InstanceofExpression . (594) instanceof Shift 305 abstract Reduce 594 final Reduce 594 native 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 EQUAL_EQUAL Reduce 594 NOT_EQUAL Reduce 594 OR_OR Reduce 594 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1076 AND_AND Reduce 594 XOR Reduce 594 AND Reduce 594 OR Reduce 594 RPAREN Reduce 594 RBRACE Reduce 594 RBRACKET Reduce 594 SEMICOLON Reduce 594 QUESTION Reduce 594 COLON Reduce 594 COMMA Reduce 594 AT Reduce 594 ElidedSemicolonAndRightBrace Reduce 594 BeginCaseExpr Reduce 594 $eof Reduce 594 Default reduction to rule 594 STATE 545 ---------------------------------------------------------------------- ( 313 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression ::= InclusiveOrExpression OR ExclusiveOrExpression . (601) XOR Shift 314 abstract Reduce 601 final Reduce 601 native Reduce 601 private Reduce 601 protected Reduce 601 public Reduce 601 static Reduce 601 strictfp Reduce 601 synchronized Reduce 601 transient Reduce 601 volatile Reduce 601 OR_OR Reduce 601 AND_AND Reduce 601 OR Reduce 601 RPAREN Reduce 601 RBRACE Reduce 601 RBRACKET Reduce 601 SEMICOLON Reduce 601 QUESTION Reduce 601 COLON Reduce 601 COMMA Reduce 601 AT Reduce 601 ElidedSemicolonAndRightBrace Reduce 601 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1077 BeginCaseExpr Reduce 601 $eof Reduce 601 Default reduction to rule 601 STATE 546 ---------------------------------------------------------------------- ( 314 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression ::= ExclusiveOrExpression XOR AndExpression . (599) AND Shift 310 abstract Reduce 599 final Reduce 599 native Reduce 599 private Reduce 599 protected Reduce 599 public Reduce 599 static Reduce 599 strictfp Reduce 599 synchronized Reduce 599 transient Reduce 599 volatile Reduce 599 OR_OR Reduce 599 AND_AND Reduce 599 XOR Reduce 599 OR Reduce 599 RPAREN Reduce 599 RBRACE Reduce 599 RBRACKET Reduce 599 SEMICOLON Reduce 599 QUESTION Reduce 599 COLON Reduce 599 COMMA Reduce 599 AT Reduce 599 ElidedSemicolonAndRightBrace Reduce 599 BeginCaseExpr Reduce 599 $eof Reduce 599 Default reduction to rule 599 STATE 547 ---------------------------------------------------------------------- ( 315 ) ConditionalExpression ::= ConditionalOrExpression QUESTION Expression .COLON ConditionalExpression COLON Shift 720 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1078 STATE 548 ---------------------------------------------------------------------- ( 316 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression ::= ConditionalOrExpression OR_OR ConditionalAndExpression . (605) AND_AND Shift 317 abstract Reduce 605 final Reduce 605 native Reduce 605 private Reduce 605 protected Reduce 605 public Reduce 605 static Reduce 605 strictfp Reduce 605 synchronized Reduce 605 transient Reduce 605 volatile Reduce 605 OR_OR Reduce 605 RPAREN Reduce 605 RBRACE Reduce 605 RBRACKET Reduce 605 SEMICOLON Reduce 605 QUESTION Reduce 605 COLON Reduce 605 COMMA Reduce 605 AT Reduce 605 ElidedSemicolonAndRightBrace Reduce 605 BeginCaseExpr Reduce 605 $eof Reduce 605 Default reduction to rule 605 STATE 549 ---------------------------------------------------------------------- ( 317 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression ::= ConditionalAndExpression AND_AND InclusiveOrExpression . (603) OR Shift 313 abstract Reduce 603 final Reduce 603 native Reduce 603 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1079 private Reduce 603 protected Reduce 603 public Reduce 603 static Reduce 603 strictfp Reduce 603 synchronized Reduce 603 transient Reduce 603 volatile Reduce 603 OR_OR Reduce 603 AND_AND Reduce 603 RPAREN Reduce 603 RBRACE Reduce 603 RBRACKET Reduce 603 SEMICOLON Reduce 603 QUESTION Reduce 603 COLON Reduce 603 COMMA Reduce 603 AT Reduce 603 ElidedSemicolonAndRightBrace Reduce 603 BeginCaseExpr Reduce 603 $eof Reduce 603 Default reduction to rule 603 STATE 550 ---------------------------------------------------------------------- ( 318 ) ArrayInitializer ::= LBRACE PushLeftBrace ,opt .RBRACE RBRACE Sh/Rd 315 STATE 551 ---------------------------------------------------------------------- ( 318 ) ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .RBRACE ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .COMMA RBRACE VariableInitializers ::= VariableInitializers .COMMA VariableInitializer COMMA Shift 721 RBRACE Sh/Rd 316 STATE 552 ---------------------------------------------------------------------- ( 319 ) MethodHeader ::= MethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims MethodHeaderThrowsClauseopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1080 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (641) Dimsopt ::= .Dims LBRACKET Shift 199 AT308 Shift 22 Dims Goto 1134 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Gt/Rd 253 MethodHeaderExtendedDims Goto 722 throws Reduce 641 LBRACE Reduce 641 SEMICOLON Reduce 641 Default reduction to rule 641 STATE 553 ---------------------------------------------------------------------- ( 321 ) DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims MethodHeaderThrowsClauseopt TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1081 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (641) Dimsopt ::= .Dims LBRACKET Shift 199 AT308 Shift 22 Dims Goto 1134 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Gt/Rd 253 MethodHeaderExtendedDims Goto 723 throws Reduce 641 LBRACE Reduce 641 SEMICOLON Reduce 641 Default reduction to rule 641 STATE 554 ---------------------------------------------------------------------- ( 322 ) DefaultMethodHeaderName ::= ModifiersWithDefault Type Identifier .LPAREN LPAREN Sh/Rd 250 STATE 555 ---------------------------------------------------------------------- ( 323 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1082 DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type . Identifier LPAREN Identifier Shift 724 STATE 556 ---------------------------------------------------------------------- ( 325 ) MethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN Identifier Shift 725 STATE 557 ---------------------------------------------------------------------- ( 325 332 408 ) SimpleName ::= Identifier . (66) ConstructorHeaderName ::= Modifiersopt TypeParameters Identifier .LPAREN LPAREN Sh/Rd 256 Identifier Reduce 63 LESS Reduce 63 LBRACKET Reduce 63 DOT Reduce 63 AT308 Reduce 63 Default reduction to rule 66 STATE 558 ---------------------------------------------------------------------- ( 326 333 385 395 ) FieldDeclaration ::= Modifiersopt Type VariableDeclarators .SEMICOLON VariableDeclarators ::= VariableDeclarators .COMMA VariableDeclarator COMMA Shift 698 SEMICOLON Sh/Rd 228 STATE 559 ---------------------------------------------------------------------- ( 326 ) VariableDeclaratorId ::= Identifier .Dimsopt MethodHeaderName ::= Modifiersopt Type Identifier .LPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1083 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 ::= . (641) LPAREN Sh/Rd 248 AT308 Shift 22 LBRACKET Shift 199 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Gt/Rd 238 Dimsopt Gt/Rd 238 SEMICOLON Reduce 641 COMMA Reduce 641 EQUAL Reduce 641 Default reduction to rule 641 STATE 560 ---------------------------------------------------------------------- ( 328 ) ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (645) throws Shift 726 MethodHeaderThrowsClause Gt/Rd 255 MethodHeaderThrowsClauseopt Gt/Rd 255 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1084 abstract Reduce 645 final Reduce 645 native Reduce 645 private Reduce 645 protected Reduce 645 public Reduce 645 static Reduce 645 strictfp Reduce 645 synchronized Reduce 645 transient Reduce 645 volatile Reduce 645 LBRACE Reduce 645 SEMICOLON Reduce 645 AT Reduce 645 $eof Reduce 645 Default reduction to rule 645 STATE 561 ---------------------------------------------------------------------- ( 329 ) ClassBodyDeclaration ::= Diet NestedMethod CreateInitializer .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) OpenBlock Goto 69 Block Gt/Rd 215 LBRACE Reduce 321 Default reduction to rule 321 STATE 562 ---------------------------------------------------------------------- ( 330 ) MethodHeaderName ::= Modifiersopt Type Identifier .LPAREN LPAREN Sh/Rd 248 STATE 563 ---------------------------------------------------------------------- ( 331 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PackageDeclarationName ::= PackageComment package Name .RejectTypeAnnotations RejectTypeAnnotations ::= . (83) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1085 DOT Shift 423 RejectTypeAnnotations Gt/Rd 170 SEMICOLON Reduce 83 Default reduction to rule 83 STATE 564 ---------------------------------------------------------------------- ( 332 ) AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN Identifier Shift 727 STATE 565 ---------------------------------------------------------------------- ( 333 ) 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 ::= . (641) LPAREN Sh/Rd 829 AT308 Shift 22 LBRACKET Shift 199 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1086 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Gt/Rd 238 Dimsopt Gt/Rd 238 SEMICOLON Reduce 641 COMMA Reduce 641 EQUAL Reduce 641 Default reduction to rule 641 STATE 566 ---------------------------------------------------------------------- ( 334 ) PackageDeclarationName ::= Modifiers package PushRealModifiers .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 22 Identifier Shift 970 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 Name Goto 728 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 728 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1087 STATE 567 ---------------------------------------------------------------------- ( 335 ) 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 DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (641) Dimsopt ::= .Dims LBRACKET Shift 199 AT308 Shift 22 Dims Goto 1134 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Gt/Rd 253 MethodHeaderExtendedDims Goto 729 default Reduce 641 SEMICOLON Reduce 641 Default reduction to rule 641 STATE 568 ---------------------------------------------------------------------- ( 336 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1088 QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName SingleStaticImportDeclarationName ::= import static Name . RejectTypeAnnotations StaticImportOnDemandDeclarationName ::= import static Name .DOT RejectTypeAnnotations MULTIPLY RejectTypeAnnotations ::= . (83) DOT Shift 730 RejectTypeAnnotations Gt/Rd 688 SEMICOLON Reduce 83 Default reduction to rule 83 STATE 569 ---------------------------------------------------------------------- ( 337 ) 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 ::= . (83) AT308 Shift 22 Identifier Sh/Rd 69 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 SimpleName Gt/Rd 69 TypeAnnotations Goto 517 RejectTypeAnnotations Goto 731 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1089 MULTIPLY Reduce 83 Default reduction to rule 83 STATE 570 ---------------------------------------------------------------------- ( 338 ) 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 Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1090 SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1091 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 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1092 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1093 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 instanceof ReferenceType InstanceofExpression_NotName ::= .InstanceofExpression_NotName instanceof ReferenceType 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 AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValue ::= .Name MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1094 PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (858) MemberValues ::= .MemberValues COMMA MemberValue MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RBRACE Sh/Rd 857 COMMA Shift 732 MINUS Shift 151 PLUS Shift 152 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1135 true Shift 1135 null Shift 1135 StringLiteral Shift 1135 CharacterLiteral Shift 1135 DoubleLiteral Shift 1135 FloatingPointLiteral Shift 1135 LongLiteral Shift 1135 IntegerLiteral Shift 1135 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 145 TWIDDLE Shift 146 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AT Shift 130 ConditionalExpression_NotName Goto 733 Name Goto 163 Annotation Goto 733 MemberValueArrayInitializer Goto 733 EnterMemberValueArrayInitializer Goto 144 AnnotationName Goto 80 NormalAnnotation Goto 733 MarkerAnnotation Goto 733 SingleMemberAnnotation Goto 733 ConditionalAndExpression_NotName Goto 161 ConditionalOrExpression_NotName Goto 164 ExclusiveOrExpression_NotName Goto 159 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1095 InclusiveOrExpression_NotName Goto 162 EqualityExpression_NotName Goto 157 AndExpression_NotName Goto 160 RelationalExpression_NotName Goto 155 InstanceofExpression_NotName Goto 158 AdditiveExpression_NotName Goto 153 ShiftExpression_NotName Goto 156 UnaryExpression_NotName Goto 1136 MultiplicativeExpression_NotName Goto 154 SwitchExpression Goto 1136 PostfixExpression_NotName Goto 1136 CastExpression Goto 1136 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1143 BooleanLiteral Goto 1135 Primary Goto 150 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 963 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1135 ClassInstanceCreationExpression Goto 1142 FieldAccess Goto 1141 MethodInvocation Goto 1140 ArrayAccess Goto 1139 LambdaExpression Goto 1138 ReferenceExpression Goto 1137 PostfixExpression Goto 147 PostIncrementExpression Goto 149 PostDecrementExpression Goto 148 PreIncrementExpression Goto 1136 PreDecrementExpression Goto 1136 UnaryExpressionNotPlusMinus_NotName Goto 1136 MemberValue Goto 733 MemberValues Goto 733 boolean Reduce 71 byte Reduce 71 char Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1096 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 LBRACE Reduce 858 Default reduction to rule 71 STATE 571 ---------------------------------------------------------------------- ( 343 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= AdditiveExpression_NotName MINUS MultiplicativeExpression . (770) REMAINDER Shift 297 DIVIDE Shift 298 MULTIPLY Shift 299 abstract Reduce 770 final Reduce 770 instanceof Reduce 770 native Reduce 770 private Reduce 770 protected Reduce 770 public Reduce 770 static Reduce 770 strictfp Reduce 770 synchronized Reduce 770 transient Reduce 770 volatile Reduce 770 EQUAL_EQUAL Reduce 770 LESS_EQUAL Reduce 770 GREATER_EQUAL Reduce 770 NOT_EQUAL Reduce 770 LEFT_SHIFT Reduce 770 RIGHT_SHIFT Reduce 770 UNSIGNED_RIGHT_SHIFT Reduce 770 OR_OR Reduce 770 AND_AND Reduce 770 PLUS Reduce 770 MINUS Reduce 770 XOR Reduce 770 AND Reduce 770 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1097 OR Reduce 770 GREATER Reduce 770 LESS Reduce 770 RPAREN Reduce 770 RBRACE Reduce 770 SEMICOLON Reduce 770 QUESTION Reduce 770 COMMA Reduce 770 AT Reduce 770 $eof Reduce 770 Default reduction to rule 770 STATE 572 ---------------------------------------------------------------------- ( 344 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= AdditiveExpression_NotName PLUS MultiplicativeExpression . (768) REMAINDER Shift 297 DIVIDE Shift 298 MULTIPLY Shift 299 abstract Reduce 768 final Reduce 768 instanceof Reduce 768 native Reduce 768 private Reduce 768 protected Reduce 768 public Reduce 768 static Reduce 768 strictfp Reduce 768 synchronized Reduce 768 transient Reduce 768 volatile Reduce 768 EQUAL_EQUAL Reduce 768 LESS_EQUAL Reduce 768 GREATER_EQUAL Reduce 768 NOT_EQUAL Reduce 768 LEFT_SHIFT Reduce 768 RIGHT_SHIFT Reduce 768 UNSIGNED_RIGHT_SHIFT Reduce 768 OR_OR Reduce 768 AND_AND Reduce 768 PLUS Reduce 768 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1098 MINUS Reduce 768 XOR Reduce 768 AND Reduce 768 OR Reduce 768 GREATER Reduce 768 LESS Reduce 768 RPAREN Reduce 768 RBRACE Reduce 768 SEMICOLON Reduce 768 QUESTION Reduce 768 COMMA Reduce 768 AT Reduce 768 $eof Reduce 768 Default reduction to rule 768 STATE 573 ---------------------------------------------------------------------- ( 348 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= RelationalExpression_NotName GREATER_EQUAL ShiftExpression . (786) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 786 final Reduce 786 instanceof Reduce 786 native Reduce 786 private Reduce 786 protected Reduce 786 public Reduce 786 static Reduce 786 strictfp Reduce 786 synchronized Reduce 786 transient Reduce 786 volatile Reduce 786 EQUAL_EQUAL Reduce 786 LESS_EQUAL Reduce 786 GREATER_EQUAL Reduce 786 NOT_EQUAL Reduce 786 OR_OR Reduce 786 AND_AND Reduce 786 XOR Reduce 786 AND Reduce 786 OR Reduce 786 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1099 RPAREN Reduce 786 RBRACE Reduce 786 SEMICOLON Reduce 786 QUESTION Reduce 786 COMMA Reduce 786 AT Reduce 786 $eof Reduce 786 Default reduction to rule 786 STATE 574 ---------------------------------------------------------------------- ( 349 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= RelationalExpression_NotName LESS_EQUAL ShiftExpression . (784) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 784 final Reduce 784 instanceof Reduce 784 native Reduce 784 private Reduce 784 protected Reduce 784 public Reduce 784 static Reduce 784 strictfp Reduce 784 synchronized Reduce 784 transient Reduce 784 volatile Reduce 784 EQUAL_EQUAL Reduce 784 LESS_EQUAL Reduce 784 GREATER_EQUAL Reduce 784 NOT_EQUAL Reduce 784 OR_OR Reduce 784 AND_AND Reduce 784 XOR Reduce 784 AND Reduce 784 OR Reduce 784 RPAREN Reduce 784 RBRACE Reduce 784 SEMICOLON Reduce 784 QUESTION Reduce 784 COMMA Reduce 784 AT Reduce 784 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1100 $eof Reduce 784 Default reduction to rule 784 STATE 575 ---------------------------------------------------------------------- ( 350 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= ShiftExpression_NotName GREATER ShiftExpression . (782) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 782 final Reduce 782 instanceof Reduce 782 native Reduce 782 private Reduce 782 protected Reduce 782 public Reduce 782 static Reduce 782 strictfp Reduce 782 synchronized Reduce 782 transient Reduce 782 volatile Reduce 782 EQUAL_EQUAL Reduce 782 LESS_EQUAL Reduce 782 GREATER_EQUAL Reduce 782 NOT_EQUAL Reduce 782 OR_OR Reduce 782 AND_AND Reduce 782 XOR Reduce 782 AND Reduce 782 OR Reduce 782 RPAREN Reduce 782 RBRACE Reduce 782 SEMICOLON Reduce 782 QUESTION Reduce 782 COMMA Reduce 782 AT Reduce 782 $eof Reduce 782 Default reduction to rule 782 STATE 576 ---------------------------------------------------------------------- ( 351 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1101 ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= ShiftExpression_NotName LESS ShiftExpression . (780) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 780 final Reduce 780 instanceof Reduce 780 native Reduce 780 private Reduce 780 protected Reduce 780 public Reduce 780 static Reduce 780 strictfp Reduce 780 synchronized Reduce 780 transient Reduce 780 volatile Reduce 780 EQUAL_EQUAL Reduce 780 LESS_EQUAL Reduce 780 GREATER_EQUAL Reduce 780 NOT_EQUAL Reduce 780 OR_OR Reduce 780 AND_AND Reduce 780 XOR Reduce 780 AND Reduce 780 OR Reduce 780 RPAREN Reduce 780 RBRACE Reduce 780 SEMICOLON Reduce 780 QUESTION Reduce 780 COMMA Reduce 780 AT Reduce 780 $eof Reduce 780 Default reduction to rule 780 STATE 577 ---------------------------------------------------------------------- ( 352 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression . (777) MINUS Shift 303 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1102 PLUS Shift 304 abstract Reduce 777 final Reduce 777 instanceof Reduce 777 native Reduce 777 private Reduce 777 protected Reduce 777 public Reduce 777 static Reduce 777 strictfp Reduce 777 synchronized Reduce 777 transient Reduce 777 volatile Reduce 777 EQUAL_EQUAL Reduce 777 LESS_EQUAL Reduce 777 GREATER_EQUAL Reduce 777 NOT_EQUAL Reduce 777 LEFT_SHIFT Reduce 777 RIGHT_SHIFT Reduce 777 UNSIGNED_RIGHT_SHIFT Reduce 777 OR_OR Reduce 777 AND_AND Reduce 777 XOR Reduce 777 AND Reduce 777 OR Reduce 777 GREATER Reduce 777 LESS Reduce 777 RPAREN Reduce 777 RBRACE Reduce 777 SEMICOLON Reduce 777 QUESTION Reduce 777 COMMA Reduce 777 AT Reduce 777 $eof Reduce 777 Default reduction to rule 777 STATE 578 ---------------------------------------------------------------------- ( 353 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression . (775) MINUS Shift 303 PLUS Shift 304 abstract Reduce 775 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1103 final Reduce 775 instanceof Reduce 775 native Reduce 775 private Reduce 775 protected Reduce 775 public Reduce 775 static Reduce 775 strictfp Reduce 775 synchronized Reduce 775 transient Reduce 775 volatile Reduce 775 EQUAL_EQUAL Reduce 775 LESS_EQUAL Reduce 775 GREATER_EQUAL Reduce 775 NOT_EQUAL Reduce 775 LEFT_SHIFT Reduce 775 RIGHT_SHIFT Reduce 775 UNSIGNED_RIGHT_SHIFT Reduce 775 OR_OR Reduce 775 AND_AND Reduce 775 XOR Reduce 775 AND Reduce 775 OR Reduce 775 GREATER Reduce 775 LESS Reduce 775 RPAREN Reduce 775 RBRACE Reduce 775 SEMICOLON Reduce 775 QUESTION Reduce 775 COMMA Reduce 775 AT Reduce 775 $eof Reduce 775 Default reduction to rule 775 STATE 579 ---------------------------------------------------------------------- ( 354 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= ShiftExpression_NotName LEFT_SHIFT AdditiveExpression . (773) MINUS Shift 303 PLUS Shift 304 abstract Reduce 773 final Reduce 773 instanceof Reduce 773 native Reduce 773 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1104 private Reduce 773 protected Reduce 773 public Reduce 773 static Reduce 773 strictfp Reduce 773 synchronized Reduce 773 transient Reduce 773 volatile Reduce 773 EQUAL_EQUAL Reduce 773 LESS_EQUAL Reduce 773 GREATER_EQUAL Reduce 773 NOT_EQUAL Reduce 773 LEFT_SHIFT Reduce 773 RIGHT_SHIFT Reduce 773 UNSIGNED_RIGHT_SHIFT Reduce 773 OR_OR Reduce 773 AND_AND Reduce 773 XOR Reduce 773 AND Reduce 773 OR Reduce 773 GREATER Reduce 773 LESS Reduce 773 RPAREN Reduce 773 RBRACE Reduce 773 SEMICOLON Reduce 773 QUESTION Reduce 773 COMMA Reduce 773 AT Reduce 773 $eof Reduce 773 Default reduction to rule 773 STATE 580 ---------------------------------------------------------------------- ( 355 ) InstanceofExpression ::= InstanceofExpression .instanceof ReferenceType EqualityExpression_NotName ::= EqualityExpression_NotName NOT_EQUAL InstanceofExpression . (794) instanceof Shift 305 abstract Reduce 794 final Reduce 794 native Reduce 794 private Reduce 794 protected Reduce 794 public Reduce 794 static Reduce 794 strictfp Reduce 794 synchronized Reduce 794 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1105 transient Reduce 794 volatile Reduce 794 EQUAL_EQUAL Reduce 794 NOT_EQUAL Reduce 794 OR_OR Reduce 794 AND_AND Reduce 794 XOR Reduce 794 AND Reduce 794 OR Reduce 794 RPAREN Reduce 794 RBRACE Reduce 794 SEMICOLON Reduce 794 QUESTION Reduce 794 COMMA Reduce 794 AT Reduce 794 $eof Reduce 794 Default reduction to rule 794 STATE 581 ---------------------------------------------------------------------- ( 356 ) InstanceofExpression ::= InstanceofExpression .instanceof ReferenceType EqualityExpression_NotName ::= EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression . (792) instanceof Shift 305 abstract Reduce 792 final Reduce 792 native Reduce 792 private Reduce 792 protected Reduce 792 public Reduce 792 static Reduce 792 strictfp Reduce 792 synchronized Reduce 792 transient Reduce 792 volatile Reduce 792 EQUAL_EQUAL Reduce 792 NOT_EQUAL Reduce 792 OR_OR Reduce 792 AND_AND Reduce 792 XOR Reduce 792 AND Reduce 792 OR Reduce 792 RPAREN Reduce 792 RBRACE Reduce 792 SEMICOLON Reduce 792 QUESTION Reduce 792 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1106 COMMA Reduce 792 AT Reduce 792 $eof Reduce 792 Default reduction to rule 792 STATE 582 ---------------------------------------------------------------------- ( 358 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName XOR AndExpression . (800) AND Shift 310 abstract Reduce 800 final Reduce 800 native Reduce 800 private Reduce 800 protected Reduce 800 public Reduce 800 static Reduce 800 strictfp Reduce 800 synchronized Reduce 800 transient Reduce 800 volatile Reduce 800 OR_OR Reduce 800 AND_AND Reduce 800 XOR Reduce 800 OR Reduce 800 RPAREN Reduce 800 RBRACE Reduce 800 SEMICOLON Reduce 800 QUESTION Reduce 800 COMMA Reduce 800 AT Reduce 800 $eof Reduce 800 Default reduction to rule 800 STATE 583 ---------------------------------------------------------------------- ( 359 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= AndExpression_NotName AND EqualityExpression . (797) NOT_EQUAL Shift 311 EQUAL_EQUAL Shift 312 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1107 abstract Reduce 797 final Reduce 797 native Reduce 797 private Reduce 797 protected Reduce 797 public Reduce 797 static Reduce 797 strictfp Reduce 797 synchronized Reduce 797 transient Reduce 797 volatile Reduce 797 OR_OR Reduce 797 AND_AND Reduce 797 XOR Reduce 797 AND Reduce 797 OR Reduce 797 RPAREN Reduce 797 RBRACE Reduce 797 SEMICOLON Reduce 797 QUESTION Reduce 797 COMMA Reduce 797 AT Reduce 797 $eof Reduce 797 Default reduction to rule 797 STATE 584 ---------------------------------------------------------------------- ( 360 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName AND_AND InclusiveOrExpression . (806) OR Shift 313 abstract Reduce 806 final Reduce 806 native Reduce 806 private Reduce 806 protected Reduce 806 public Reduce 806 static Reduce 806 strictfp Reduce 806 synchronized Reduce 806 transient Reduce 806 volatile Reduce 806 OR_OR Reduce 806 AND_AND Reduce 806 RPAREN Reduce 806 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1108 RBRACE Reduce 806 SEMICOLON Reduce 806 QUESTION Reduce 806 COMMA Reduce 806 AT Reduce 806 $eof Reduce 806 Default reduction to rule 806 STATE 585 ---------------------------------------------------------------------- ( 361 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName OR ExclusiveOrExpression . (803) XOR Shift 314 abstract Reduce 803 final Reduce 803 native Reduce 803 private Reduce 803 protected Reduce 803 public Reduce 803 static Reduce 803 strictfp Reduce 803 synchronized Reduce 803 transient Reduce 803 volatile Reduce 803 OR_OR Reduce 803 AND_AND Reduce 803 OR Reduce 803 RPAREN Reduce 803 RBRACE Reduce 803 SEMICOLON Reduce 803 QUESTION Reduce 803 COMMA Reduce 803 AT Reduce 803 $eof Reduce 803 Default reduction to rule 803 STATE 586 ---------------------------------------------------------------------- ( 362 ) ConditionalExpression_NotName ::= Name QUESTION Expression .COLON ConditionalExpression COLON Shift 734 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1109 STATE 587 ---------------------------------------------------------------------- ( 363 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= Name OR_OR ConditionalAndExpression . (810) AND_AND Shift 317 abstract Reduce 810 final Reduce 810 native Reduce 810 private Reduce 810 protected Reduce 810 public Reduce 810 static Reduce 810 strictfp Reduce 810 synchronized Reduce 810 transient Reduce 810 volatile Reduce 810 OR_OR Reduce 810 RPAREN Reduce 810 RBRACE Reduce 810 SEMICOLON Reduce 810 QUESTION Reduce 810 COMMA Reduce 810 AT Reduce 810 $eof Reduce 810 Default reduction to rule 810 STATE 588 ---------------------------------------------------------------------- ( 364 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= Name AND_AND InclusiveOrExpression . (807) OR Shift 313 abstract Reduce 807 final Reduce 807 native Reduce 807 private Reduce 807 protected Reduce 807 public Reduce 807 static Reduce 807 strictfp Reduce 807 synchronized Reduce 807 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1110 transient Reduce 807 volatile Reduce 807 OR_OR Reduce 807 AND_AND Reduce 807 RPAREN Reduce 807 RBRACE Reduce 807 SEMICOLON Reduce 807 QUESTION Reduce 807 COMMA Reduce 807 AT Reduce 807 $eof Reduce 807 Default reduction to rule 807 STATE 589 ---------------------------------------------------------------------- ( 365 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression_NotName ::= Name OR ExclusiveOrExpression . (804) XOR Shift 314 abstract Reduce 804 final Reduce 804 native Reduce 804 private Reduce 804 protected Reduce 804 public Reduce 804 static Reduce 804 strictfp Reduce 804 synchronized Reduce 804 transient Reduce 804 volatile Reduce 804 OR_OR Reduce 804 AND_AND Reduce 804 OR Reduce 804 RPAREN Reduce 804 RBRACE Reduce 804 SEMICOLON Reduce 804 QUESTION Reduce 804 COMMA Reduce 804 AT Reduce 804 $eof Reduce 804 Default reduction to rule 804 STATE 590 ---------------------------------------------------------------------- ( 366 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1111 AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression_NotName ::= Name XOR AndExpression . (801) AND Shift 310 abstract Reduce 801 final Reduce 801 native Reduce 801 private Reduce 801 protected Reduce 801 public Reduce 801 static Reduce 801 strictfp Reduce 801 synchronized Reduce 801 transient Reduce 801 volatile Reduce 801 OR_OR Reduce 801 AND_AND Reduce 801 XOR Reduce 801 OR Reduce 801 RPAREN Reduce 801 RBRACE Reduce 801 SEMICOLON Reduce 801 QUESTION Reduce 801 COMMA Reduce 801 AT Reduce 801 $eof Reduce 801 Default reduction to rule 801 STATE 591 ---------------------------------------------------------------------- ( 367 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= Name AND EqualityExpression . (798) NOT_EQUAL Shift 311 EQUAL_EQUAL Shift 312 abstract Reduce 798 final Reduce 798 native Reduce 798 private Reduce 798 protected Reduce 798 public Reduce 798 static Reduce 798 strictfp Reduce 798 synchronized Reduce 798 transient Reduce 798 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1112 volatile Reduce 798 OR_OR Reduce 798 AND_AND Reduce 798 XOR Reduce 798 AND Reduce 798 OR Reduce 798 RPAREN Reduce 798 RBRACE Reduce 798 SEMICOLON Reduce 798 QUESTION Reduce 798 COMMA Reduce 798 AT Reduce 798 $eof Reduce 798 Default reduction to rule 798 STATE 592 ---------------------------------------------------------------------- ( 368 ) InstanceofExpression ::= InstanceofExpression .instanceof ReferenceType EqualityExpression_NotName ::= Name NOT_EQUAL InstanceofExpression . (795) instanceof Shift 305 abstract Reduce 795 final Reduce 795 native Reduce 795 private Reduce 795 protected Reduce 795 public Reduce 795 static Reduce 795 strictfp Reduce 795 synchronized Reduce 795 transient Reduce 795 volatile Reduce 795 EQUAL_EQUAL Reduce 795 NOT_EQUAL Reduce 795 OR_OR Reduce 795 AND_AND Reduce 795 XOR Reduce 795 AND Reduce 795 OR Reduce 795 RPAREN Reduce 795 RBRACE Reduce 795 SEMICOLON Reduce 795 QUESTION Reduce 795 COMMA Reduce 795 AT Reduce 795 $eof Reduce 795 Default reduction to rule 795 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1113 STATE 593 ---------------------------------------------------------------------- ( 369 ) InstanceofExpression ::= InstanceofExpression .instanceof ReferenceType EqualityExpression_NotName ::= Name EQUAL_EQUAL InstanceofExpression . (793) instanceof Shift 305 abstract Reduce 793 final Reduce 793 native Reduce 793 private Reduce 793 protected Reduce 793 public Reduce 793 static Reduce 793 strictfp Reduce 793 synchronized Reduce 793 transient Reduce 793 volatile Reduce 793 EQUAL_EQUAL Reduce 793 NOT_EQUAL Reduce 793 OR_OR Reduce 793 AND_AND Reduce 793 XOR Reduce 793 AND Reduce 793 OR Reduce 793 RPAREN Reduce 793 RBRACE Reduce 793 SEMICOLON Reduce 793 QUESTION Reduce 793 COMMA Reduce 793 AT Reduce 793 $eof Reduce 793 Default reduction to rule 793 STATE 594 ---------------------------------------------------------------------- ( 371 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name GREATER_EQUAL ShiftExpression . (787) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1114 abstract Reduce 787 final Reduce 787 instanceof Reduce 787 native Reduce 787 private Reduce 787 protected Reduce 787 public Reduce 787 static Reduce 787 strictfp Reduce 787 synchronized Reduce 787 transient Reduce 787 volatile Reduce 787 EQUAL_EQUAL Reduce 787 LESS_EQUAL Reduce 787 GREATER_EQUAL Reduce 787 NOT_EQUAL Reduce 787 OR_OR Reduce 787 AND_AND Reduce 787 XOR Reduce 787 AND Reduce 787 OR Reduce 787 RPAREN Reduce 787 RBRACE Reduce 787 SEMICOLON Reduce 787 QUESTION Reduce 787 COMMA Reduce 787 AT Reduce 787 $eof Reduce 787 Default reduction to rule 787 STATE 595 ---------------------------------------------------------------------- ( 372 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name LESS_EQUAL ShiftExpression . (785) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 785 final Reduce 785 instanceof Reduce 785 native Reduce 785 private Reduce 785 protected Reduce 785 public Reduce 785 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1115 static Reduce 785 strictfp Reduce 785 synchronized Reduce 785 transient Reduce 785 volatile Reduce 785 EQUAL_EQUAL Reduce 785 LESS_EQUAL Reduce 785 GREATER_EQUAL Reduce 785 NOT_EQUAL Reduce 785 OR_OR Reduce 785 AND_AND Reduce 785 XOR Reduce 785 AND Reduce 785 OR Reduce 785 RPAREN Reduce 785 RBRACE Reduce 785 SEMICOLON Reduce 785 QUESTION Reduce 785 COMMA Reduce 785 AT Reduce 785 $eof Reduce 785 Default reduction to rule 785 STATE 596 ---------------------------------------------------------------------- ( 373 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name GREATER ShiftExpression . (783) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 783 final Reduce 783 instanceof Reduce 783 native Reduce 783 private Reduce 783 protected Reduce 783 public Reduce 783 static Reduce 783 strictfp Reduce 783 synchronized Reduce 783 transient Reduce 783 volatile Reduce 783 EQUAL_EQUAL Reduce 783 LESS_EQUAL Reduce 783 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1116 GREATER_EQUAL Reduce 783 NOT_EQUAL Reduce 783 OR_OR Reduce 783 AND_AND Reduce 783 XOR Reduce 783 AND Reduce 783 OR Reduce 783 RPAREN Reduce 783 RBRACE Reduce 783 SEMICOLON Reduce 783 QUESTION Reduce 783 COMMA Reduce 783 AT Reduce 783 $eof Reduce 783 Default reduction to rule 783 STATE 597 ---------------------------------------------------------------------- ( 374 532 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name LESS ShiftExpression . (781) UNSIGNED_RIGHT_SHIFT Shift 300 RIGHT_SHIFT Shift 301 LEFT_SHIFT Shift 302 abstract Reduce 781 final Reduce 781 instanceof Reduce 781 native Reduce 781 private Reduce 781 protected Reduce 781 public Reduce 781 static Reduce 781 strictfp Reduce 781 synchronized Reduce 781 transient Reduce 781 volatile Reduce 781 EQUAL_EQUAL Reduce 781 LESS_EQUAL Reduce 781 GREATER_EQUAL Reduce 781 NOT_EQUAL Reduce 781 OR_OR Reduce 781 AND_AND Reduce 781 XOR Reduce 781 AND Reduce 781 OR Reduce 781 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1117 RPAREN Reduce 781 RBRACE Reduce 781 SEMICOLON Reduce 781 QUESTION Reduce 781 COMMA Reduce 781 AT Reduce 781 $eof Reduce 781 Default reduction to rule 781 STATE 598 ---------------------------------------------------------------------- ( 375 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name UNSIGNED_RIGHT_SHIFT AdditiveExpression . (778) MINUS Shift 303 PLUS Shift 304 abstract Reduce 778 final Reduce 778 instanceof Reduce 778 native Reduce 778 private Reduce 778 protected Reduce 778 public Reduce 778 static Reduce 778 strictfp Reduce 778 synchronized Reduce 778 transient Reduce 778 volatile Reduce 778 EQUAL_EQUAL Reduce 778 LESS_EQUAL Reduce 778 GREATER_EQUAL Reduce 778 NOT_EQUAL Reduce 778 LEFT_SHIFT Reduce 778 RIGHT_SHIFT Reduce 778 UNSIGNED_RIGHT_SHIFT Reduce 778 OR_OR Reduce 778 AND_AND Reduce 778 XOR Reduce 778 AND Reduce 778 OR Reduce 778 GREATER Reduce 778 LESS Reduce 778 RPAREN Reduce 778 RBRACE Reduce 778 SEMICOLON Reduce 778 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1118 QUESTION Reduce 778 COMMA Reduce 778 AT Reduce 778 $eof Reduce 778 Default reduction to rule 778 STATE 599 ---------------------------------------------------------------------- ( 376 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name RIGHT_SHIFT AdditiveExpression . (776) MINUS Shift 303 PLUS Shift 304 abstract Reduce 776 final Reduce 776 instanceof Reduce 776 native Reduce 776 private Reduce 776 protected Reduce 776 public Reduce 776 static Reduce 776 strictfp Reduce 776 synchronized Reduce 776 transient Reduce 776 volatile Reduce 776 EQUAL_EQUAL Reduce 776 LESS_EQUAL Reduce 776 GREATER_EQUAL Reduce 776 NOT_EQUAL Reduce 776 LEFT_SHIFT Reduce 776 RIGHT_SHIFT Reduce 776 UNSIGNED_RIGHT_SHIFT Reduce 776 OR_OR Reduce 776 AND_AND Reduce 776 XOR Reduce 776 AND Reduce 776 OR Reduce 776 GREATER Reduce 776 LESS Reduce 776 RPAREN Reduce 776 RBRACE Reduce 776 SEMICOLON Reduce 776 QUESTION Reduce 776 COMMA Reduce 776 AT Reduce 776 $eof Reduce 776 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1119 Default reduction to rule 776 STATE 600 ---------------------------------------------------------------------- ( 377 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name LEFT_SHIFT AdditiveExpression . (774) MINUS Shift 303 PLUS Shift 304 abstract Reduce 774 final Reduce 774 instanceof Reduce 774 native Reduce 774 private Reduce 774 protected Reduce 774 public Reduce 774 static Reduce 774 strictfp Reduce 774 synchronized Reduce 774 transient Reduce 774 volatile Reduce 774 EQUAL_EQUAL Reduce 774 LESS_EQUAL Reduce 774 GREATER_EQUAL Reduce 774 NOT_EQUAL Reduce 774 LEFT_SHIFT Reduce 774 RIGHT_SHIFT Reduce 774 UNSIGNED_RIGHT_SHIFT Reduce 774 OR_OR Reduce 774 AND_AND Reduce 774 XOR Reduce 774 AND Reduce 774 OR Reduce 774 GREATER Reduce 774 LESS Reduce 774 RPAREN Reduce 774 RBRACE Reduce 774 SEMICOLON Reduce 774 QUESTION Reduce 774 COMMA Reduce 774 AT Reduce 774 $eof Reduce 774 Default reduction to rule 774 STATE 601 ---------------------------------------------------------------------- ( 378 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1120 MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name MINUS MultiplicativeExpression . (771) REMAINDER Shift 297 DIVIDE Shift 298 MULTIPLY Shift 299 abstract Reduce 771 final Reduce 771 instanceof Reduce 771 native Reduce 771 private Reduce 771 protected Reduce 771 public Reduce 771 static Reduce 771 strictfp Reduce 771 synchronized Reduce 771 transient Reduce 771 volatile Reduce 771 EQUAL_EQUAL Reduce 771 LESS_EQUAL Reduce 771 GREATER_EQUAL Reduce 771 NOT_EQUAL Reduce 771 LEFT_SHIFT Reduce 771 RIGHT_SHIFT Reduce 771 UNSIGNED_RIGHT_SHIFT Reduce 771 OR_OR Reduce 771 AND_AND Reduce 771 PLUS Reduce 771 MINUS Reduce 771 XOR Reduce 771 AND Reduce 771 OR Reduce 771 GREATER Reduce 771 LESS Reduce 771 RPAREN Reduce 771 RBRACE Reduce 771 SEMICOLON Reduce 771 QUESTION Reduce 771 COMMA Reduce 771 AT Reduce 771 $eof Reduce 771 Default reduction to rule 771 STATE 602 ---------------------------------------------------------------------- ( 379 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1121 MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name PLUS MultiplicativeExpression . (769) REMAINDER Shift 297 DIVIDE Shift 298 MULTIPLY Shift 299 abstract Reduce 769 final Reduce 769 instanceof Reduce 769 native Reduce 769 private Reduce 769 protected Reduce 769 public Reduce 769 static Reduce 769 strictfp Reduce 769 synchronized Reduce 769 transient Reduce 769 volatile Reduce 769 EQUAL_EQUAL Reduce 769 LESS_EQUAL Reduce 769 GREATER_EQUAL Reduce 769 NOT_EQUAL Reduce 769 LEFT_SHIFT Reduce 769 RIGHT_SHIFT Reduce 769 UNSIGNED_RIGHT_SHIFT Reduce 769 OR_OR Reduce 769 AND_AND Reduce 769 PLUS Reduce 769 MINUS Reduce 769 XOR Reduce 769 AND Reduce 769 OR Reduce 769 GREATER Reduce 769 LESS Reduce 769 RPAREN Reduce 769 RBRACE Reduce 769 SEMICOLON Reduce 769 QUESTION Reduce 769 COMMA Reduce 769 AT Reduce 769 $eof Reduce 769 Default reduction to rule 769 STATE 603 ---------------------------------------------------------------------- ( 383 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1122 ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression .COLON ConditionalExpression COLON Shift 735 STATE 604 ---------------------------------------------------------------------- ( 384 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName OR_OR ConditionalAndExpression . (809) AND_AND Shift 317 abstract Reduce 809 final Reduce 809 native Reduce 809 private Reduce 809 protected Reduce 809 public Reduce 809 static Reduce 809 strictfp Reduce 809 synchronized Reduce 809 transient Reduce 809 volatile Reduce 809 OR_OR Reduce 809 RPAREN Reduce 809 RBRACE Reduce 809 SEMICOLON Reduce 809 QUESTION Reduce 809 COMMA Reduce 809 AT Reduce 809 $eof Reduce 809 Default reduction to rule 809 STATE 605 ---------------------------------------------------------------------- ( 386 ) CatchHeader ::= catch LPAREN CatchFormalParameter .RPAREN LBRACE RPAREN Shift 736 STATE 606 ---------------------------------------------------------------------- ( 386 658 ) CatchFormalParameter ::= Modifiersopt .CatchType VariableDeclaratorId IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1123 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 ::= . (71) 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 22 Identifier Shift 970 Type Gt/Rd 265 UnionType Goto 738 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1124 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 1144 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Goto 1144 CatchType Goto 737 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 607 ---------------------------------------------------------------------- ( 387 ) EnumConstantHeader ::= EnumConstantHeaderName ForceNoDiet Argumentsopt . RestoreDiet RestoreDiet ::= . (237) RestoreDiet Gt/Rd 673 abstract Reduce 237 final Reduce 237 native Reduce 237 private Reduce 237 protected Reduce 237 public Reduce 237 static Reduce 237 strictfp Reduce 237 synchronized Reduce 237 transient Reduce 237 volatile Reduce 237 LBRACE Reduce 237 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1125 RBRACE Reduce 237 SEMICOLON Reduce 237 COMMA Reduce 237 AT Reduce 237 $eof Reduce 237 Default reduction to rule 237 STATE 608 ---------------------------------------------------------------------- ( 387 ) Arguments ::= LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1126 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1127 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 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1128 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1129 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1130 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 739 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1131 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 609 ---------------------------------------------------------------------- ( 388 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims MethodHeaderThrowsClause TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (641) Dimsopt ::= .Dims LBRACKET Shift 199 AT308 Shift 22 Dims Goto 1134 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dimsopt Gt/Rd 253 MethodHeaderExtendedDims Goto 740 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1132 abstract Reduce 641 default Reduce 641 final Reduce 641 native Reduce 641 private Reduce 641 protected Reduce 641 public Reduce 641 static Reduce 641 strictfp Reduce 641 synchronized Reduce 641 throws Reduce 641 transient Reduce 641 volatile Reduce 641 AT Reduce 641 $eof Reduce 641 Default reduction to rule 641 STATE 610 ---------------------------------------------------------------------- ( 389 ) RecoveryMethodHeaderName ::= ModifiersWithDefault Type Identifier .LPAREN LPAREN Sh/Rd 867 STATE 611 ---------------------------------------------------------------------- ( 390 ) RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters Type . Identifier LPAREN Identifier Shift 741 STATE 612 ---------------------------------------------------------------------- ( 391 ) ArrayCreationHeader ::= new PrimitiveType DimWithOrWithOutExprs . (513) DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1133 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 22 TypeAnnotations Goto 473 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 473 DimWithOrWithOutExpr Gt/Rd 520 abstract Reduce 513 final Reduce 513 native Reduce 513 private Reduce 513 protected Reduce 513 public Reduce 513 static Reduce 513 strictfp Reduce 513 synchronized Reduce 513 transient Reduce 513 volatile Reduce 513 AT Reduce 513 $eof Reduce 513 LBRACKET Reduce 71 Default reduction to rule 513 STATE 613 ---------------------------------------------------------------------- ( 392 ) AllocationHeader ::= new ClassType LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1134 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1135 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 ::= .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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1136 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 Mon Oct 4 09:57:22 2021 Page 1137 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1138 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1139 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 742 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 614 ---------------------------------------------------------------------- ( 393 ) ArrayCreationHeader ::= new ClassOrInterfaceType DimWithOrWithOutExprs . (514) DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 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 Mon Oct 4 09:57:22 2021 Page 1140 SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 22 TypeAnnotations Goto 473 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 473 DimWithOrWithOutExpr Gt/Rd 520 abstract Reduce 514 final Reduce 514 native Reduce 514 private Reduce 514 protected Reduce 514 public Reduce 514 static Reduce 514 strictfp Reduce 514 synchronized Reduce 514 transient Reduce 514 volatile Reduce 514 AT Reduce 514 $eof Reduce 514 LBRACKET Reduce 71 Default reduction to rule 514 STATE 615 ---------------------------------------------------------------------- ( 394 408 ) RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN Identifier Shift 743 STATE 616 ---------------------------------------------------------------------- ( 395 ) VariableDeclaratorId ::= Identifier .Dimsopt RecoveryMethodHeaderName ::= Modifiersopt Type Identifier .LPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1141 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 ::= . (641) LPAREN Sh/Rd 865 AT308 Shift 22 LBRACKET Shift 199 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Gt/Rd 238 Dimsopt Gt/Rd 238 SEMICOLON Reduce 641 COMMA Reduce 641 EQUAL Reduce 641 Default reduction to rule 641 STATE 617 ---------------------------------------------------------------------- ( 396 ) ModuleHeader ::= Modifiersopt ModuleModifieropt module .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 744 SimpleName Goto 744 UnannotatableName Goto 744 STATE 618 ---------------------------------------------------------------------- ( 398 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1142 UnannotatableName ::= UnannotatableName .DOT SimpleName SingleRequiresModuleName ::= requires RequiresModifiersopt UnannotatableName . (115) DOT Shift 416 SEMICOLON Reduce 115 Default reduction to rule 115 STATE 619 ---------------------------------------------------------------------- ( 401 ) TargetModuleListopt ::= to TargetModuleNameList . (125) TargetModuleNameList ::= TargetModuleNameList .COMMA TargetModuleName COMMA Shift 745 SEMICOLON Reduce 125 Default reduction to rule 125 STATE 620 ---------------------------------------------------------------------- ( 401 745 ) UnannotatableName ::= UnannotatableName .DOT SimpleName TargetModuleName ::= UnannotatableName . (126) DOT Shift 416 SEMICOLON Reduce 126 COMMA Reduce 126 Default reduction to rule 126 STATE 621 ---------------------------------------------------------------------- ( 405 ) ServiceImplNameList ::= ServiceImplNameList .COMMA ServiceImplName WithClause ::= with ServiceImplNameList . (139) COMMA Shift 746 SEMICOLON Reduce 139 Default reduction to rule 139 STATE 622 ---------------------------------------------------------------------- ( 405 746 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1143 QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName ServiceImplName ::= Name . (136) DOT Shift 423 SEMICOLON Reduce 136 COMMA Reduce 136 Default reduction to rule 136 STATE 623 ---------------------------------------------------------------------- ( 409 ) Initializer ::= Diet NestedMethod CreateInitializer .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) OpenBlock Goto 69 Block Gt/Rd 217 LBRACE Reduce 321 Default reduction to rule 321 STATE 624 ---------------------------------------------------------------------- ( 410 ) MethodBody ::= NestedMethod LBRACE BlockStatementsopt .RBRACE RBRACE Sh/Rd 270 STATE 625 ---------------------------------------------------------------------- ( 411 ) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations . ReduceImports InternalCompilationUnit ::= PackageDeclaration ImportDeclarations . ReduceImports TypeDeclarations ImportDeclarations ::= ImportDeclarations .ImportDeclaration ReduceImports ::= . (140) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1144 SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY import Shift 142 SingleTypeImportDeclarationName Goto 143 TypeImportOnDemandDeclarationName Goto 141 SingleStaticImportDeclarationName Goto 140 StaticImportOnDemandDeclarationName Goto 139 SingleTypeImportDeclaration Gt/Rd 165 TypeImportOnDemandDeclaration Gt/Rd 165 SingleStaticImportDeclaration Gt/Rd 165 StaticImportOnDemandDeclaration Gt/Rd 165 ReduceImports Goto 747 ImportDeclaration Gt/Rd 165 abstract Reduce 140 class Reduce 140 enum Reduce 140 final Reduce 140 interface Reduce 140 native Reduce 140 private Reduce 140 protected Reduce 140 public Reduce 140 static Reduce 140 strictfp Reduce 140 synchronized Reduce 140 transient Reduce 140 volatile Reduce 140 SEMICOLON Reduce 140 AT Reduce 140 $eof Reduce 140 Default reduction to rule 140 STATE 626 ---------------------------------------------------------------------- ( 411 ) InternalCompilationUnit ::= PackageDeclaration TypeDeclarations . (92) TypeDeclarations ::= TypeDeclarations .TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1145 Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 182 AT Shift 79 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1146 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiers Goto 123 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 ClassDeclaration Gt/Rd 167 InterfaceDeclaration Gt/Rd 167 EnumDeclaration Gt/Rd 167 AnnotationTypeDeclaration Gt/Rd 167 TypeDeclaration Gt/Rd 167 $eof Reduce 92 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 637 STATE 627 ---------------------------------------------------------------------- ( 412 ) ModuleBody ::= LBRACE .ModuleStatementsOpt RBRACE ModuleStatementsOpt ::= . (105) ModuleStatementsOpt ::= .ModuleStatements IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1147 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 ProvidesInterface ::= .provides Name provides Shift 181 uses Shift 179 opens Shift 183 exports Shift 177 requires Shift 175 ModuleStatement Gt/Rd 107 ModuleStatements Goto 749 SingleRequiresModuleName Goto 174 ExportsHeader Goto 176 OpensHeader Goto 182 UsesHeader Goto 178 ProvidesInterface Goto 180 RequiresStatement Gt/Rd 109 ExportsStatement Gt/Rd 110 OpensStatement Gt/Rd 111 UsesStatement Gt/Rd 112 ProvidesStatement Gt/Rd 113 ModuleStatementsOpt Goto 748 RBRACE Reduce 105 Default reduction to rule 105 STATE 628 ---------------------------------------------------------------------- ( 415 ) InternalCompilationUnit ::= ImportDeclarations ReduceImports . (93) InternalCompilationUnit ::= ImportDeclarations ReduceImports .TypeDeclarations InternalCompilationUnit ::= ImportDeclarations ReduceImports . ModuleDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1148 ModuleDeclaration ::= .ModuleHeader ModuleBody ModuleHeader ::= .Modifiersopt ModuleModifieropt module UnannotatableName 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1149 NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 182 AT Shift 79 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifiersopt Goto 413 ModuleHeader Goto 412 ClassDeclaration Goto 750 InterfaceDeclaration Goto 750 EnumDeclaration Goto 750 AnnotationTypeDeclaration Goto 750 AnnotationTypeDeclarationHeaderName Goto 31 Modifiers Goto 123 AnnotationTypeDeclarationHeader Goto 32 EnumHeaderName Goto 29 EnumHeader Goto 30 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 InterfaceHeader Goto 35 ClassHeaderName Goto 36 Modifier Goto 958 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 ClassHeaderName1 Goto 38 ClassHeader Goto 39 TypeDeclaration Goto 750 TypeDeclarations Goto 750 ModuleDeclaration Gt/Rd 97 $eof Reduce 93 class Reduce 637 enum Reduce 637 interface Reduce 637 module Reduce 637 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1150 open Reduce 637 Default reduction to rule 637 STATE 629 ---------------------------------------------------------------------- ( 419 ) MemberValuePairs ::= MemberValuePairs COMMA .MemberValuePair MemberValuePair ::= .SimpleName EQUAL EnterMemberValue MemberValue ExitMemberValue Identifier Shift 751 SimpleName Goto 751 MemberValuePair Gt/Rd 846 STATE 630 ---------------------------------------------------------------------- ( 420 751 ) MemberValuePair ::= SimpleName EQUAL .EnterMemberValue MemberValue ExitMemberValue EnterMemberValue ::= . (848) EnterMemberValue Goto 752 Identifier Reduce 848 boolean Reduce 848 byte Reduce 848 char Reduce 848 double Reduce 848 false Reduce 848 float Reduce 848 int Reduce 848 long Reduce 848 new Reduce 848 null Reduce 848 short Reduce 848 super Reduce 848 switch Reduce 848 this Reduce 848 true Reduce 848 void Reduce 848 IntegerLiteral Reduce 848 LongLiteral Reduce 848 FloatingPointLiteral Reduce 848 DoubleLiteral Reduce 848 CharacterLiteral Reduce 848 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1151 StringLiteral Reduce 848 PLUS_PLUS Reduce 848 MINUS_MINUS Reduce 848 PLUS Reduce 848 MINUS Reduce 848 NOT Reduce 848 TWIDDLE Reduce 848 LPAREN Reduce 848 LBRACE Reduce 848 AT Reduce 848 BeginLambda Reduce 848 BeginIntersectionCast Reduce 848 AT308 Reduce 848 Default reduction to rule 848 STATE 631 ---------------------------------------------------------------------- ( 422 ) TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 TypeArgumentList ::= TypeArgumentList .COMMA TypeArgument TypeArgumentList2 ::= TypeArgumentList .COMMA TypeArgument2 COMMA Shift 753 STATE 632 ---------------------------------------------------------------------- ( 422 753 754 822 823 864 896 897 ) ClassOrInterfaceType ::= ClassOrInterface . (51) GenericType ::= ClassOrInterface .TypeArguments GenericType ::= ClassOrInterface .LESS GREATER ReferenceType1 ::= ClassOrInterface .LESS TypeArgumentList2 ReferenceType2 ::= ClassOrInterface .LESS TypeArgumentList3 TypeArguments ::= .LESS TypeArgumentList1 LESS Shift 754 TypeArguments Gt/Rd 55 RIGHT_SHIFT Reduce 49 UNSIGNED_RIGHT_SHIFT Reduce 49 GREATER Reduce 49 COMMA Reduce 49 Default reduction to rule 51 STATE 633 ---------------------------------------------------------------------- ( 422 753 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1152 TypeArgument ::= ReferenceType . (697) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT RIGHT_SHIFT Sh/Rd 707 GREATER Sh/Rd 701 COMMA Reduce 697 Default reduction to rule 697 STATE 634 ---------------------------------------------------------------------- ( 422 753 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void Wildcard ::= TypeAnnotationsopt .QUESTION Wildcard ::= TypeAnnotationsopt .QUESTION WildcardBounds Wildcard1 ::= TypeAnnotationsopt .QUESTION GREATER Wildcard1 ::= TypeAnnotationsopt .QUESTION WildcardBounds1 Wildcard2 ::= TypeAnnotationsopt .QUESTION RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt .QUESTION WildcardBounds2 QUESTION Shift 755 void Sh/Rd 41 boolean Sh/Rd 40 double Sh/Rd 37 float Sh/Rd 37 char Sh/Rd 37 long Sh/Rd 37 int Sh/Rd 37 short Sh/Rd 37 byte Sh/Rd 37 IntegralType Gt/Rd 37 FloatingPointType Gt/Rd 37 NumericType Gt/Rd 37 STATE 635 ---------------------------------------------------------------------- ( 424 ) WildcardBounds ::= super .ReferenceType WildcardBounds1 ::= super .ReferenceType1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1153 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 ::= . (71) 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 22 Identifier Shift 970 ReferenceType Goto 756 ClassOrInterface Goto 193 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1154 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 756 ReferenceType1 Gt/Rd 721 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 636 ---------------------------------------------------------------------- ( 424 ) 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1155 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 22 Identifier Shift 970 ReferenceType Goto 757 ClassOrInterface Goto 193 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 757 ReferenceType1 Gt/Rd 720 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 637 ---------------------------------------------------------------------- ( 430 ) TypeElidedFormalParameter ::= Modifiersopt .Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1156 Identifier Sh/Rd 492 STATE 638 ---------------------------------------------------------------------- ( 431 ) 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 AT308 Shift 22 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotations Goto 758 STATE 639 ---------------------------------------------------------------------- ( 431 ) FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis ELLIPSIS Shift 759 STATE 640 ---------------------------------------------------------------------- ( 431 759 824 ) SimpleName ::= Identifier . (66) VariableDeclaratorId ::= Identifier .Dimsopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1157 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 ::= . (641) LBRACKET Shift 199 AT308 Shift 22 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Gt/Rd 238 Dimsopt Gt/Rd 238 DOT Reduce 67 RPAREN Reduce 641 COMMA Reduce 641 Default reduction to rule 641 STATE 641 ---------------------------------------------------------------------- ( 431 759 824 ) UnannotatableName ::= UnannotatableName .DOT SimpleName VariableDeclaratorIdOrThis ::= UnannotatableName .DOT this DOT Shift 760 STATE 642 ---------------------------------------------------------------------- ( 433 442 ) InterfaceTypeList ::= InterfaceTypeList COMMA .InterfaceType ClassOrInterfaceType ::= .ClassOrInterface IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1158 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 InterfaceType ::= .ClassOrInterfaceType AT308 Shift 22 Identifier Shift 970 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ClassOrInterfaceType Gt/Rd 208 InterfaceType Gt/Rd 207 STATE 643 ---------------------------------------------------------------------- ( 434 ) EnumBody ::= LBRACE COMMA EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 667 STATE 644 ---------------------------------------------------------------------- ( 437 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1159 EnumBody ::= LBRACE EnumConstants EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 669 STATE 645 ---------------------------------------------------------------------- ( 437 ) 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 Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers EnumConstantHeaderName ::= .Modifiersopt Identifier EnumConstantHeader ::= .EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet EnumConstant ::= .EnumConstantHeader ForceNoDiet ClassBody RestoreDiet EnumConstant ::= .EnumConstantHeader EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (680) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Shift 436 AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1160 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 EnumConstantHeaderName Goto 169 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 438 EnumConstantHeader Goto 439 EnumDeclarations Goto 761 EnumBodyDeclarationsopt Goto 761 EnumConstant Gt/Rd 671 RBRACE Reduce 680 Identifier Reduce 637 Default reduction to rule 680 STATE 646 ---------------------------------------------------------------------- ( 439 ) EnumConstant ::= EnumConstantHeader ForceNoDiet .ClassBody RestoreDiet ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 220 ClassBody Goto 762 STATE 647 ---------------------------------------------------------------------- ( 441 ) AnnotationTypeMemberDeclarationsopt ::= NestedType AnnotationTypeMemberDeclarations . (825) AnnotationTypeMemberDeclarations ::= AnnotationTypeMemberDeclarations . AnnotationTypeMemberDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1161 Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1162 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 182 AT Shift 79 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 AnnotationMethodHeaderName Goto 138 Modifiers Goto 123 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 136 FieldDeclaration Gt/Rd 827 ConstructorHeader Goto 126 ConstructorHeaderName Goto 128 ClassDeclaration Gt/Rd 827 InterfaceDeclaration Gt/Rd 827 EnumDeclaration Gt/Rd 827 AnnotationTypeDeclaration Gt/Rd 827 AnnotationTypeDeclarationHeaderName Goto 31 AnnotationTypeDeclarationHeader Goto 32 EnumHeaderName Goto 29 EnumHeader Goto 30 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 InterfaceHeader Goto 35 ClassHeaderName Goto 36 ClassHeaderName1 Goto 38 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1163 ClassHeader Goto 39 AnnotationMethodHeader Goto 135 ConstantDeclaration Gt/Rd 827 ConstructorDeclaration Gt/Rd 827 TypeDeclaration Gt/Rd 827 AnnotationTypeMemberDeclaration Gt/Rd 827 RBRACE Reduce 825 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 648 ---------------------------------------------------------------------- ( 443 ) TypeParameterList ::= TypeParameterList COMMA .TypeParameter TypeParameterList1 ::= TypeParameterList COMMA .TypeParameter1 TypeAnnotationsopt ::= . (71) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1164 TypeParameter1 ::= .TypeParameterHeader extends ReferenceType1 TypeParameter1 ::= .TypeParameterHeader extends ReferenceType AdditionalBoundList1 AT308 Shift 22 TypeParameterHeader Goto 445 TypeAnnotationsopt Goto 444 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 444 TypeParameter Gt/Rd 733 TypeParameter1 Gt/Rd 741 Identifier Reduce 71 Default reduction to rule 71 STATE 649 ---------------------------------------------------------------------- ( 445 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1165 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 22 Identifier Shift 970 ReferenceType Goto 763 ClassOrInterface Goto 193 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 763 ReferenceType1 Gt/Rd 743 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1166 Default reduction to rule 71 STATE 650 ---------------------------------------------------------------------- ( 447 ) InterfaceMemberDeclarations ::= InterfaceMemberDeclarations . InterfaceMemberDeclaration InterfaceMemberDeclarationsopt ::= NestedType InterfaceMemberDeclarations . (652) Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier Diet ::= . (216) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1167 StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt 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 Modifiersopt ::= . (637) 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 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 private Shift 958 protected Shift 958 public Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1168 static Shift 125 AT Shift 79 SEMICOLON Sh/Rd 297 FieldDeclaration Gt/Rd 296 Modifiers Goto 123 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 127 DefaultMethodHeaderName Goto 119 ModifiersWithDefault Goto 120 MethodHeaderName Goto 118 MethodHeader Goto 652 ConstructorHeader Goto 651 ConstructorHeaderName Goto 128 StaticInitializer Gt/Rd 296 Initializer Gt/Rd 296 Diet Goto 186 StaticOnly Goto 124 ClassHeader Goto 39 ClassHeaderName1 Goto 38 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 ConstantDeclaration Gt/Rd 296 DefaultMethodHeader Goto 653 AbstractMethodDeclaration Gt/Rd 296 InvalidConstructorDeclaration Gt/Rd 296 InvalidInitializer Gt/Rd 296 ClassDeclaration Gt/Rd 296 InterfaceDeclaration Gt/Rd 296 EnumDeclaration Gt/Rd 296 AnnotationTypeDeclaration Gt/Rd 296 InterfaceMemberDeclaration Gt/Rd 296 RBRACE Reduce 652 LBRACE Reduce 216 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1169 default Reduce 637 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 651 ---------------------------------------------------------------------- ( 447 650 ) InvalidConstructorDeclaration ::= ConstructorHeader .MethodBody InvalidConstructorDeclaration ::= ConstructorHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (271) SEMICOLON Sh/Rd 303 NestedMethod Goto 187 MethodBody Gt/Rd 302 LBRACE Reduce 271 Default reduction to rule 271 STATE 652 ---------------------------------------------------------------------- ( 447 650 ) AbstractMethodDeclaration ::= MethodHeader .SEMICOLON InterfaceMemberDeclaration ::= MethodHeader .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (271) SEMICOLON Sh/Rd 244 NestedMethod Goto 187 MethodBody Gt/Rd 300 LBRACE Reduce 271 Default reduction to rule 271 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1170 STATE 653 ---------------------------------------------------------------------- ( 447 650 ) InterfaceMemberDeclaration ::= DefaultMethodHeader .MethodBody InterfaceMemberDeclaration ::= DefaultMethodHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (271) SEMICOLON Sh/Rd 301 NestedMethod Goto 187 MethodBody Gt/Rd 299 LBRACE Reduce 271 Default reduction to rule 271 STATE 654 ---------------------------------------------------------------------- ( 450 ) ClassBodyDeclarations ::= ClassBodyDeclarations .ClassBodyDeclaration ClassBodyDeclarationsopt ::= NestedType ClassBodyDeclarations . (636) Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (216) ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .MethodHeader MethodBody IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1171 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1172 MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 225 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 private Shift 958 protected Shift 958 public Shift 958 AT Shift 79 static Shift 125 FieldDeclaration Gt/Rd 211 MethodDeclaration Gt/Rd 211 ClassDeclaration Gt/Rd 211 InterfaceDeclaration Gt/Rd 211 EnumDeclaration Gt/Rd 211 AnnotationTypeDeclaration Gt/Rd 211 AnnotationTypeDeclarationHeaderName Goto 31 Modifiers Goto 123 AnnotationTypeDeclarationHeader Goto 32 EnumHeaderName Goto 29 Modifiersopt Goto 127 EnumHeader Goto 30 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 InterfaceHeader Goto 35 ClassHeaderName Goto 36 ClassHeaderName1 Goto 38 ClassHeader Goto 39 MethodHeader Goto 122 MethodHeaderName Goto 118 DefaultMethodHeaderName Goto 119 ModifiersWithDefault Goto 120 AbstractMethodDeclaration Gt/Rd 211 DefaultMethodHeader Goto 121 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 StaticOnly Goto 124 ConstructorHeader Goto 126 ConstructorHeaderName Goto 128 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1173 ClassMemberDeclaration Gt/Rd 211 StaticInitializer Gt/Rd 211 ConstructorDeclaration Gt/Rd 211 Diet Goto 129 ClassBodyDeclaration Gt/Rd 211 RBRACE Reduce 636 LBRACE Reduce 216 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 class Reduce 637 default Reduce 637 double Reduce 637 enum Reduce 637 float Reduce 637 int Reduce 637 interface Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 LESS Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 655 ---------------------------------------------------------------------- ( 451 ) TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt . (430) TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt . Finally Finally ::= .finally Block finally Shift 657 Finally Gt/Rd 431 Identifier Reduce 430 abstract Reduce 430 assert Reduce 430 boolean Reduce 430 break Reduce 430 byte Reduce 430 case Reduce 430 char Reduce 430 class Reduce 430 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1174 continue Reduce 430 default Reduce 430 do Reduce 430 double Reduce 430 else Reduce 430 enum Reduce 430 false Reduce 430 final Reduce 430 float Reduce 430 for Reduce 430 if Reduce 430 int Reduce 430 interface Reduce 430 long Reduce 430 native Reduce 430 new Reduce 430 null Reduce 430 private Reduce 430 protected Reduce 430 public Reduce 430 return Reduce 430 short Reduce 430 static Reduce 430 strictfp Reduce 430 super Reduce 430 switch Reduce 430 synchronized Reduce 430 this Reduce 430 throw Reduce 430 transient Reduce 430 true Reduce 430 try Reduce 430 void Reduce 430 volatile Reduce 430 while Reduce 430 yield Reduce 430 IntegerLiteral Reduce 430 LongLiteral Reduce 430 FloatingPointLiteral Reduce 430 DoubleLiteral Reduce 430 CharacterLiteral Reduce 430 StringLiteral Reduce 430 PLUS_PLUS Reduce 430 MINUS_MINUS Reduce 430 LESS Reduce 430 LPAREN Reduce 430 LBRACE Reduce 430 RBRACE Reduce 430 SEMICOLON Reduce 430 AT Reduce 430 BeginLambda Reduce 430 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1175 AT308 Reduce 430 $eof Reduce 430 Default reduction to rule 430 STATE 656 ---------------------------------------------------------------------- ( 451 ) Catches ::= Catches .CatchClause Catchesopt ::= Catches . (661) CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block catch Shift 453 CatchClause Gt/Rd 446 Identifier Reduce 661 abstract Reduce 661 assert Reduce 661 boolean Reduce 661 break Reduce 661 byte Reduce 661 case Reduce 661 char Reduce 661 class Reduce 661 continue Reduce 661 default Reduce 661 do Reduce 661 double Reduce 661 else Reduce 661 enum Reduce 661 false Reduce 661 final Reduce 661 finally Reduce 661 float Reduce 661 for Reduce 661 if Reduce 661 int Reduce 661 interface Reduce 661 long Reduce 661 native Reduce 661 new Reduce 661 null Reduce 661 private Reduce 661 protected Reduce 661 public Reduce 661 return Reduce 661 short Reduce 661 static Reduce 661 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1176 strictfp Reduce 661 super Reduce 661 switch Reduce 661 synchronized Reduce 661 this Reduce 661 throw Reduce 661 transient Reduce 661 true Reduce 661 try Reduce 661 void Reduce 661 volatile Reduce 661 while Reduce 661 yield Reduce 661 IntegerLiteral Reduce 661 LongLiteral Reduce 661 FloatingPointLiteral Reduce 661 DoubleLiteral Reduce 661 CharacterLiteral Reduce 661 StringLiteral Reduce 661 PLUS_PLUS Reduce 661 MINUS_MINUS Reduce 661 LESS Reduce 661 LPAREN Reduce 661 LBRACE Reduce 661 RBRACE Reduce 661 SEMICOLON Reduce 661 AT Reduce 661 BeginLambda Reduce 661 AT308 Reduce 661 $eof Reduce 661 Default reduction to rule 661 STATE 657 ---------------------------------------------------------------------- ( 452 655 ) Finally ::= finally .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) OpenBlock Goto 69 Block Gt/Rd 448 LBRACE Reduce 321 Default reduction to rule 321 STATE 658 ---------------------------------------------------------------------- ( 453 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1177 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation CatchFormalParameter ::= .Modifiersopt CatchType VariableDeclaratorId Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 130 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 Modifiers Goto 131 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 606 CatchFormalParameter Goto 764 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1178 Identifier Reduce 637 boolean Reduce 637 byte Reduce 637 char Reduce 637 double Reduce 637 float Reduce 637 int Reduce 637 long Reduce 637 short Reduce 637 void Reduce 637 AT308 Reduce 637 Default reduction to rule 637 STATE 659 ---------------------------------------------------------------------- ( 455 ) Resources ::= Resources TrailingSemiColon .Resource Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1179 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization Resource ::= .Name 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1180 ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 1181 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 22 AT Shift 130 strictfp Shift 459 volatile Shift 459 transient Shift 459 synchronized Shift 459 native Shift 459 final Shift 459 abstract Shift 459 static Shift 459 private Shift 459 protected Shift 459 public Shift 459 null Shift 1002 StringLiteral Shift 1002 CharacterLiteral Shift 1002 DoubleLiteral Shift 1002 FloatingPointLiteral Shift 1002 LongLiteral Shift 1002 IntegerLiteral Shift 1002 false Shift 1002 true Shift 1002 LPAREN Sh/Rd 449 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 PrimitiveType Goto 89 ReferenceType Goto 460 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1182 TypeAnnotations Goto 86 QualifiedName Goto 1003 Name Goto 458 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 460 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 82 Modifier Goto 459 Modifiers Goto 459 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Primary Goto 456 QualifiedSuperReceiver Goto 58 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 456 BooleanLiteral Goto 1002 ClassInstanceCreationExpressionName Goto 59 LambdaParameters Goto 57 Literal Goto 1002 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 1008 FieldAccess Goto 457 MethodInvocation Goto 1007 ArrayAccess Goto 1006 LambdaExpression Goto 1005 ReferenceExpression Goto 1004 Type Goto 460 Resource Gt/Rd 437 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 660 ---------------------------------------------------------------------- ( 455 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1183 ResourceSpecification ::= LPAREN Resources ;opt .RPAREN RPAREN Sh/Rd 433 STATE 661 ---------------------------------------------------------------------- ( 455 ) ;opt ::= SEMICOLON . (435) TrailingSemiColon ::= SEMICOLON . (438) Identifier Reduce 438 abstract Reduce 438 boolean Reduce 438 byte Reduce 438 char Reduce 438 double Reduce 438 false Reduce 438 final Reduce 438 float Reduce 438 int Reduce 438 long Reduce 438 native Reduce 438 new Reduce 438 null Reduce 438 private Reduce 438 protected Reduce 438 public Reduce 438 short Reduce 438 static Reduce 438 strictfp Reduce 438 super Reduce 438 synchronized Reduce 438 this Reduce 438 transient Reduce 438 true Reduce 438 void Reduce 438 volatile Reduce 438 IntegerLiteral Reduce 438 LongLiteral Reduce 438 FloatingPointLiteral Reduce 438 DoubleLiteral Reduce 438 CharacterLiteral Reduce 438 StringLiteral Reduce 438 LPAREN Reduce 438 AT Reduce 438 BeginLambda Reduce 438 AT308 Reduce 438 RPAREN Reduce 435 Default reduction to rule 438 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1184 STATE 662 ---------------------------------------------------------------------- ( 459 ) Resource ::= Modifiers Type .PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization PushRealModifiers ::= . (338) PushRealModifiers Goto 765 Identifier Reduce 338 Default reduction to rule 338 STATE 663 ---------------------------------------------------------------------- ( 460 ) Resource ::= Type PushModifiers .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 504 VariableDeclaratorId Goto 766 STATE 664 ---------------------------------------------------------------------- ( 461 ) SynchronizedStatement ::= OnlySynchronized LPAREN Expression RPAREN .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) OpenBlock Goto 69 Block Gt/Rd 426 LBRACE Reduce 321 Default reduction to rule 321 STATE 665 ---------------------------------------------------------------------- ( 462 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1185 DoStatement ::= do Statement while LPAREN .Expression RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1186 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1187 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 Mon Oct 4 09:57:22 2021 Page 1188 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1189 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1190 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 767 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 666 ---------------------------------------------------------------------- ( 463 ) SwitchStatement ::= switch LPAREN Expression RPAREN .OpenBlock SwitchBlock OpenBlock ::= . (321) OpenBlock Goto 768 LBRACE Reduce 321 Default reduction to rule 321 STATE 667 ---------------------------------------------------------------------- ( 465 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1191 LambdaBody ::= ElidedLeftBraceAndReturn Expression . ElidedSemicolonAndRightBrace ElidedSemicolonAndRightBrace Sh/Rd 493 STATE 668 ---------------------------------------------------------------------- ( 466 ) MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier . LPAREN ArgumentListopt RPAREN LPAREN Shift 769 STATE 669 ---------------------------------------------------------------------- ( 467 ) MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1192 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1193 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 UnaryExpression ::= .PLUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1194 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1195 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1196 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 770 RPAREN Reduce 643 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1197 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 670 ---------------------------------------------------------------------- ( 469 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 771 STATE 671 ---------------------------------------------------------------------- ( 470 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 1198 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1199 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 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1200 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 Mon Oct 4 09:57:22 2021 Page 1201 RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1202 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1203 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 772 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 672 ---------------------------------------------------------------------- ( 471 ) ClassOrInterface ::= GenericType DOT Name . (54) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName DOT Shift 423 abstract Reduce 54 final Reduce 54 implements Reduce 54 native Reduce 54 private Reduce 54 protected Reduce 54 public Reduce 54 static Reduce 54 strictfp Reduce 54 synchronized Reduce 54 transient Reduce 54 volatile Reduce 54 AND Reduce 54 LESS Reduce 54 LPAREN Reduce 54 RPAREN Reduce 54 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1204 LBRACE Reduce 54 LBRACKET Reduce 54 SEMICOLON Reduce 54 COMMA Reduce 54 AT Reduce 54 COLON_COLON Reduce 54 AT308 Reduce 54 $eof Reduce 54 Default reduction to rule 54 STATE 673 ---------------------------------------------------------------------- ( 473 ) DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET .Expression RBRACKET DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET .RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1205 SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1206 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 UnaryExpressionNotPlusMinus ::= .PostfixExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1207 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1208 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 522 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1209 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 773 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1210 Default reduction to rule 71 STATE 674 ---------------------------------------------------------------------- ( 474 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN UnqualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1211 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1212 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 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1213 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1214 ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1215 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 774 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1216 Default reduction to rule 71 STATE 675 ---------------------------------------------------------------------- ( 475 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt LPAREN Shift 775 STATE 676 ---------------------------------------------------------------------- ( 480 ) MethodInvocation ::= Primary DOT Identifier LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1217 SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1218 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 Mon Oct 4 09:57:22 2021 Page 1219 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1220 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1221 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 776 RPAREN Reduce 643 boolean Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1222 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 677 ---------------------------------------------------------------------- ( 481 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (503) EnterInstanceCreationArgumentList Goto 777 LPAREN Reduce 503 Default reduction to rule 503 STATE 678 ---------------------------------------------------------------------- ( 481 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1223 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 22 Identifier Shift 970 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ClassOrInterfaceType Goto 778 ClassType Goto 778 STATE 679 ---------------------------------------------------------------------- ( 482 ) ExplicitConstructorInvocation ::= Primary DOT this LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 1224 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1225 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 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1226 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 RelationalExpression ::= .ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1227 RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1228 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1229 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 779 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 680 ---------------------------------------------------------------------- ( 483 525 ) MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 780 STATE 681 ---------------------------------------------------------------------- ( 483 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 781 STATE 682 ---------------------------------------------------------------------- ( 483 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super .LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1230 LPAREN Shift 782 STATE 683 ---------------------------------------------------------------------- ( 484 ) ExplicitConstructorInvocation ::= Primary DOT super LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1231 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1232 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 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1233 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1234 Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1235 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 783 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 684 ---------------------------------------------------------------------- ( 485 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1236 MethodInvocation ::= super DOT OnlyTypeArguments Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 784 STATE 685 ---------------------------------------------------------------------- ( 486 ) MethodInvocation ::= super DOT Identifier LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1237 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 ::= .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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1238 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 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1239 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1240 AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1241 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 785 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1242 STATE 686 ---------------------------------------------------------------------- ( 488 ) ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt RPAREN . SEMICOLON SEMICOLON Sh/Rd 278 STATE 687 ---------------------------------------------------------------------- ( 489 ) ArgumentList ::= ArgumentList COMMA .Expression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1243 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1244 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 Mon Oct 4 09:57:22 2021 Page 1245 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1246 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1247 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Gt/Rd 512 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 688 ---------------------------------------------------------------------- ( 490 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1248 ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 786 STATE 689 ---------------------------------------------------------------------- ( 491 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 787 STATE 690 ---------------------------------------------------------------------- ( 492 ) ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt RPAREN . SEMICOLON SEMICOLON Sh/Rd 276 STATE 691 ---------------------------------------------------------------------- ( 494 ) AssertStatement ::= assert Expression COLON Expression .SEMICOLON SEMICOLON Sh/Rd 418 STATE 692 ---------------------------------------------------------------------- ( 495 ) IfThenStatement ::= if LPAREN Expression RPAREN .Statement IfThenElseStatement ::= if LPAREN Expression RPAREN .StatementNoShortIf else Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1249 PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 ::= . (321) Statement ::= .StatementWithoutTrailingSubstatement StatementNoShortIf ::= .StatementWithoutTrailingSubstatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1250 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN 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 Expression 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 Mon Oct 4 09:57:22 2021 Page 1251 YieldStatement ::= .yield Expression SEMICOLON 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1252 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 Mon Oct 4 09:57:22 2021 Page 1253 StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 for Shift 791 while Shift 792 if Shift 793 Label Goto 794 EnhancedForStatementHeader Goto 790 StatementWithoutTrailingSubstatement Goto 789 LabeledStatementNoShortIf Goto 788 IfThenElseStatementNoShortIf Goto 788 WhileStatementNoShortIf Goto 788 ForStatementNoShortIf Goto 788 EnhancedForStatementNoShortIf Goto 788 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1254 AssertStatement Goto 1145 Block Goto 1145 EmptyStatement Goto 1145 ExpressionStatement Goto 1145 SwitchStatement Goto 1145 DoStatement Goto 1145 BreakStatement Goto 1145 ContinueStatement Goto 1145 ReturnStatement Goto 1145 SynchronizedStatement Goto 1145 ThrowStatement Goto 1145 TryStatement Goto 1145 TryStatementWithResources Goto 1145 YieldStatement Goto 1145 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1255 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 EnhancedForStatementHeaderInit Goto 76 LabeledStatement Gt/Rd 379 IfThenStatement Gt/Rd 379 IfThenElseStatement Gt/Rd 379 WhileStatement Gt/Rd 379 ForStatement Gt/Rd 379 EnhancedForStatement Gt/Rd 379 Statement Gt/Rd 379 StatementNoShortIf Goto 788 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 693 ---------------------------------------------------------------------- ( 496 ) WhileStatement ::= while LPAREN Expression RPAREN .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 1256 TypeAnnotationsopt ::= . (71) 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 ::= . (321) 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 Statement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1257 IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 Mon Oct 4 09:57:22 2021 Page 1258 ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 1259 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 75 while Shift 73 if Shift 72 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1260 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 AssertStatement Gt/Rd 407 Block Gt/Rd 407 EmptyStatement Gt/Rd 407 ExpressionStatement Gt/Rd 407 SwitchStatement Gt/Rd 407 DoStatement Gt/Rd 407 BreakStatement Gt/Rd 407 ContinueStatement Gt/Rd 407 ReturnStatement Gt/Rd 407 SynchronizedStatement Gt/Rd 407 ThrowStatement Gt/Rd 407 TryStatement Gt/Rd 407 TryStatementWithResources Gt/Rd 407 YieldStatement Gt/Rd 407 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1261 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 Label Goto 71 EnhancedForStatementHeader Goto 74 EnhancedForStatementHeaderInit Goto 76 StatementWithoutTrailingSubstatement Gt/Rd 407 LabeledStatement Gt/Rd 407 IfThenStatement Gt/Rd 407 IfThenElseStatement Gt/Rd 407 WhileStatement Gt/Rd 407 ForStatement Gt/Rd 407 EnhancedForStatement Gt/Rd 407 Statement Gt/Rd 407 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 694 ---------------------------------------------------------------------- ( 497 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON .Expressionopt SEMICOLON ForUpdateopt RPAREN Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1262 Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1263 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1264 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 Mon Oct 4 09:57:22 2021 Page 1265 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (628) MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1266 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AssignmentExpression Gt/Rd 625 ConditionalOrExpression Goto 113 InclusiveOrExpression Goto 111 ConditionalAndExpression Goto 114 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PostfixExpression Goto 115 Literal Goto 945 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 PrimitiveType Goto 95 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1267 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 945 ArrayCreationWithoutArrayInitializer Goto 956 SwitchExpression Goto 946 CastExpression Goto 946 UnaryExpression Goto 946 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalExpression Goto 957 Assignment Goto 957 Expression Goto 795 Expressionopt Goto 795 SEMICOLON Reduce 628 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 695 ---------------------------------------------------------------------- ( 498 ) LocalVariableDeclaration ::= Type PushModifiers .VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers .Identifier Dimsopt VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 796 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1268 VariableDeclaratorId Goto 505 VariableDeclarator Goto 503 VariableDeclarators Goto 503 STATE 696 ---------------------------------------------------------------------- ( 499 ) LocalVariableDeclaration ::= Modifiers Type .PushRealModifiers VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type . PushRealModifiers Identifier Dimsopt PushRealModifiers ::= . (338) PushRealModifiers Goto 797 Identifier Reduce 338 Default reduction to rule 338 STATE 697 ---------------------------------------------------------------------- ( 501 889 ) StatementExpressionList ::= StatementExpressionList COMMA .StatementExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1269 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 NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1270 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 Mon Oct 4 09:57:22 2021 Page 1271 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 49 PLUS_PLUS Shift 50 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 941 BooleanLiteral Goto 935 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 983 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1272 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 935 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 54 FieldAccess Goto 940 MethodInvocation Goto 53 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 StatementExpression Gt/Rd 416 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 698 ---------------------------------------------------------------------- ( 503 558 701 ) VariableDeclarators ::= VariableDeclarators COMMA .VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 504 VariableDeclaratorId Goto 505 VariableDeclarator Gt/Rd 230 STATE 699 ---------------------------------------------------------------------- ( 505 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1273 VariableDeclarator ::= VariableDeclaratorId EnterVariable . ExitVariableWithoutInitialization VariableDeclarator ::= VariableDeclaratorId EnterVariable .EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ExitVariableWithoutInitialization ::= . (235) EQUAL Shift 798 ExitVariableWithoutInitialization Gt/Rd 231 SEMICOLON Reduce 235 COMMA Reduce 235 Default reduction to rule 235 STATE 700 ---------------------------------------------------------------------- ( 506 ) AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier .TypeParameters AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier . (820) TypeParameters ::= .LESS TypeParameterList1 LESS Shift 214 TypeParameters Gt/Rd 819 abstract Reduce 820 extends Reduce 820 final Reduce 820 implements Reduce 820 native Reduce 820 private Reduce 820 protected Reduce 820 public Reduce 820 static Reduce 820 strictfp Reduce 820 synchronized Reduce 820 transient Reduce 820 volatile Reduce 820 LBRACE Reduce 820 AT Reduce 820 $eof Reduce 820 Default reduction to rule 820 STATE 701 ---------------------------------------------------------------------- ( 509 797 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1274 VariableDeclarators ::= VariableDeclarators .COMMA VariableDeclarator LocalVariableDeclaration ::= Modifiers Type PushRealModifiers VariableDeclarators . (335) COMMA Shift 698 SEMICOLON Reduce 335 Default reduction to rule 335 STATE 702 ---------------------------------------------------------------------- ( 510 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface .Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface .Identifier TypeParameters Identifier Shift 799 STATE 703 ---------------------------------------------------------------------- ( 512 ) ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON . NonWildTypeArgumentsopt IdentifierOrNew NonWildTypeArgumentsopt ::= . (479) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 25 OnlyTypeArguments Goto 800 NonWildTypeArgumentsopt Goto 800 Identifier Reduce 479 new Reduce 479 Default reduction to rule 479 STATE 704 ---------------------------------------------------------------------- ( 513 ) ReferenceExpression ::= Name Dimsopt COLON_COLON NonWildTypeArgumentsopt . IdentifierOrNew IdentifierOrNew ::= .Identifier IdentifierOrNew ::= .new IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1275 new Sh/Rd 482 Identifier Sh/Rd 481 IdentifierOrNew Gt/Rd 474 STATE 705 ---------------------------------------------------------------------- ( 514 ) ExplicitConstructorInvocation ::= Name DOT this LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1276 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1277 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 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1278 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1279 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1280 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 801 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1281 void Reduce 71 Default reduction to rule 71 STATE 706 ---------------------------------------------------------------------- ( 515 524 ) MethodInvocation ::= Name DOT OnlyTypeArguments Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 802 STATE 707 ---------------------------------------------------------------------- ( 515 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 803 STATE 708 ---------------------------------------------------------------------- ( 515 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 804 STATE 709 ---------------------------------------------------------------------- ( 516 ) ExplicitConstructorInvocation ::= Name DOT super LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1282 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1283 ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1284 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 Mon Oct 4 09:57:22 2021 Page 1285 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1286 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1287 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 805 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 710 ---------------------------------------------------------------------- ( 521 ) ReferenceExpression ::= PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt .IdentifierOrNew IdentifierOrNew ::= .Identifier IdentifierOrNew ::= .new new Sh/Rd 482 Identifier Sh/Rd 481 IdentifierOrNew Gt/Rd 473 STATE 711 ---------------------------------------------------------------------- ( 523 ) SwitchExpression ::= switch LPAREN Expression RPAREN .OpenBlock SwitchBlock OpenBlock ::= . (321) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1288 OpenBlock Goto 806 LBRACE Reduce 321 Default reduction to rule 321 STATE 712 ---------------------------------------------------------------------- ( 526 ) CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN .InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus InsideCastExpressionLL1WithBounds ::= . (573) InsideCastExpressionLL1WithBounds Goto 807 Identifier Reduce 573 boolean Reduce 573 byte Reduce 573 char Reduce 573 double Reduce 573 false Reduce 573 float Reduce 573 int Reduce 573 long Reduce 573 new Reduce 573 null Reduce 573 short Reduce 573 super Reduce 573 switch Reduce 573 this Reduce 573 true Reduce 573 void Reduce 573 IntegerLiteral Reduce 573 LongLiteral Reduce 573 FloatingPointLiteral Reduce 573 DoubleLiteral Reduce 573 CharacterLiteral Reduce 573 StringLiteral Reduce 573 NOT Reduce 573 TWIDDLE Reduce 573 LPAREN Reduce 573 BeginLambda Reduce 573 BeginIntersectionCast Reduce 573 AT308 Reduce 573 Default reduction to rule 573 STATE 713 ---------------------------------------------------------------------- ( 527 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1289 CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt . PushRPAREN InsideCastExpression UnaryExpression PushRPAREN ::= .RPAREN RPAREN Sh/Rd 450 PushRPAREN Goto 808 STATE 714 ---------------------------------------------------------------------- ( 527 531 716 860 ) AdditionalBoundsListOpt ::= AdditionalBoundList . (567) AdditionalBoundList ::= AdditionalBoundList .AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 428 AdditionalBound Gt/Rd 738 RPAREN Reduce 567 Default reduction to rule 567 STATE 715 ---------------------------------------------------------------------- ( 529 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT . ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1290 TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 22 Identifier Shift 970 Name Goto 244 GenericType Goto 245 ClassOrInterface Goto 88 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 ClassOrInterfaceType Goto 809 STATE 716 ---------------------------------------------------------------------- ( 529 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt .AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus AdditionalBoundsListOpt ::= . (566) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 428 AdditionalBound Goto 1133 AdditionalBoundList Goto 714 AdditionalBoundsListOpt Goto 810 RPAREN Reduce 566 Default reduction to rule 566 STATE 717 ---------------------------------------------------------------------- ( 530 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1291 CastExpression ::= PushLPAREN Name PushRPAREN InsideCastExpressionLL1 . UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1292 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1293 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 NOT Shift 102 TWIDDLE Shift 103 BeginIntersectionCast Shift 100 null Shift 1146 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1294 StringLiteral Shift 1146 CharacterLiteral Shift 1146 DoubleLiteral Shift 1146 FloatingPointLiteral Shift 1146 LongLiteral Shift 1146 IntegerLiteral Shift 1146 false Shift 1146 true Shift 1146 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 switch Shift 94 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1155 PostDecrementExpression Goto 1154 PostfixExpression Goto 464 Literal Goto 1146 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1153 FieldAccess Goto 1152 PrimitiveType Goto 95 MethodInvocation Goto 1151 ArrayAccess Goto 1150 LambdaExpression Goto 1149 ReferenceExpression Goto 1148 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1146 ArrayCreationWithoutArrayInitializer Goto 1147 SwitchExpression Gt/Rd 563 CastExpression Gt/Rd 563 UnaryExpressionNotPlusMinus Gt/Rd 563 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1295 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 718 ---------------------------------------------------------------------- ( 531 ) CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt .PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 450 PushRPAREN Goto 811 STATE 719 ---------------------------------------------------------------------- ( 532 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1296 OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET DOT Shift 283 LBRACKET Shift 199 AT308 Shift 22 OneDimLoop Goto 973 DimsLoop Goto 200 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 198 Dims Goto 284 STATE 720 ---------------------------------------------------------------------- ( 547 ) ConditionalExpression ::= ConditionalOrExpression QUESTION Expression COLON . ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1297 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1298 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 Mon Oct 4 09:57:22 2021 Page 1299 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1300 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1156 true Shift 1156 null Shift 1156 StringLiteral Shift 1156 CharacterLiteral Shift 1156 DoubleLiteral Shift 1156 FloatingPointLiteral Shift 1156 LongLiteral Shift 1156 IntegerLiteral Shift 1156 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1157 MultiplicativeExpression Goto 104 SwitchExpression Goto 1157 PostfixExpression Goto 464 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1301 CastExpression Goto 1157 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1166 BooleanLiteral Goto 1156 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1156 ClassInstanceCreationExpression Goto 1165 FieldAccess Goto 1164 MethodInvocation Goto 1163 ArrayAccess Goto 1162 LambdaExpression Goto 1161 ReferenceExpression Goto 1160 PostIncrementExpression Goto 1159 PostDecrementExpression Goto 1158 PreIncrementExpression Goto 1157 PreDecrementExpression Goto 1157 UnaryExpressionNotPlusMinus Goto 1157 ConditionalExpression Gt/Rd 607 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 721 ---------------------------------------------------------------------- ( 551 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1302 ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers COMMA .RBRACE VariableInitializers ::= VariableInitializers COMMA .VariableInitializer Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 Mon Oct 4 09:57:22 2021 Page 1303 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1304 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 Mon Oct 4 09:57:22 2021 Page 1305 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1306 RBRACE Sh/Rd 317 LBRACE Shift 116 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 NOT Shift 102 TWIDDLE Shift 103 BeginIntersectionCast Shift 100 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 false Shift 945 true Shift 945 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 switch Shift 94 MINUS Shift 92 PLUS Shift 93 AssignmentExpression Gt/Rd 625 ConditionalOrExpression Goto 113 InclusiveOrExpression Goto 111 ConditionalAndExpression Goto 114 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PostfixExpression Goto 115 Literal Goto 945 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 954 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1307 FieldAccess Goto 953 PrimitiveType Goto 95 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 945 ArrayCreationWithoutArrayInitializer Goto 956 SwitchExpression Goto 946 CastExpression Goto 946 UnaryExpression Goto 946 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalExpression Goto 957 Assignment Goto 957 Expression Gt/Rd 319 ArrayInitializer Gt/Rd 319 VariableInitializer Gt/Rd 319 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 722 ---------------------------------------------------------------------- ( 552 ) MethodHeader ::= MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1308 MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (645) throws Shift 726 MethodHeaderThrowsClause Gt/Rd 245 MethodHeaderThrowsClauseopt Gt/Rd 245 LBRACE Reduce 645 SEMICOLON Reduce 645 Default reduction to rule 645 STATE 723 ---------------------------------------------------------------------- ( 553 ) DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (645) throws Shift 726 MethodHeaderThrowsClause Gt/Rd 246 MethodHeaderThrowsClauseopt Gt/Rd 246 LBRACE Reduce 645 SEMICOLON Reduce 645 Default reduction to rule 645 STATE 724 ---------------------------------------------------------------------- ( 555 ) DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier .LPAREN LPAREN Sh/Rd 249 STATE 725 ---------------------------------------------------------------------- ( 556 ) MethodHeaderName ::= Modifiersopt TypeParameters Type Identifier .LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1309 LPAREN Sh/Rd 247 STATE 726 ---------------------------------------------------------------------- ( 560 722 723 740 ) 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 SingleMemberAnnotationMemberValue RPAREN ClassTypeList ::= .ClassTypeList COMMA ClassTypeElt ClassTypeElt ::= .ClassType AT308 Shift 22 Identifier Shift 970 ClassType Gt/Rd 269 ClassOrInterface Goto 88 GenericType Goto 245 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 Name Goto 244 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1310 ClassOrInterfaceType Goto 1167 ClassTypeElt Goto 812 ClassTypeList Goto 812 STATE 727 ---------------------------------------------------------------------- ( 564 ) AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier . LPAREN LPAREN Sh/Rd 828 STATE 728 ---------------------------------------------------------------------- ( 566 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PackageDeclarationName ::= Modifiers package PushRealModifiers Name . RejectTypeAnnotations RejectTypeAnnotations ::= . (83) DOT Shift 423 RejectTypeAnnotations Gt/Rd 169 SEMICOLON Reduce 83 Default reduction to rule 83 STATE 729 ---------------------------------------------------------------------- ( 567 ) AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . AnnotationMethodHeaderDefaultValueopt AnnotationMethodHeaderDefaultValueopt ::= . (830) AnnotationMethodHeaderDefaultValueopt ::= .DefaultValue DefaultValue ::= .default MemberValue default Shift 813 DefaultValue Gt/Rd 831 AnnotationMethodHeaderDefaultValueopt Gt/Rd 832 SEMICOLON Reduce 830 Default reduction to rule 830 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1311 STATE 730 ---------------------------------------------------------------------- ( 568 ) 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 ::= . (83) AT308 Shift 22 Identifier Sh/Rd 69 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 SimpleName Gt/Rd 69 TypeAnnotations Goto 517 RejectTypeAnnotations Goto 814 MULTIPLY Reduce 83 Default reduction to rule 83 STATE 731 ---------------------------------------------------------------------- ( 569 ) TypeImportOnDemandDeclarationName ::= import Name DOT RejectTypeAnnotations . MULTIPLY MULTIPLY Sh/Rd 179 STATE 732 ---------------------------------------------------------------------- ( 570 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1312 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA .RBRACE RBRACE Sh/Rd 856 STATE 733 ---------------------------------------------------------------------- ( 570 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues .COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues .RBRACE MemberValues ::= MemberValues .COMMA MemberValue RBRACE Sh/Rd 855 COMMA Shift 815 STATE 734 ---------------------------------------------------------------------- ( 586 ) ConditionalExpression_NotName ::= Name QUESTION Expression COLON . ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1313 TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1314 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 ::= .PreIncrementExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1315 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1316 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1156 true Shift 1156 null Shift 1156 StringLiteral Shift 1156 CharacterLiteral Shift 1156 DoubleLiteral Shift 1156 FloatingPointLiteral Shift 1156 LongLiteral Shift 1156 IntegerLiteral Shift 1156 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1157 MultiplicativeExpression Goto 104 SwitchExpression Goto 1157 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1317 PostfixExpression Goto 464 CastExpression Goto 1157 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1166 BooleanLiteral Goto 1156 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1156 ClassInstanceCreationExpression Goto 1165 FieldAccess Goto 1164 MethodInvocation Goto 1163 ArrayAccess Goto 1162 LambdaExpression Goto 1161 ReferenceExpression Goto 1160 PostIncrementExpression Goto 1159 PostDecrementExpression Goto 1158 PreIncrementExpression Goto 1157 PreDecrementExpression Goto 1157 UnaryExpressionNotPlusMinus Goto 1157 ConditionalExpression Gt/Rd 813 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 735 ---------------------------------------------------------------------- ( 603 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1318 ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression COLON .ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1319 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1320 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 Mon Oct 4 09:57:22 2021 Page 1321 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1322 false Shift 1156 true Shift 1156 null Shift 1156 StringLiteral Shift 1156 CharacterLiteral Shift 1156 DoubleLiteral Shift 1156 FloatingPointLiteral Shift 1156 LongLiteral Shift 1156 IntegerLiteral Shift 1156 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 1157 MultiplicativeExpression Goto 104 SwitchExpression Goto 1157 PostfixExpression Goto 464 CastExpression Goto 1157 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1166 BooleanLiteral Goto 1156 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1323 PrimitiveType Goto 95 Literal Goto 1156 ClassInstanceCreationExpression Goto 1165 FieldAccess Goto 1164 MethodInvocation Goto 1163 ArrayAccess Goto 1162 LambdaExpression Goto 1161 ReferenceExpression Goto 1160 PostIncrementExpression Goto 1159 PostDecrementExpression Goto 1158 PreIncrementExpression Goto 1157 PreDecrementExpression Goto 1157 UnaryExpressionNotPlusMinus Goto 1157 ConditionalExpression Gt/Rd 812 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 736 ---------------------------------------------------------------------- ( 605 ) CatchHeader ::= catch LPAREN CatchFormalParameter RPAREN .LBRACE LBRACE Sh/Rd 163 STATE 737 ---------------------------------------------------------------------- ( 606 ) CatchFormalParameter ::= Modifiersopt CatchType .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 504 VariableDeclaratorId Gt/Rd 263 STATE 738 ---------------------------------------------------------------------- ( 606 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1324 CatchType ::= UnionType . (264) UnionType ::= UnionType .OR Type OR Shift 816 Identifier Reduce 264 Default reduction to rule 264 STATE 739 ---------------------------------------------------------------------- ( 608 ) Arguments ::= LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 676 STATE 740 ---------------------------------------------------------------------- ( 609 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . MethodHeaderThrowsClause MethodHeaderThrowsClause ::= .throws ClassTypeList AnnotationMethodHeaderDefaultValueopt ::= . (830) AnnotationMethodHeaderDefaultValueopt ::= .DefaultValue DefaultValue ::= .default MemberValue default Shift 813 throws Shift 726 DefaultValue Gt/Rd 831 AnnotationMethodHeaderDefaultValueopt Gt/Rd 868 MethodHeaderThrowsClause Gt/Rd 869 abstract Reduce 830 final Reduce 830 native Reduce 830 private Reduce 830 protected Reduce 830 public Reduce 830 static Reduce 830 strictfp Reduce 830 synchronized Reduce 830 transient Reduce 830 volatile Reduce 830 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1325 AT Reduce 830 $eof Reduce 830 Default reduction to rule 830 STATE 741 ---------------------------------------------------------------------- ( 611 ) RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier .LPAREN LPAREN Sh/Rd 866 STATE 742 ---------------------------------------------------------------------- ( 613 ) AllocationHeader ::= new ClassType LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 496 STATE 743 ---------------------------------------------------------------------- ( 615 ) RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier . LPAREN LPAREN Sh/Rd 864 STATE 744 ---------------------------------------------------------------------- ( 617 ) UnannotatableName ::= UnannotatableName .DOT SimpleName ModuleHeader ::= Modifiersopt ModuleModifieropt module UnannotatableName . (100) DOT Shift 416 abstract Reduce 100 final Reduce 100 native Reduce 100 private Reduce 100 protected Reduce 100 public Reduce 100 static Reduce 100 strictfp Reduce 100 synchronized Reduce 100 transient Reduce 100 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1326 volatile Reduce 100 LBRACE Reduce 100 AT Reduce 100 $eof Reduce 100 Default reduction to rule 100 STATE 745 ---------------------------------------------------------------------- ( 619 ) TargetModuleNameList ::= TargetModuleNameList COMMA .TargetModuleName SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName TargetModuleName ::= .UnannotatableName Identifier Shift 1130 SimpleName Goto 1130 UnannotatableName Goto 620 TargetModuleName Gt/Rd 128 STATE 746 ---------------------------------------------------------------------- ( 621 ) 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 22 Identifier Shift 970 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1327 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 1131 Name Goto 622 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 ServiceImplName Gt/Rd 138 STATE 747 ---------------------------------------------------------------------- ( 625 ) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports . (90) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1328 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 182 AT Shift 79 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 ClassDeclaration Goto 817 InterfaceDeclaration Goto 817 EnumDeclaration Goto 817 AnnotationTypeDeclaration Goto 817 AnnotationTypeDeclarationHeaderName Goto 31 Modifiers Goto 123 AnnotationTypeDeclarationHeader Goto 32 EnumHeaderName Goto 29 Modifiersopt Goto 37 EnumHeader Goto 30 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1329 InterfaceHeader Goto 35 ClassHeaderName Goto 36 Modifier Goto 958 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 ClassHeaderName1 Goto 38 ClassHeader Goto 39 TypeDeclaration Goto 817 TypeDeclarations Goto 817 $eof Reduce 90 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 637 STATE 748 ---------------------------------------------------------------------- ( 627 ) ModuleBody ::= LBRACE ModuleStatementsOpt .RBRACE RBRACE Sh/Rd 104 STATE 749 ---------------------------------------------------------------------- ( 627 ) ModuleStatementsOpt ::= ModuleStatements . (106) 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 ProvidesInterface ::= .provides Name IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1330 provides Shift 181 uses Shift 179 opens Shift 183 exports Shift 177 requires Shift 175 SingleRequiresModuleName Goto 174 ExportsHeader Goto 176 OpensHeader Goto 182 UsesHeader Goto 178 ProvidesInterface Goto 180 RequiresStatement Gt/Rd 109 ExportsStatement Gt/Rd 110 OpensStatement Gt/Rd 111 UsesStatement Gt/Rd 112 ProvidesStatement Gt/Rd 113 ModuleStatement Gt/Rd 108 RBRACE Reduce 106 Default reduction to rule 106 STATE 750 ---------------------------------------------------------------------- ( 628 ) InternalCompilationUnit ::= ImportDeclarations ReduceImports TypeDeclarations . (95) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1331 InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 182 AT Shift 79 strictfp Shift 958 volatile Shift 958 transient Shift 958 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiers Goto 123 Annotation Gt/Rd 198 AnnotationName Goto 80 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1332 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 ClassDeclaration Gt/Rd 167 InterfaceDeclaration Gt/Rd 167 EnumDeclaration Gt/Rd 167 AnnotationTypeDeclaration Gt/Rd 167 TypeDeclaration Gt/Rd 167 $eof Reduce 95 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 637 STATE 751 ---------------------------------------------------------------------- ( 629 ) MemberValuePair ::= SimpleName .EQUAL EnterMemberValue MemberValue ExitMemberValue EQUAL Shift 630 STATE 752 ---------------------------------------------------------------------- ( 630 ) MemberValuePair ::= SimpleName EQUAL EnterMemberValue .MemberValue ExitMemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1333 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1334 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1335 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 UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1336 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 instanceof ReferenceType InstanceofExpression_NotName ::= .InstanceofExpression_NotName instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1337 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 ::= . (858) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 151 PLUS Shift 152 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 960 true Shift 960 null Shift 960 StringLiteral Shift 960 CharacterLiteral Shift 960 DoubleLiteral Shift 960 FloatingPointLiteral Shift 960 LongLiteral Shift 960 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1338 IntegerLiteral Shift 960 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 145 TWIDDLE Shift 146 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AT Shift 130 ConditionalOrExpression_NotName Goto 164 Name Goto 163 InclusiveOrExpression_NotName Goto 162 ConditionalAndExpression_NotName Goto 161 AndExpression_NotName Goto 160 ExclusiveOrExpression_NotName Goto 159 InstanceofExpression_NotName Goto 158 EqualityExpression_NotName Goto 157 ShiftExpression_NotName Goto 156 RelationalExpression_NotName Goto 155 MultiplicativeExpression_NotName Goto 154 AdditiveExpression_NotName Goto 153 PreIncrementExpression Goto 961 PreDecrementExpression Goto 961 UnaryExpressionNotPlusMinus_NotName Goto 961 Primary Goto 150 PostIncrementExpression Goto 149 PostDecrementExpression Goto 148 PostfixExpression Goto 147 Literal Goto 960 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 969 FieldAccess Goto 968 PrimitiveType Goto 95 MethodInvocation Goto 967 ArrayAccess Goto 966 LambdaExpression Goto 965 ReferenceExpression Goto 964 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 963 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1339 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 960 ArrayCreationWithoutArrayInitializer Goto 962 SwitchExpression Goto 961 PostfixExpression_NotName Goto 961 CastExpression Goto 961 UnaryExpression_NotName Goto 961 NormalAnnotation Goto 818 MarkerAnnotation Goto 818 SingleMemberAnnotation Goto 818 AnnotationName Goto 80 EnterMemberValueArrayInitializer Goto 144 ConditionalExpression_NotName Goto 818 Annotation Goto 818 MemberValueArrayInitializer Goto 818 MemberValue Goto 818 LBRACE Reduce 858 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 753 ---------------------------------------------------------------------- ( 631 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1340 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 ::= . (71) 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 22 Identifier Shift 970 ReferenceType Goto 633 ClassOrInterface Goto 632 TypeAnnotationsopt Goto 634 ReferenceType2 Gt/Rd 704 Wildcard2 Gt/Rd 704 Wildcard Gt/Rd 696 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1341 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 972 ReferenceType1 Gt/Rd 694 Wildcard1 Gt/Rd 694 TypeArgument1 Gt/Rd 694 TypeArgument Gt/Rd 696 TypeArgument2 Gt/Rd 704 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 QUESTION Reduce 71 Default reduction to rule 71 STATE 754 ---------------------------------------------------------------------- ( 632 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1342 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 56 AT308 Shift 22 Identifier Shift 970 ReferenceType3 Gt/Rd 708 Wildcard3 Gt/Rd 708 TypeAnnotationsopt Goto 821 ReferenceType Goto 820 TypeArgument3 Gt/Rd 708 TypeArgumentList Goto 819 ReferenceType2 Gt/Rd 702 Wildcard2 Gt/Rd 702 ClassOrInterface Goto 632 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1343 TypeArgument2 Gt/Rd 702 ReferenceType1 Gt/Rd 691 Wildcard1 Gt/Rd 691 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 972 TypeAnnotations Goto 86 GenericType Goto 87 PrimitiveType Goto 195 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 971 TypeArgument Goto 819 Wildcard Goto 819 TypeArgument1 Gt/Rd 691 TypeArgumentList1 Gt/Rd 691 TypeArgumentList2 Gt/Rd 702 TypeArgumentList3 Gt/Rd 708 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 QUESTION Reduce 71 Default reduction to rule 71 STATE 755 ---------------------------------------------------------------------- ( 634 ) Wildcard ::= TypeAnnotationsopt QUESTION . (714) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1344 WildcardBounds1 ::= .extends ReferenceType1 WildcardBounds1 ::= .super ReferenceType1 WildcardBounds2 ::= .extends ReferenceType2 WildcardBounds2 ::= .super ReferenceType2 RIGHT_SHIFT Sh/Rd 722 GREATER Sh/Rd 718 super Shift 822 extends Shift 823 WildcardBounds Gt/Rd 715 WildcardBounds1 Gt/Rd 719 WildcardBounds2 Gt/Rd 723 COMMA Reduce 714 Default reduction to rule 714 STATE 756 ---------------------------------------------------------------------- ( 635 ) ReferenceType1 ::= ReferenceType .GREATER WildcardBounds ::= super ReferenceType . (717) GREATER Sh/Rd 701 COMMA Reduce 717 Default reduction to rule 717 STATE 757 ---------------------------------------------------------------------- ( 636 ) ReferenceType1 ::= ReferenceType .GREATER WildcardBounds ::= extends ReferenceType . (716) GREATER Sh/Rd 701 COMMA Reduce 716 Default reduction to rule 716 STATE 758 ---------------------------------------------------------------------- ( 638 ) FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1345 ELLIPSIS Shift 824 STATE 759 ---------------------------------------------------------------------- ( 639 ) FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS . VariableDeclaratorIdOrThis SimpleName ::= .Identifier UnannotatableName ::= .UnannotatableName DOT SimpleName VariableDeclaratorIdOrThis ::= .this VariableDeclaratorIdOrThis ::= .UnannotatableName DOT this VariableDeclaratorIdOrThis ::= .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt this Sh/Rd 85 Identifier Shift 640 SimpleName Goto 641 UnannotatableName Goto 641 VariableDeclaratorId Gt/Rd 87 VariableDeclaratorIdOrThis Gt/Rd 261 STATE 760 ---------------------------------------------------------------------- ( 641 ) UnannotatableName ::= UnannotatableName DOT .SimpleName VariableDeclaratorIdOrThis ::= UnannotatableName DOT .this this Sh/Rd 86 Identifier Sh/Rd 68 SimpleName Gt/Rd 68 STATE 761 ---------------------------------------------------------------------- ( 645 ) EnumBody ::= LBRACE EnumConstants COMMA EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 668 STATE 762 ---------------------------------------------------------------------- ( 646 ) EnumConstant ::= EnumConstantHeader ForceNoDiet ClassBody .RestoreDiet RestoreDiet ::= . (237) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1346 RestoreDiet Gt/Rd 674 RBRACE Reduce 237 SEMICOLON Reduce 237 COMMA Reduce 237 Default reduction to rule 237 STATE 763 ---------------------------------------------------------------------- ( 649 ) ReferenceType1 ::= ReferenceType .GREATER TypeParameter ::= TypeParameterHeader extends ReferenceType . (735) 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 701 AND Shift 826 AdditionalBound1 Gt/Rd 744 AdditionalBoundList Goto 825 AdditionalBound Goto 825 AdditionalBoundList1 Gt/Rd 744 COMMA Reduce 735 Default reduction to rule 735 STATE 764 ---------------------------------------------------------------------- ( 658 ) CatchClause ::= catch LPAREN CatchFormalParameter .RPAREN Block RPAREN Shift 827 STATE 765 ---------------------------------------------------------------------- ( 662 ) Resource ::= Modifiers Type PushRealModifiers .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1347 ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 504 VariableDeclaratorId Goto 828 STATE 766 ---------------------------------------------------------------------- ( 663 ) Resource ::= Type PushModifiers VariableDeclaratorId .EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EnterVariable ::= . (233) EnterVariable Goto 829 EQUAL Reduce 233 Default reduction to rule 233 STATE 767 ---------------------------------------------------------------------- ( 665 ) DoStatement ::= do Statement while LPAREN Expression .RPAREN SEMICOLON RPAREN Shift 830 STATE 768 ---------------------------------------------------------------------- ( 666 ) SwitchStatement ::= switch LPAREN Expression RPAREN OpenBlock .SwitchBlock SwitchBlock ::= .LBRACE RBRACE SwitchBlock ::= .LBRACE SwitchBlockStatements RBRACE SwitchBlock ::= .LBRACE SwitchLabels RBRACE SwitchBlock ::= .LBRACE SwitchBlockStatements SwitchLabels RBRACE LBRACE Shift 831 SwitchBlock Gt/Rd 382 STATE 769 ---------------------------------------------------------------------- ( 668 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1348 MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1349 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1350 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 Mon Oct 4 09:57:22 2021 Page 1351 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1352 ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1353 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 832 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 770 ---------------------------------------------------------------------- ( 669 ) MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt .RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1354 RPAREN Sh/Rd 535 STATE 771 ---------------------------------------------------------------------- ( 670 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1355 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1356 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 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1357 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1358 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1359 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 833 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1360 void Reduce 71 Default reduction to rule 71 STATE 772 ---------------------------------------------------------------------- ( 671 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 834 STATE 773 ---------------------------------------------------------------------- ( 673 ) DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET Expression .RBRACKET RBRACKET Sh/Rd 521 STATE 774 ---------------------------------------------------------------------- ( 674 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN UnqualifiedClassBodyopt RPAREN Shift 835 STATE 775 ---------------------------------------------------------------------- ( 675 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN UnqualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1361 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1362 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 ::= .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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1363 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 Mon Oct 4 09:57:22 2021 Page 1364 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1365 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1366 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 836 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 776 ---------------------------------------------------------------------- ( 676 ) MethodInvocation ::= Primary DOT Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 534 STATE 777 ---------------------------------------------------------------------- ( 677 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1367 LPAREN Shift 837 STATE 778 ---------------------------------------------------------------------- ( 678 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (503) EnterInstanceCreationArgumentList Goto 838 LPAREN Reduce 503 Default reduction to rule 503 STATE 779 ---------------------------------------------------------------------- ( 679 ) ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt . RPAREN SEMICOLON RPAREN Shift 839 STATE 780 ---------------------------------------------------------------------- ( 680 ) MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 1368 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1369 LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 1370 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 Mon Oct 4 09:57:22 2021 Page 1371 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1372 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1373 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 840 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 781 ---------------------------------------------------------------------- ( 681 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 1374 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1375 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 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1376 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 RelationalExpression ::= .ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1377 RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1378 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1379 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 841 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 782 ---------------------------------------------------------------------- ( 682 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 1380 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1381 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 Mon Oct 4 09:57:22 2021 Page 1382 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 Mon Oct 4 09:57:22 2021 Page 1383 RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1384 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1385 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 842 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 783 ---------------------------------------------------------------------- ( 683 ) ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt . RPAREN SEMICOLON RPAREN Shift 843 STATE 784 ---------------------------------------------------------------------- ( 684 ) MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1386 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1387 ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 1388 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 Mon Oct 4 09:57:22 2021 Page 1389 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1390 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1391 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 844 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 785 ---------------------------------------------------------------------- ( 685 ) MethodInvocation ::= super DOT Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 538 STATE 786 ---------------------------------------------------------------------- ( 688 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 279 STATE 787 ---------------------------------------------------------------------- ( 689 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1392 ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 277 STATE 788 ---------------------------------------------------------------------- ( 692 ) IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf .else Statement else Shift 845 STATE 789 ---------------------------------------------------------------------- ( 692 790 849 912 913 929 932 ) Statement ::= StatementWithoutTrailingSubstatement . (339) StatementNoShortIf ::= StatementWithoutTrailingSubstatement . (346) else Reduce 346 Identifier Reduce 339 abstract Reduce 339 assert Reduce 339 boolean Reduce 339 break Reduce 339 byte Reduce 339 case Reduce 339 char Reduce 339 class Reduce 339 continue Reduce 339 default Reduce 339 do Reduce 339 double Reduce 339 enum Reduce 339 false Reduce 339 final Reduce 339 float Reduce 339 for Reduce 339 if Reduce 339 int Reduce 339 interface Reduce 339 long Reduce 339 native Reduce 339 new Reduce 339 null Reduce 339 private Reduce 339 protected Reduce 339 public Reduce 339 return Reduce 339 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1393 short Reduce 339 static Reduce 339 strictfp Reduce 339 super Reduce 339 switch Reduce 339 synchronized Reduce 339 this Reduce 339 throw Reduce 339 transient Reduce 339 true Reduce 339 try Reduce 339 void Reduce 339 volatile Reduce 339 while Reduce 339 yield Reduce 339 IntegerLiteral Reduce 339 LongLiteral Reduce 339 FloatingPointLiteral Reduce 339 DoubleLiteral Reduce 339 CharacterLiteral Reduce 339 StringLiteral Reduce 339 PLUS_PLUS Reduce 339 MINUS_MINUS Reduce 339 LESS Reduce 339 LPAREN Reduce 339 LBRACE Reduce 339 RBRACE Reduce 339 SEMICOLON Reduce 339 AT Reduce 339 BeginLambda Reduce 339 AT308 Reduce 339 $eof Reduce 339 Default reduction to rule 339 STATE 790 ---------------------------------------------------------------------- ( 692 790 849 912 913 929 932 ) EnhancedForStatement ::= EnhancedForStatementHeader .Statement EnhancedForStatementNoShortIf ::= EnhancedForStatementHeader . StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1394 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 ::= . (71) 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 ::= . (321) Statement ::= .StatementWithoutTrailingSubstatement StatementNoShortIf ::= .StatementWithoutTrailingSubstatement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1395 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN 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 Expression 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1396 TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally YieldStatement ::= .yield Expression SEMICOLON 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1397 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 InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1398 ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement EnhancedForStatement ::= .EnhancedForStatementHeader Statement EnhancedForStatementNoShortIf ::= .EnhancedForStatementHeader StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 for Shift 791 while Shift 792 if Shift 793 Label Goto 794 EnhancedForStatementHeader Goto 790 StatementWithoutTrailingSubstatement Goto 789 LabeledStatementNoShortIf Gt/Rd 683 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1399 IfThenElseStatementNoShortIf Gt/Rd 683 WhileStatementNoShortIf Gt/Rd 683 ForStatementNoShortIf Gt/Rd 683 EnhancedForStatementNoShortIf Gt/Rd 683 AssertStatement Goto 1145 Block Goto 1145 EmptyStatement Goto 1145 ExpressionStatement Goto 1145 SwitchStatement Goto 1145 DoStatement Goto 1145 BreakStatement Goto 1145 ContinueStatement Goto 1145 ReturnStatement Goto 1145 SynchronizedStatement Goto 1145 ThrowStatement Goto 1145 TryStatement Goto 1145 TryStatementWithResources Goto 1145 YieldStatement Goto 1145 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1400 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 EnhancedForStatementHeaderInit Goto 76 LabeledStatement Gt/Rd 682 IfThenStatement Gt/Rd 682 IfThenElseStatement Gt/Rd 682 WhileStatement Gt/Rd 682 ForStatement Gt/Rd 682 EnhancedForStatement Gt/Rd 682 Statement Gt/Rd 682 StatementNoShortIf Gt/Rd 683 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 791 ---------------------------------------------------------------------- ( 692 790 849 912 913 929 932 ) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= for .LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt LPAREN Shift 846 STATE 792 ---------------------------------------------------------------------- ( 692 790 849 912 913 929 932 ) WhileStatement ::= while .LPAREN Expression RPAREN Statement WhileStatementNoShortIf ::= while .LPAREN Expression RPAREN StatementNoShortIf IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1401 LPAREN Shift 847 STATE 793 ---------------------------------------------------------------------- ( 692 790 849 912 913 929 932 ) IfThenStatement ::= if .LPAREN Expression RPAREN Statement IfThenElseStatement ::= if .LPAREN Expression RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if .LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf LPAREN Shift 848 STATE 794 ---------------------------------------------------------------------- ( 692 790 849 912 913 929 932 ) LabeledStatement ::= Label .COLON Statement LabeledStatementNoShortIf ::= Label .COLON StatementNoShortIf COLON Shift 849 STATE 795 ---------------------------------------------------------------------- ( 694 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt .SEMICOLON ForUpdateopt RPAREN Statement SEMICOLON Shift 850 STATE 796 ---------------------------------------------------------------------- ( 695 ) VariableDeclaratorId ::= Identifier .Dimsopt EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1402 SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (641) LBRACKET Shift 199 AT308 Shift 22 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Goto 851 Dimsopt Goto 851 SEMICOLON Reduce 641 COLON Reduce 641 COMMA Reduce 641 EQUAL Reduce 641 Default reduction to rule 641 STATE 797 ---------------------------------------------------------------------- ( 696 ) LocalVariableDeclaration ::= Modifiers Type PushRealModifiers . VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers .Identifier Dimsopt VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 852 VariableDeclaratorId Goto 505 VariableDeclarator Goto 701 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1403 VariableDeclarators Goto 701 STATE 798 ---------------------------------------------------------------------- ( 699 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL .ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ForceNoDiet ::= . (236) ForceNoDiet Goto 853 Identifier Reduce 236 boolean Reduce 236 byte Reduce 236 char Reduce 236 double Reduce 236 false Reduce 236 float Reduce 236 int Reduce 236 long Reduce 236 new Reduce 236 null Reduce 236 short Reduce 236 super Reduce 236 switch Reduce 236 this Reduce 236 true Reduce 236 void Reduce 236 IntegerLiteral Reduce 236 LongLiteral Reduce 236 FloatingPointLiteral Reduce 236 DoubleLiteral Reduce 236 CharacterLiteral Reduce 236 StringLiteral Reduce 236 PLUS_PLUS Reduce 236 MINUS_MINUS Reduce 236 PLUS Reduce 236 MINUS Reduce 236 NOT Reduce 236 TWIDDLE Reduce 236 LPAREN Reduce 236 LBRACE Reduce 236 BeginLambda Reduce 236 BeginIntersectionCast Reduce 236 AT308 Reduce 236 Default reduction to rule 236 STATE 799 ---------------------------------------------------------------------- ( 702 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1404 AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier . (817) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier .TypeParameters TypeParameters ::= .LESS TypeParameterList1 LESS Shift 214 TypeParameters Gt/Rd 818 abstract Reduce 817 extends Reduce 817 final Reduce 817 implements Reduce 817 native Reduce 817 private Reduce 817 protected Reduce 817 public Reduce 817 static Reduce 817 strictfp Reduce 817 synchronized Reduce 817 transient Reduce 817 volatile Reduce 817 LBRACE Reduce 817 AT Reduce 817 $eof Reduce 817 Default reduction to rule 817 STATE 800 ---------------------------------------------------------------------- ( 703 ) ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt .IdentifierOrNew IdentifierOrNew ::= .Identifier IdentifierOrNew ::= .new new Sh/Rd 482 Identifier Sh/Rd 481 IdentifierOrNew Gt/Rd 475 STATE 801 ---------------------------------------------------------------------- ( 705 ) ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt .RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1405 SEMICOLON RPAREN Shift 854 STATE 802 ---------------------------------------------------------------------- ( 706 ) MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1406 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 ::= .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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1407 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 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1408 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1409 AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1410 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 855 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1411 STATE 803 ---------------------------------------------------------------------- ( 707 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1412 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1413 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 Mon Oct 4 09:57:22 2021 Page 1414 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1415 InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1416 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 856 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 804 ---------------------------------------------------------------------- ( 708 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1417 ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1418 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1419 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 Mon Oct 4 09:57:22 2021 Page 1420 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1421 ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1422 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 857 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 805 ---------------------------------------------------------------------- ( 709 ) ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt . RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1423 RPAREN Shift 858 STATE 806 ---------------------------------------------------------------------- ( 711 ) SwitchExpression ::= switch LPAREN Expression RPAREN OpenBlock .SwitchBlock SwitchBlock ::= .LBRACE RBRACE SwitchBlock ::= .LBRACE SwitchBlockStatements RBRACE SwitchBlock ::= .LBRACE SwitchLabels RBRACE SwitchBlock ::= .LBRACE SwitchBlockStatements SwitchLabels RBRACE LBRACE Shift 831 SwitchBlock Gt/Rd 397 STATE 807 ---------------------------------------------------------------------- ( 712 ) CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds . UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1424 TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1425 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 UnaryExpressionNotPlusMinus ::= .PostfixExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1426 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 102 TWIDDLE Shift 103 BeginIntersectionCast Shift 100 null Shift 1146 StringLiteral Shift 1146 CharacterLiteral Shift 1146 DoubleLiteral Shift 1146 FloatingPointLiteral Shift 1146 LongLiteral Shift 1146 IntegerLiteral Shift 1146 false Shift 1146 true Shift 1146 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 switch Shift 94 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1155 PostDecrementExpression Goto 1154 PostfixExpression Goto 464 Literal Goto 1146 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1153 FieldAccess Goto 1152 PrimitiveType Goto 95 MethodInvocation Goto 1151 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1427 ArrayAccess Goto 1150 LambdaExpression Goto 1149 ReferenceExpression Goto 1148 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1146 ArrayCreationWithoutArrayInitializer Goto 1147 SwitchExpression Gt/Rd 564 CastExpression Gt/Rd 564 UnaryExpressionNotPlusMinus Gt/Rd 564 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 808 ---------------------------------------------------------------------- ( 713 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN .InsideCastExpression UnaryExpression InsideCastExpression ::= . (571) InsideCastExpression Goto 859 Identifier Reduce 571 boolean Reduce 571 byte Reduce 571 char Reduce 571 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1428 double Reduce 571 false Reduce 571 float Reduce 571 int Reduce 571 long Reduce 571 new Reduce 571 null Reduce 571 short Reduce 571 super Reduce 571 switch Reduce 571 this Reduce 571 true Reduce 571 void Reduce 571 IntegerLiteral Reduce 571 LongLiteral Reduce 571 FloatingPointLiteral Reduce 571 DoubleLiteral Reduce 571 CharacterLiteral Reduce 571 StringLiteral Reduce 571 PLUS_PLUS Reduce 571 MINUS_MINUS Reduce 571 PLUS Reduce 571 MINUS Reduce 571 NOT Reduce 571 TWIDDLE Reduce 571 LPAREN Reduce 571 BeginLambda Reduce 571 BeginIntersectionCast Reduce 571 AT308 Reduce 571 Default reduction to rule 571 STATE 809 ---------------------------------------------------------------------- ( 715 ) 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 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1429 SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (641) LBRACKET Shift 199 AT308 Shift 22 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Goto 860 Dimsopt Goto 860 AND Reduce 641 RPAREN Reduce 641 Default reduction to rule 641 STATE 810 ---------------------------------------------------------------------- ( 716 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt .PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 450 PushRPAREN Goto 861 STATE 811 ---------------------------------------------------------------------- ( 718 ) CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN . InsideCastExpression UnaryExpressionNotPlusMinus InsideCastExpression ::= . (571) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1430 InsideCastExpression Goto 862 Identifier Reduce 571 boolean Reduce 571 byte Reduce 571 char Reduce 571 double Reduce 571 false Reduce 571 float Reduce 571 int Reduce 571 long Reduce 571 new Reduce 571 null Reduce 571 short Reduce 571 super Reduce 571 switch Reduce 571 this Reduce 571 true Reduce 571 void Reduce 571 IntegerLiteral Reduce 571 LongLiteral Reduce 571 FloatingPointLiteral Reduce 571 DoubleLiteral Reduce 571 CharacterLiteral Reduce 571 StringLiteral Reduce 571 NOT Reduce 571 TWIDDLE Reduce 571 LPAREN Reduce 571 BeginLambda Reduce 571 BeginIntersectionCast Reduce 571 AT308 Reduce 571 Default reduction to rule 571 STATE 812 ---------------------------------------------------------------------- ( 726 ) MethodHeaderThrowsClause ::= throws ClassTypeList . (254) ClassTypeList ::= ClassTypeList .COMMA ClassTypeElt COMMA Shift 863 abstract Reduce 254 final Reduce 254 native Reduce 254 private Reduce 254 protected Reduce 254 public Reduce 254 static Reduce 254 strictfp Reduce 254 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1431 synchronized Reduce 254 transient Reduce 254 volatile Reduce 254 LBRACE Reduce 254 SEMICOLON Reduce 254 AT Reduce 254 $eof Reduce 254 Default reduction to rule 254 STATE 813 ---------------------------------------------------------------------- ( 729 740 ) DefaultValue ::= default .MemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1432 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1433 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 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1434 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1435 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 instanceof ReferenceType InstanceofExpression_NotName ::= .InstanceofExpression_NotName instanceof ReferenceType 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1436 PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (858) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 151 PLUS Shift 152 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 960 true Shift 960 null Shift 960 StringLiteral Shift 960 CharacterLiteral Shift 960 DoubleLiteral Shift 960 FloatingPointLiteral Shift 960 LongLiteral Shift 960 IntegerLiteral Shift 960 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 145 TWIDDLE Shift 146 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AT Shift 130 ConditionalOrExpression_NotName Goto 164 Name Goto 163 InclusiveOrExpression_NotName Goto 162 ConditionalAndExpression_NotName Goto 161 AndExpression_NotName Goto 160 ExclusiveOrExpression_NotName Goto 159 InstanceofExpression_NotName Goto 158 EqualityExpression_NotName Goto 157 ShiftExpression_NotName Goto 156 RelationalExpression_NotName Goto 155 MultiplicativeExpression_NotName Goto 154 AdditiveExpression_NotName Goto 153 PreIncrementExpression Goto 961 PreDecrementExpression Goto 961 UnaryExpressionNotPlusMinus_NotName Goto 961 Primary Goto 150 PostIncrementExpression Goto 149 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1437 PostDecrementExpression Goto 148 PostfixExpression Goto 147 Literal Goto 960 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 969 FieldAccess Goto 968 PrimitiveType Goto 95 MethodInvocation Goto 967 ArrayAccess Goto 966 LambdaExpression Goto 965 ReferenceExpression Goto 964 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 963 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 960 ArrayCreationWithoutArrayInitializer Goto 962 SwitchExpression Goto 961 PostfixExpression_NotName Goto 961 CastExpression Goto 961 UnaryExpression_NotName Goto 961 NormalAnnotation Gt/Rd 837 MarkerAnnotation Gt/Rd 837 SingleMemberAnnotation Gt/Rd 837 AnnotationName Goto 80 EnterMemberValueArrayInitializer Goto 144 ConditionalExpression_NotName Gt/Rd 837 Annotation Gt/Rd 837 MemberValueArrayInitializer Gt/Rd 837 MemberValue Gt/Rd 837 LBRACE Reduce 858 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1438 void Reduce 71 Default reduction to rule 71 STATE 814 ---------------------------------------------------------------------- ( 730 ) StaticImportOnDemandDeclarationName ::= import static Name DOT RejectTypeAnnotations .MULTIPLY MULTIPLY Sh/Rd 690 STATE 815 ---------------------------------------------------------------------- ( 733 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA .RBRACE MemberValues ::= MemberValues COMMA .MemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1439 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus_NotName ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1440 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 Mon Oct 4 09:57:22 2021 Page 1441 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1442 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 instanceof ReferenceType InstanceofExpression_NotName ::= .InstanceofExpression_NotName instanceof ReferenceType 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 AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValue ::= .Name IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1443 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 ::= . (858) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RBRACE Sh/Rd 854 AT Shift 130 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 NOT Shift 145 TWIDDLE Shift 146 BeginIntersectionCast Shift 100 null Shift 960 StringLiteral Shift 960 CharacterLiteral Shift 960 DoubleLiteral Shift 960 FloatingPointLiteral Shift 960 LongLiteral Shift 960 IntegerLiteral Shift 960 false Shift 960 true Shift 960 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 switch Shift 94 MINUS Shift 151 PLUS Shift 152 ConditionalOrExpression_NotName Goto 164 Name Goto 163 InclusiveOrExpression_NotName Goto 162 ConditionalAndExpression_NotName Goto 161 AndExpression_NotName Goto 160 ExclusiveOrExpression_NotName Goto 159 InstanceofExpression_NotName Goto 158 EqualityExpression_NotName Goto 157 ShiftExpression_NotName Goto 156 RelationalExpression_NotName Goto 155 MultiplicativeExpression_NotName Goto 154 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1444 AdditiveExpression_NotName Goto 153 PreIncrementExpression Goto 961 PreDecrementExpression Goto 961 UnaryExpressionNotPlusMinus_NotName Goto 961 Primary Goto 150 PostIncrementExpression Goto 149 PostDecrementExpression Goto 148 PostfixExpression Goto 147 Literal Goto 960 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 969 FieldAccess Goto 968 PrimitiveType Goto 95 MethodInvocation Goto 967 ArrayAccess Goto 966 LambdaExpression Goto 965 ReferenceExpression Goto 964 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 963 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 960 ArrayCreationWithoutArrayInitializer Goto 962 SwitchExpression Goto 961 PostfixExpression_NotName Goto 961 CastExpression Goto 961 UnaryExpression_NotName Goto 961 NormalAnnotation Gt/Rd 860 MarkerAnnotation Gt/Rd 860 SingleMemberAnnotation Gt/Rd 860 AnnotationName Goto 80 EnterMemberValueArrayInitializer Goto 144 ConditionalExpression_NotName Gt/Rd 860 Annotation Gt/Rd 860 MemberValueArrayInitializer Gt/Rd 860 MemberValue Gt/Rd 860 LBRACE Reduce 858 boolean Reduce 71 byte Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1445 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 816 ---------------------------------------------------------------------- ( 738 ) UnionType ::= UnionType OR .Type 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1446 AT308 Shift 22 Identifier Shift 970 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Gt/Rd 266 GenericType Goto 87 PrimitiveType Goto 274 Name Goto 194 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 971 ReferenceType Gt/Rd 266 Type Gt/Rd 266 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 817 ---------------------------------------------------------------------- ( 747 ) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports TypeDeclarations . (91) TypeDeclarations ::= TypeDeclarations .TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1447 Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Modifiersopt ::= . (637) 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 182 AT Shift 79 strictfp Shift 958 volatile Shift 958 transient Shift 958 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1448 synchronized Shift 958 native Shift 958 final Shift 958 abstract Shift 958 static Shift 958 private Shift 958 protected Shift 958 public Shift 958 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiers Goto 123 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 958 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 EnumHeader Goto 30 EnumHeaderName Goto 29 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 ClassDeclaration Gt/Rd 167 InterfaceDeclaration Gt/Rd 167 EnumDeclaration Gt/Rd 167 AnnotationTypeDeclaration Gt/Rd 167 TypeDeclaration Gt/Rd 167 $eof Reduce 91 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 637 STATE 818 ---------------------------------------------------------------------- ( 752 ) MemberValuePair ::= SimpleName EQUAL EnterMemberValue MemberValue . ExitMemberValue ExitMemberValue ::= . (849) ExitMemberValue Gt/Rd 847 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1449 RPAREN Reduce 849 COMMA Reduce 849 Default reduction to rule 849 STATE 819 ---------------------------------------------------------------------- ( 754 ) TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 TypeArgumentList ::= TypeArgumentList .COMMA TypeArgument TypeArgumentList2 ::= TypeArgumentList .COMMA TypeArgument2 TypeArgumentList3 ::= TypeArgumentList .COMMA TypeArgument3 COMMA Shift 864 STATE 820 ---------------------------------------------------------------------- ( 754 864 ) TypeArgument ::= ReferenceType . (697) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT Sh/Rd 713 RIGHT_SHIFT Sh/Rd 707 GREATER Sh/Rd 701 COMMA Reduce 697 Default reduction to rule 697 STATE 821 ---------------------------------------------------------------------- ( 754 864 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void 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 QUESTION Shift 865 void Sh/Rd 41 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1450 boolean Sh/Rd 40 double Sh/Rd 37 float Sh/Rd 37 char Sh/Rd 37 long Sh/Rd 37 int Sh/Rd 37 short Sh/Rd 37 byte Sh/Rd 37 IntegralType Gt/Rd 37 FloatingPointType Gt/Rd 37 NumericType Gt/Rd 37 STATE 822 ---------------------------------------------------------------------- ( 755 ) 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1451 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 22 Identifier Shift 970 ReferenceType Goto 866 ClassOrInterface Goto 632 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 866 ReferenceType1 Gt/Rd 721 ReferenceType2 Gt/Rd 725 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 823 ---------------------------------------------------------------------- ( 755 ) WildcardBounds ::= extends .ReferenceType WildcardBounds1 ::= extends .ReferenceType1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1452 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 ::= . (71) 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 22 Identifier Shift 970 ReferenceType Goto 867 ClassOrInterface Goto 632 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1453 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 867 ReferenceType1 Gt/Rd 720 ReferenceType2 Gt/Rd 724 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 824 ---------------------------------------------------------------------- ( 758 ) FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS .VariableDeclaratorIdOrThis SimpleName ::= .Identifier UnannotatableName ::= .UnannotatableName DOT SimpleName VariableDeclaratorIdOrThis ::= .this VariableDeclaratorIdOrThis ::= .UnannotatableName DOT this VariableDeclaratorIdOrThis ::= .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt this Sh/Rd 85 Identifier Shift 640 SimpleName Goto 641 UnannotatableName Goto 641 VariableDeclaratorId Gt/Rd 87 VariableDeclaratorIdOrThis Gt/Rd 262 STATE 825 ---------------------------------------------------------------------- ( 763 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1454 TypeParameter ::= TypeParameterHeader extends ReferenceType AdditionalBoundList . (736) AdditionalBoundList ::= AdditionalBoundList .AdditionalBound AdditionalBoundList1 ::= AdditionalBoundList .AdditionalBound1 AdditionalBound ::= .AND ReferenceType AdditionalBound1 ::= .AND ReferenceType1 AND Shift 826 AdditionalBound Gt/Rd 738 AdditionalBound1 Gt/Rd 746 COMMA Reduce 736 Default reduction to rule 736 STATE 826 ---------------------------------------------------------------------- ( 763 825 ) 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 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1455 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 22 Identifier Shift 970 ReferenceType Goto 868 ClassOrInterface Goto 193 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 868 ReferenceType1 Gt/Rd 747 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 827 ---------------------------------------------------------------------- ( 764 ) CatchClause ::= catch LPAREN CatchFormalParameter RPAREN .Block IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1456 Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) OpenBlock Goto 69 Block Gt/Rd 447 LBRACE Reduce 321 Default reduction to rule 321 STATE 828 ---------------------------------------------------------------------- ( 765 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId . EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EnterVariable ::= . (233) EnterVariable Goto 869 EQUAL Reduce 233 Default reduction to rule 233 STATE 829 ---------------------------------------------------------------------- ( 766 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable .EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EQUAL Shift 870 STATE 830 ---------------------------------------------------------------------- ( 767 ) DoStatement ::= do Statement while LPAREN Expression RPAREN .SEMICOLON SEMICOLON Sh/Rd 409 STATE 831 ---------------------------------------------------------------------- ( 768 806 ) SwitchBlock ::= LBRACE .RBRACE SwitchBlock ::= LBRACE .SwitchBlockStatements RBRACE SwitchBlock ::= LBRACE .SwitchLabels RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1457 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 ConstantExpressions RBRACE Sh/Rd 383 case Shift 872 default Shift 874 SwitchLabeledRule Goto 871 SwitchLabels Goto 876 SwitchLabelCaseLhs Goto 875 SwitchLabel Goto 876 SwitchLabelExpr Goto 873 SwitchLabeledExpression Gt/Rd 398 SwitchLabeledBlock Gt/Rd 399 SwitchLabeledThrowStatement Gt/Rd 400 SwitchBlockStatement Goto 871 SwitchBlockStatements Goto 871 STATE 832 ---------------------------------------------------------------------- ( 769 ) MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 536 STATE 833 ---------------------------------------------------------------------- ( 771 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1458 RPAREN Shift 877 STATE 834 ---------------------------------------------------------------------- ( 772 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (508) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (510) QualifiedEnterAnonymousClassBody Goto 878 QualifiedClassBodyopt Gt/Rd 501 abstract Reduce 508 final Reduce 508 instanceof Reduce 508 native Reduce 508 private Reduce 508 protected Reduce 508 public Reduce 508 static Reduce 508 strictfp Reduce 508 synchronized Reduce 508 transient Reduce 508 volatile Reduce 508 PLUS_PLUS Reduce 508 MINUS_MINUS Reduce 508 EQUAL_EQUAL Reduce 508 LESS_EQUAL Reduce 508 GREATER_EQUAL Reduce 508 NOT_EQUAL Reduce 508 LEFT_SHIFT Reduce 508 RIGHT_SHIFT Reduce 508 UNSIGNED_RIGHT_SHIFT Reduce 508 PLUS_EQUAL Reduce 508 MINUS_EQUAL Reduce 508 MULTIPLY_EQUAL Reduce 508 DIVIDE_EQUAL Reduce 508 AND_EQUAL Reduce 508 OR_EQUAL Reduce 508 XOR_EQUAL Reduce 508 REMAINDER_EQUAL Reduce 508 LEFT_SHIFT_EQUAL Reduce 508 RIGHT_SHIFT_EQUAL Reduce 508 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 508 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1459 OR_OR Reduce 508 AND_AND Reduce 508 PLUS Reduce 508 MINUS Reduce 508 REMAINDER Reduce 508 XOR Reduce 508 AND Reduce 508 MULTIPLY Reduce 508 OR Reduce 508 DIVIDE Reduce 508 GREATER Reduce 508 LESS Reduce 508 RPAREN Reduce 508 RBRACE Reduce 508 LBRACKET Reduce 508 RBRACKET Reduce 508 SEMICOLON Reduce 508 QUESTION Reduce 508 COLON Reduce 508 COMMA Reduce 508 DOT Reduce 508 EQUAL Reduce 508 AT Reduce 508 COLON_COLON Reduce 508 ElidedSemicolonAndRightBrace Reduce 508 BeginCaseExpr Reduce 508 $eof Reduce 508 LBRACE Reduce 510 Default reduction to rule 508 STATE 835 ---------------------------------------------------------------------- ( 774 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . UnqualifiedClassBodyopt UnqualifiedClassBodyopt ::= . (505) UnqualifiedClassBodyopt ::= .UnqualifiedEnterAnonymousClassBody ClassBody UnqualifiedEnterAnonymousClassBody ::= . (507) UnqualifiedEnterAnonymousClassBody Goto 879 UnqualifiedClassBodyopt Gt/Rd 498 abstract Reduce 505 final Reduce 505 instanceof Reduce 505 native Reduce 505 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1460 private Reduce 505 protected Reduce 505 public Reduce 505 static Reduce 505 strictfp Reduce 505 synchronized Reduce 505 transient Reduce 505 volatile Reduce 505 PLUS_PLUS Reduce 505 MINUS_MINUS Reduce 505 EQUAL_EQUAL Reduce 505 LESS_EQUAL Reduce 505 GREATER_EQUAL Reduce 505 NOT_EQUAL Reduce 505 LEFT_SHIFT Reduce 505 RIGHT_SHIFT Reduce 505 UNSIGNED_RIGHT_SHIFT Reduce 505 PLUS_EQUAL Reduce 505 MINUS_EQUAL Reduce 505 MULTIPLY_EQUAL Reduce 505 DIVIDE_EQUAL Reduce 505 AND_EQUAL Reduce 505 OR_EQUAL Reduce 505 XOR_EQUAL Reduce 505 REMAINDER_EQUAL Reduce 505 LEFT_SHIFT_EQUAL Reduce 505 RIGHT_SHIFT_EQUAL Reduce 505 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 505 OR_OR Reduce 505 AND_AND Reduce 505 PLUS Reduce 505 MINUS Reduce 505 REMAINDER Reduce 505 XOR Reduce 505 AND Reduce 505 MULTIPLY Reduce 505 OR Reduce 505 DIVIDE Reduce 505 GREATER Reduce 505 LESS Reduce 505 RPAREN Reduce 505 RBRACE Reduce 505 LBRACKET Reduce 505 RBRACKET Reduce 505 SEMICOLON Reduce 505 QUESTION Reduce 505 COLON Reduce 505 COMMA Reduce 505 DOT Reduce 505 EQUAL Reduce 505 AT Reduce 505 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1461 COLON_COLON Reduce 505 ElidedSemicolonAndRightBrace Reduce 505 BeginCaseExpr Reduce 505 $eof Reduce 505 LBRACE Reduce 507 Default reduction to rule 505 STATE 836 ---------------------------------------------------------------------- ( 775 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN UnqualifiedClassBodyopt RPAREN Shift 880 STATE 837 ---------------------------------------------------------------------- ( 777 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1462 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1463 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 PostfixExpression ::= .Name IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1464 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1465 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1466 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1467 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 881 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 838 ---------------------------------------------------------------------- ( 778 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 882 STATE 839 ---------------------------------------------------------------------- ( 779 ) ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 284 STATE 840 ---------------------------------------------------------------------- ( 780 ) MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 533 STATE 841 ---------------------------------------------------------------------- ( 781 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1468 ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 883 STATE 842 ---------------------------------------------------------------------- ( 782 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 884 STATE 843 ---------------------------------------------------------------------- ( 783 ) ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 280 STATE 844 ---------------------------------------------------------------------- ( 784 ) MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 537 STATE 845 ---------------------------------------------------------------------- ( 788 ) IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf else . Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1469 PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 ::= . (321) EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1470 StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 Mon Oct 4 09:57:22 2021 Page 1471 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1472 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 75 while Shift 73 if Shift 72 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1473 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 AssertStatement Gt/Rd 380 Block Gt/Rd 380 EmptyStatement Gt/Rd 380 ExpressionStatement Gt/Rd 380 SwitchStatement Gt/Rd 380 DoStatement Gt/Rd 380 BreakStatement Gt/Rd 380 ContinueStatement Gt/Rd 380 ReturnStatement Gt/Rd 380 SynchronizedStatement Gt/Rd 380 ThrowStatement Gt/Rd 380 TryStatement Gt/Rd 380 TryStatementWithResources Gt/Rd 380 YieldStatement Gt/Rd 380 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1474 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 Label Goto 71 EnhancedForStatementHeader Goto 74 EnhancedForStatementHeaderInit Goto 76 StatementWithoutTrailingSubstatement Gt/Rd 380 LabeledStatement Gt/Rd 380 IfThenStatement Gt/Rd 380 IfThenElseStatement Gt/Rd 380 WhileStatement Gt/Rd 380 ForStatement Gt/Rd 380 EnhancedForStatement Gt/Rd 380 Statement Gt/Rd 380 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 846 ---------------------------------------------------------------------- ( 791 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1475 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= for LPAREN .Modifiers Type PushRealModifiers Identifier Dimsopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1476 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 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 ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1477 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 Mon Oct 4 09:57:22 2021 Page 1478 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 ::= . (654) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 strictfp Shift 499 volatile Shift 499 transient Shift 499 synchronized Shift 499 native Shift 499 final Shift 499 abstract Shift 499 static Shift 499 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1479 private Shift 499 protected Shift 499 public Shift 499 AT Shift 130 StatementExpressionList Goto 501 LocalVariableDeclaration Goto 885 PrimitiveType Goto 89 ReferenceType Goto 498 ClassOrInterface Goto 88 GenericType Goto 87 Name Goto 500 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 498 Modifier Goto 499 Modifiers Goto 499 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Type Goto 498 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 99 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1480 QualifiedName Goto 943 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 StatementExpression Goto 1030 ForInit Goto 885 ForInitopt Goto 885 SEMICOLON Reduce 654 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 847 ---------------------------------------------------------------------- ( 792 ) WhileStatement ::= while LPAREN .Expression RPAREN Statement WhileStatementNoShortIf ::= while LPAREN .Expression RPAREN StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1481 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1482 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 Mon Oct 4 09:57:22 2021 Page 1483 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1484 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1485 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 886 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1486 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 848 ---------------------------------------------------------------------- ( 793 ) IfThenStatement ::= if LPAREN .Expression RPAREN Statement IfThenElseStatement ::= if LPAREN .Expression RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if LPAREN .Expression RPAREN StatementNoShortIf else StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1487 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1488 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 UnaryExpression ::= .PLUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1489 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1490 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1491 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 887 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1492 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 849 ---------------------------------------------------------------------- ( 794 ) LabeledStatement ::= Label COLON .Statement LabeledStatementNoShortIf ::= Label COLON .StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1493 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 ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1494 Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 Mon Oct 4 09:57:22 2021 Page 1495 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1496 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1497 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 for Shift 791 while Shift 792 if Shift 793 Label Goto 794 EnhancedForStatementHeader Goto 790 StatementWithoutTrailingSubstatement Goto 789 LabeledStatementNoShortIf Gt/Rd 368 IfThenElseStatementNoShortIf Gt/Rd 368 WhileStatementNoShortIf Gt/Rd 368 ForStatementNoShortIf Gt/Rd 368 EnhancedForStatementNoShortIf Gt/Rd 368 AssertStatement Goto 1145 Block Goto 1145 EmptyStatement Goto 1145 ExpressionStatement Goto 1145 SwitchStatement Goto 1145 DoStatement Goto 1145 BreakStatement Goto 1145 ContinueStatement Goto 1145 ReturnStatement Goto 1145 SynchronizedStatement Goto 1145 ThrowStatement Goto 1145 TryStatement Goto 1145 TryStatementWithResources Goto 1145 YieldStatement Goto 1145 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1498 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 EnhancedForStatementHeaderInit Goto 76 LabeledStatement Gt/Rd 367 IfThenStatement Gt/Rd 367 IfThenElseStatement Gt/Rd 367 WhileStatement Gt/Rd 367 ForStatement Gt/Rd 367 EnhancedForStatement Gt/Rd 367 Statement Gt/Rd 367 StatementNoShortIf Gt/Rd 368 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1499 STATE 850 ---------------------------------------------------------------------- ( 795 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON . ForUpdateopt RPAREN Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1500 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1501 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 ForUpdateopt ::= . (656) MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1502 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 StatementExpressionList Goto 889 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 99 Name Goto 98 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1503 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 StatementExpression Goto 1168 ForUpdate Goto 888 ForUpdateopt Goto 888 RPAREN Reduce 656 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 851 ---------------------------------------------------------------------- ( 796 ) VariableDeclaratorId ::= Identifier Dimsopt . (238) EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers Identifier Dimsopt . (684) COLON Reduce 684 SEMICOLON Reduce 238 COMMA Reduce 238 EQUAL Reduce 238 Default reduction to rule 238 STATE 852 ---------------------------------------------------------------------- ( 797 ) VariableDeclaratorId ::= Identifier .Dimsopt EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1504 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (641) LBRACKET Shift 199 AT308 Shift 22 DimsLoop Goto 200 TypeAnnotations Goto 198 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 OneDimLoop Goto 973 Dims Goto 890 Dimsopt Goto 890 SEMICOLON Reduce 641 COLON Reduce 641 COMMA Reduce 641 EQUAL Reduce 641 Default reduction to rule 641 STATE 853 ---------------------------------------------------------------------- ( 798 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet . VariableInitializer RestoreDiet ExitVariableWithInitialization Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1505 PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 Mon Oct 4 09:57:22 2021 Page 1506 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1507 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 Mon Oct 4 09:57:22 2021 Page 1508 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1509 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 LBRACE Shift 116 AssignmentExpression Gt/Rd 625 ConditionalOrExpression Goto 113 InclusiveOrExpression Goto 111 ConditionalAndExpression Goto 114 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PostfixExpression Goto 115 Literal Goto 945 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 PrimitiveType Goto 95 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1510 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 945 ArrayCreationWithoutArrayInitializer Goto 956 SwitchExpression Goto 946 CastExpression Goto 946 UnaryExpression Goto 946 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalExpression Goto 957 Assignment Goto 957 Expression Goto 891 ArrayInitializer Goto 891 VariableInitializer Goto 891 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 854 ---------------------------------------------------------------------- ( 801 ) ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 286 STATE 855 ---------------------------------------------------------------------- ( 802 ) MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 532 STATE 856 ---------------------------------------------------------------------- ( 803 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1511 ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 892 STATE 857 ---------------------------------------------------------------------- ( 804 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 893 STATE 858 ---------------------------------------------------------------------- ( 805 ) ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 282 STATE 859 ---------------------------------------------------------------------- ( 808 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1512 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1513 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 Mon Oct 4 09:57:22 2021 Page 1514 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 1009 true Shift 1009 null Shift 1009 StringLiteral Shift 1009 CharacterLiteral Shift 1009 DoubleLiteral Shift 1009 FloatingPointLiteral Shift 1009 LongLiteral Shift 1009 IntegerLiteral Shift 1009 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1515 SwitchExpression Gt/Rd 560 PostfixExpression Goto 464 CastExpression Gt/Rd 560 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 1018 BooleanLiteral Goto 1009 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 1009 ClassInstanceCreationExpression Goto 1017 FieldAccess Goto 1016 MethodInvocation Goto 1015 ArrayAccess Goto 1014 LambdaExpression Goto 1013 ReferenceExpression Goto 1012 PostIncrementExpression Goto 1011 PostDecrementExpression Goto 1010 PreIncrementExpression Gt/Rd 560 PreDecrementExpression Gt/Rd 560 UnaryExpressionNotPlusMinus Gt/Rd 560 UnaryExpression Gt/Rd 560 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 860 ---------------------------------------------------------------------- ( 809 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1516 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt .AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus AdditionalBoundsListOpt ::= . (566) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 428 AdditionalBound Goto 1133 AdditionalBoundList Goto 714 AdditionalBoundsListOpt Goto 894 RPAREN Reduce 566 Default reduction to rule 566 STATE 861 ---------------------------------------------------------------------- ( 810 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN . InsideCastExpression UnaryExpressionNotPlusMinus InsideCastExpression ::= . (571) InsideCastExpression Goto 895 Identifier Reduce 571 boolean Reduce 571 byte Reduce 571 char Reduce 571 double Reduce 571 false Reduce 571 float Reduce 571 int Reduce 571 long Reduce 571 new Reduce 571 null Reduce 571 short Reduce 571 super Reduce 571 switch Reduce 571 this Reduce 571 true Reduce 571 void Reduce 571 IntegerLiteral Reduce 571 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1517 LongLiteral Reduce 571 FloatingPointLiteral Reduce 571 DoubleLiteral Reduce 571 CharacterLiteral Reduce 571 StringLiteral Reduce 571 NOT Reduce 571 TWIDDLE Reduce 571 LPAREN Reduce 571 BeginLambda Reduce 571 BeginIntersectionCast Reduce 571 AT308 Reduce 571 Default reduction to rule 571 STATE 862 ---------------------------------------------------------------------- ( 811 ) CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression .UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1518 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1519 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 CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1520 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 102 TWIDDLE Shift 103 BeginIntersectionCast Shift 100 null Shift 1146 StringLiteral Shift 1146 CharacterLiteral Shift 1146 DoubleLiteral Shift 1146 FloatingPointLiteral Shift 1146 LongLiteral Shift 1146 IntegerLiteral Shift 1146 false Shift 1146 true Shift 1146 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 switch Shift 94 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1155 PostDecrementExpression Goto 1154 PostfixExpression Goto 464 Literal Goto 1146 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1153 FieldAccess Goto 1152 PrimitiveType Goto 95 MethodInvocation Goto 1151 ArrayAccess Goto 1150 LambdaExpression Goto 1149 ReferenceExpression Goto 1148 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1521 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1146 ArrayCreationWithoutArrayInitializer Goto 1147 SwitchExpression Gt/Rd 565 CastExpression Gt/Rd 565 UnaryExpressionNotPlusMinus Gt/Rd 565 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 863 ---------------------------------------------------------------------- ( 812 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1522 TypeAnnotations0 ::= .TypeAnnotation 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 22 Identifier Shift 970 ClassOrInterfaceType Goto 1167 Name Goto 244 GenericType Goto 245 ClassOrInterface Goto 88 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 TypeAnnotations Goto 203 QualifiedName Goto 985 ClassType Gt/Rd 269 ClassTypeElt Gt/Rd 268 STATE 864 ---------------------------------------------------------------------- ( 819 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1523 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 ::= . (71) 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 22 Identifier Shift 970 ReferenceType Goto 820 TypeAnnotationsopt Goto 821 ReferenceType3 Gt/Rd 710 Wildcard3 Gt/Rd 710 ClassOrInterface Goto 632 ReferenceType2 Gt/Rd 704 Wildcard2 Gt/Rd 704 Wildcard Gt/Rd 696 GenericType Goto 87 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1524 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 972 ReferenceType1 Gt/Rd 694 Wildcard1 Gt/Rd 694 TypeArgument1 Gt/Rd 694 TypeArgument Gt/Rd 696 TypeArgument2 Gt/Rd 704 TypeArgument3 Gt/Rd 710 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 QUESTION Reduce 71 Default reduction to rule 71 STATE 865 ---------------------------------------------------------------------- ( 821 ) Wildcard ::= TypeAnnotationsopt QUESTION . (714) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1525 WildcardBounds2 ::= .extends ReferenceType2 WildcardBounds2 ::= .super ReferenceType2 WildcardBounds3 ::= .extends ReferenceType3 WildcardBounds3 ::= .super ReferenceType3 UNSIGNED_RIGHT_SHIFT Sh/Rd 726 RIGHT_SHIFT Sh/Rd 722 GREATER Sh/Rd 718 super Shift 896 extends Shift 897 WildcardBounds Gt/Rd 715 WildcardBounds1 Gt/Rd 719 WildcardBounds2 Gt/Rd 723 WildcardBounds3 Gt/Rd 727 COMMA Reduce 714 Default reduction to rule 714 STATE 866 ---------------------------------------------------------------------- ( 822 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT WildcardBounds ::= super ReferenceType . (717) RIGHT_SHIFT Sh/Rd 707 GREATER Sh/Rd 701 COMMA Reduce 717 Default reduction to rule 717 STATE 867 ---------------------------------------------------------------------- ( 823 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT WildcardBounds ::= extends ReferenceType . (716) RIGHT_SHIFT Sh/Rd 707 GREATER Sh/Rd 701 COMMA Reduce 716 Default reduction to rule 716 STATE 868 ---------------------------------------------------------------------- ( 826 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1526 ReferenceType1 ::= ReferenceType .GREATER AdditionalBound ::= AND ReferenceType . (739) GREATER Sh/Rd 701 AND Reduce 739 COMMA Reduce 739 Default reduction to rule 739 STATE 869 ---------------------------------------------------------------------- ( 828 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable .EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EQUAL Shift 898 STATE 870 ---------------------------------------------------------------------- ( 829 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL . ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ForceNoDiet ::= . (236) ForceNoDiet Goto 899 Identifier Reduce 236 boolean Reduce 236 byte Reduce 236 char Reduce 236 double Reduce 236 false Reduce 236 float Reduce 236 int Reduce 236 long Reduce 236 new Reduce 236 null Reduce 236 short Reduce 236 super Reduce 236 switch Reduce 236 this Reduce 236 true Reduce 236 void Reduce 236 IntegerLiteral Reduce 236 LongLiteral Reduce 236 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1527 FloatingPointLiteral Reduce 236 DoubleLiteral Reduce 236 CharacterLiteral Reduce 236 StringLiteral Reduce 236 PLUS_PLUS Reduce 236 MINUS_MINUS Reduce 236 PLUS Reduce 236 MINUS Reduce 236 NOT Reduce 236 TWIDDLE Reduce 236 LPAREN Reduce 236 LBRACE Reduce 236 BeginLambda Reduce 236 BeginIntersectionCast Reduce 236 AT308 Reduce 236 Default reduction to rule 236 STATE 871 ---------------------------------------------------------------------- ( 831 ) 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 ConstantExpressions RBRACE Sh/Rd 384 case Shift 872 default Shift 874 SwitchLabeledExpression Gt/Rd 398 SwitchLabeledBlock Gt/Rd 399 SwitchLabeledThrowStatement Gt/Rd 400 SwitchLabelExpr Goto 873 SwitchLabelCaseLhs Goto 875 SwitchLabeledRule Gt/Rd 388 SwitchLabels Goto 900 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1528 SwitchLabel Goto 900 SwitchBlockStatement Gt/Rd 388 STATE 872 ---------------------------------------------------------------------- ( 831 871 876 900 ) SwitchLabelCaseLhs ::= case .ConstantExpressions Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1529 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1530 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 Mon Oct 4 09:57:22 2021 Page 1531 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1532 ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ConstantExpressions ::= .ConstantExpressions COMMA Expression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AssignmentExpression Gt/Rd 625 ConditionalOrExpression Goto 113 InclusiveOrExpression Goto 111 ConditionalAndExpression Goto 114 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PostfixExpression Goto 115 Literal Goto 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1533 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 PrimitiveType Goto 95 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 945 ArrayCreationWithoutArrayInitializer Goto 956 SwitchExpression Goto 946 CastExpression Goto 946 UnaryExpression Goto 946 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalExpression Goto 957 Assignment Goto 957 Expression Goto 901 ConstantExpressions Goto 901 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 873 ---------------------------------------------------------------------- ( 831 871 ) SwitchLabeledExpression ::= SwitchLabelExpr .Expression SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1534 SwitchLabeledBlock ::= SwitchLabelExpr .Block SwitchLabeledThrowStatement ::= SwitchLabelExpr .ThrowExpression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1535 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1536 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 Mon Oct 4 09:57:22 2021 Page 1537 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1538 MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 throw Shift 904 OpenBlock Goto 69 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1539 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Goto 903 Block Gt/Rd 402 ThrowExpression Goto 902 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 LBRACE Reduce 321 Default reduction to rule 71 STATE 874 ---------------------------------------------------------------------- ( 831 871 ) SwitchLabel ::= default .COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1540 SwitchLabelExpr ::= default .ARROW ARROW Sh/Rd 404 COLON Sh/Rd 394 STATE 875 ---------------------------------------------------------------------- ( 831 871 ) SwitchLabel ::= SwitchLabelCaseLhs .COLON SwitchLabelExpr ::= SwitchLabelCaseLhs .BeginCaseExpr ARROW BeginCaseExpr Shift 905 COLON Sh/Rd 393 STATE 876 ---------------------------------------------------------------------- ( 831 ) SwitchBlock ::= LBRACE SwitchLabels .RBRACE SwitchBlockStatement ::= SwitchLabels .BlockStatements SwitchLabels ::= SwitchLabels .SwitchLabel Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1541 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1542 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1543 ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock SwitchLabel ::= .SwitchLabelCaseLhs COLON SwitchLabel ::= .default COLON SwitchLabelCaseLhs ::= .case ConstantExpressions WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 Mon Oct 4 09:57:22 2021 Page 1544 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1545 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 ::= . (637) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 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 Mon Oct 4 09:57:22 2021 Page 1546 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 385 AT308 Shift 22 strictfp Shift 934 volatile Shift 934 transient Shift 934 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 protected Shift 934 public Shift 934 for Shift 75 while Shift 73 if Shift 72 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1547 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Shift 78 throw Shift 42 try Shift 41 yield Shift 40 AT Shift 79 default Shift 907 case Shift 872 SwitchLabelCaseLhs Goto 908 LocalVariableDeclarationStatement Goto 944 Statement Goto 944 ClassDeclaration Goto 944 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 EnumHeaderName Goto 29 Modifiersopt Goto 37 EnumHeader Goto 30 AnnotationTypeDeclarationHeaderName Goto 31 Modifiers Goto 81 AnnotationTypeDeclarationHeader Goto 32 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 InterfaceHeader Goto 35 ClassHeaderName Goto 36 ClassHeaderName1 Goto 38 ClassHeader Goto 39 AssertStatement Goto 944 Block Goto 944 EmptyStatement Goto 944 ExpressionStatement Goto 944 SwitchStatement Goto 944 DoStatement Goto 944 BreakStatement Goto 944 ContinueStatement Goto 944 ReturnStatement Goto 944 SynchronizedStatement Goto 944 ThrowStatement Goto 944 TryStatement Goto 944 TryStatementWithResources Goto 944 YieldStatement Goto 944 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1548 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 85 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 89 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 Label Goto 71 EnhancedForStatementHeader Goto 74 EnhancedForStatementHeaderInit Goto 76 StatementWithoutTrailingSubstatement Goto 944 LabeledStatement Goto 944 IfThenStatement Goto 944 IfThenElseStatement Goto 944 WhileStatement Goto 944 ForStatement Goto 944 EnhancedForStatement Goto 944 Type Goto 77 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 934 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1549 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 GenericType Goto 87 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 943 ReferenceType Goto 77 LocalVariableDeclaration Goto 90 BlockStatement Gt/Rd 322 BlockStatements Goto 906 SwitchLabel Gt/Rd 392 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 LBRACE Reduce 321 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 71 STATE 877 ---------------------------------------------------------------------- ( 833 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (508) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (510) QualifiedEnterAnonymousClassBody Goto 878 QualifiedClassBodyopt Gt/Rd 502 abstract Reduce 508 final Reduce 508 instanceof Reduce 508 native Reduce 508 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1550 private Reduce 508 protected Reduce 508 public Reduce 508 static Reduce 508 strictfp Reduce 508 synchronized Reduce 508 transient Reduce 508 volatile Reduce 508 PLUS_PLUS Reduce 508 MINUS_MINUS Reduce 508 EQUAL_EQUAL Reduce 508 LESS_EQUAL Reduce 508 GREATER_EQUAL Reduce 508 NOT_EQUAL Reduce 508 LEFT_SHIFT Reduce 508 RIGHT_SHIFT Reduce 508 UNSIGNED_RIGHT_SHIFT Reduce 508 PLUS_EQUAL Reduce 508 MINUS_EQUAL Reduce 508 MULTIPLY_EQUAL Reduce 508 DIVIDE_EQUAL Reduce 508 AND_EQUAL Reduce 508 OR_EQUAL Reduce 508 XOR_EQUAL Reduce 508 REMAINDER_EQUAL Reduce 508 LEFT_SHIFT_EQUAL Reduce 508 RIGHT_SHIFT_EQUAL Reduce 508 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 508 OR_OR Reduce 508 AND_AND Reduce 508 PLUS Reduce 508 MINUS Reduce 508 REMAINDER Reduce 508 XOR Reduce 508 AND Reduce 508 MULTIPLY Reduce 508 OR Reduce 508 DIVIDE Reduce 508 GREATER Reduce 508 LESS Reduce 508 RPAREN Reduce 508 RBRACE Reduce 508 LBRACKET Reduce 508 RBRACKET Reduce 508 SEMICOLON Reduce 508 QUESTION Reduce 508 COLON Reduce 508 COMMA Reduce 508 DOT Reduce 508 EQUAL Reduce 508 AT Reduce 508 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1551 COLON_COLON Reduce 508 ElidedSemicolonAndRightBrace Reduce 508 BeginCaseExpr Reduce 508 $eof Reduce 508 LBRACE Reduce 510 Default reduction to rule 508 STATE 878 ---------------------------------------------------------------------- ( 834 877 909 922 ) QualifiedClassBodyopt ::= QualifiedEnterAnonymousClassBody .ClassBody ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 220 ClassBody Gt/Rd 509 STATE 879 ---------------------------------------------------------------------- ( 835 880 ) UnqualifiedClassBodyopt ::= UnqualifiedEnterAnonymousClassBody .ClassBody ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 220 ClassBody Gt/Rd 506 STATE 880 ---------------------------------------------------------------------- ( 836 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . UnqualifiedClassBodyopt UnqualifiedClassBodyopt ::= . (505) UnqualifiedClassBodyopt ::= .UnqualifiedEnterAnonymousClassBody ClassBody UnqualifiedEnterAnonymousClassBody ::= . (507) UnqualifiedEnterAnonymousClassBody Goto 879 UnqualifiedClassBodyopt Gt/Rd 497 abstract Reduce 505 final Reduce 505 instanceof Reduce 505 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1552 native Reduce 505 private Reduce 505 protected Reduce 505 public Reduce 505 static Reduce 505 strictfp Reduce 505 synchronized Reduce 505 transient Reduce 505 volatile Reduce 505 PLUS_PLUS Reduce 505 MINUS_MINUS Reduce 505 EQUAL_EQUAL Reduce 505 LESS_EQUAL Reduce 505 GREATER_EQUAL Reduce 505 NOT_EQUAL Reduce 505 LEFT_SHIFT Reduce 505 RIGHT_SHIFT Reduce 505 UNSIGNED_RIGHT_SHIFT Reduce 505 PLUS_EQUAL Reduce 505 MINUS_EQUAL Reduce 505 MULTIPLY_EQUAL Reduce 505 DIVIDE_EQUAL Reduce 505 AND_EQUAL Reduce 505 OR_EQUAL Reduce 505 XOR_EQUAL Reduce 505 REMAINDER_EQUAL Reduce 505 LEFT_SHIFT_EQUAL Reduce 505 RIGHT_SHIFT_EQUAL Reduce 505 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 505 OR_OR Reduce 505 AND_AND Reduce 505 PLUS Reduce 505 MINUS Reduce 505 REMAINDER Reduce 505 XOR Reduce 505 AND Reduce 505 MULTIPLY Reduce 505 OR Reduce 505 DIVIDE Reduce 505 GREATER Reduce 505 LESS Reduce 505 RPAREN Reduce 505 RBRACE Reduce 505 LBRACKET Reduce 505 RBRACKET Reduce 505 SEMICOLON Reduce 505 QUESTION Reduce 505 COLON Reduce 505 COMMA Reduce 505 DOT Reduce 505 EQUAL Reduce 505 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1553 AT Reduce 505 COLON_COLON Reduce 505 ElidedSemicolonAndRightBrace Reduce 505 BeginCaseExpr Reduce 505 $eof Reduce 505 LBRACE Reduce 507 Default reduction to rule 505 STATE 881 ---------------------------------------------------------------------- ( 837 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 909 STATE 882 ---------------------------------------------------------------------- ( 838 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1554 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1555 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 Mon Oct 4 09:57:22 2021 Page 1556 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 InstanceofExpression ::= .RelationalExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1557 InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 ::= . (643) ArgumentListopt ::= .ArgumentList MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1558 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 Expression Gt/Rd 511 ArgumentList Goto 489 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1559 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 ArgumentListopt Goto 910 RPAREN Reduce 643 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 883 ---------------------------------------------------------------------- ( 841 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 285 STATE 884 ---------------------------------------------------------------------- ( 842 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 281 STATE 885 ---------------------------------------------------------------------- ( 846 ) ForStatement ::= for LPAREN ForInitopt .SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt .SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf SEMICOLON Shift 911 STATE 886 ---------------------------------------------------------------------- ( 847 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1560 WhileStatement ::= while LPAREN Expression .RPAREN Statement WhileStatementNoShortIf ::= while LPAREN Expression .RPAREN StatementNoShortIf RPAREN Shift 912 STATE 887 ---------------------------------------------------------------------- ( 848 ) IfThenStatement ::= if LPAREN Expression .RPAREN Statement IfThenElseStatement ::= if LPAREN Expression .RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression .RPAREN StatementNoShortIf else StatementNoShortIf RPAREN Shift 913 STATE 888 ---------------------------------------------------------------------- ( 850 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN Statement RPAREN Shift 914 STATE 889 ---------------------------------------------------------------------- ( 850 928 ) ForUpdate ::= StatementExpressionList . (414) StatementExpressionList ::= StatementExpressionList .COMMA StatementExpression COMMA Shift 697 RPAREN Reduce 657 Default reduction to rule 414 STATE 890 ---------------------------------------------------------------------- ( 852 ) VariableDeclaratorId ::= Identifier Dimsopt . (238) EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt . (685) COLON Reduce 685 SEMICOLON Reduce 238 COMMA Reduce 238 EQUAL Reduce 238 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1561 Default reduction to rule 238 STATE 891 ---------------------------------------------------------------------- ( 853 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer .RestoreDiet ExitVariableWithInitialization RestoreDiet ::= . (237) RestoreDiet Goto 915 SEMICOLON Reduce 237 COMMA Reduce 237 Default reduction to rule 237 STATE 892 ---------------------------------------------------------------------- ( 856 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 287 STATE 893 ---------------------------------------------------------------------- ( 857 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 283 STATE 894 ---------------------------------------------------------------------- ( 860 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt . PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 450 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1562 PushRPAREN Goto 916 STATE 895 ---------------------------------------------------------------------- ( 861 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression .UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 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 Mon Oct 4 09:57:22 2021 Page 1563 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1564 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 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 Mon Oct 4 09:57:22 2021 Page 1565 CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus NOT Shift 102 TWIDDLE Shift 103 BeginIntersectionCast Shift 100 null Shift 1146 StringLiteral Shift 1146 CharacterLiteral Shift 1146 DoubleLiteral Shift 1146 FloatingPointLiteral Shift 1146 LongLiteral Shift 1146 IntegerLiteral Shift 1146 false Shift 1146 true Shift 1146 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 switch Shift 94 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1155 PostDecrementExpression Goto 1154 PostfixExpression Goto 464 Literal Goto 1146 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1153 FieldAccess Goto 1152 PrimitiveType Goto 95 MethodInvocation Goto 1151 ArrayAccess Goto 1150 LambdaExpression Goto 1149 ReferenceExpression Goto 1148 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1566 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1146 ArrayCreationWithoutArrayInitializer Goto 1147 SwitchExpression Gt/Rd 561 CastExpression Gt/Rd 561 UnaryExpressionNotPlusMinus Gt/Rd 561 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 896 ---------------------------------------------------------------------- ( 865 ) 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 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 ::= . (71) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1567 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 22 Identifier Shift 970 ReferenceType Goto 917 ClassOrInterface Goto 632 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 917 ReferenceType1 Gt/Rd 721 ReferenceType2 Gt/Rd 725 ReferenceType3 Gt/Rd 729 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1568 void Reduce 71 Default reduction to rule 71 STATE 897 ---------------------------------------------------------------------- ( 865 ) 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1569 ReferenceType3 ::= .ReferenceType UNSIGNED_RIGHT_SHIFT AT308 Shift 22 Identifier Shift 970 ReferenceType Goto 918 ClassOrInterface Goto 632 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 971 Name Goto 194 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 PrimitiveType Goto 195 ArrayTypeWithTypeArgumentsName Goto 83 TypeAnnotationsopt Goto 82 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 918 ReferenceType1 Gt/Rd 720 ReferenceType2 Gt/Rd 724 ReferenceType3 Gt/Rd 728 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 898 ---------------------------------------------------------------------- ( 869 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL .ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ForceNoDiet ::= . (236) ForceNoDiet Goto 919 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1570 Identifier Reduce 236 boolean Reduce 236 byte Reduce 236 char Reduce 236 double Reduce 236 false Reduce 236 float Reduce 236 int Reduce 236 long Reduce 236 new Reduce 236 null Reduce 236 short Reduce 236 super Reduce 236 switch Reduce 236 this Reduce 236 true Reduce 236 void Reduce 236 IntegerLiteral Reduce 236 LongLiteral Reduce 236 FloatingPointLiteral Reduce 236 DoubleLiteral Reduce 236 CharacterLiteral Reduce 236 StringLiteral Reduce 236 PLUS_PLUS Reduce 236 MINUS_MINUS Reduce 236 PLUS Reduce 236 MINUS Reduce 236 NOT Reduce 236 TWIDDLE Reduce 236 LPAREN Reduce 236 LBRACE Reduce 236 BeginLambda Reduce 236 BeginIntersectionCast Reduce 236 AT308 Reduce 236 Default reduction to rule 236 STATE 899 ---------------------------------------------------------------------- ( 870 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet .VariableInitializer RestoreDiet ExitVariableWithInitialization Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1571 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 ::= . (71) 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 ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 Mon Oct 4 09:57:22 2021 Page 1572 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1573 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 Mon Oct 4 09:57:22 2021 Page 1574 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1575 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 LBRACE Shift 116 AssignmentExpression Gt/Rd 625 ConditionalOrExpression Goto 113 InclusiveOrExpression Goto 111 ConditionalAndExpression Goto 114 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PostfixExpression Goto 115 Literal Goto 945 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 PrimitiveType Goto 95 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1576 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 945 ArrayCreationWithoutArrayInitializer Goto 956 SwitchExpression Goto 946 CastExpression Goto 946 UnaryExpression Goto 946 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalExpression Goto 957 Assignment Goto 957 Expression Goto 920 ArrayInitializer Goto 920 VariableInitializer Goto 920 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 900 ---------------------------------------------------------------------- ( 871 ) SwitchBlock ::= LBRACE SwitchBlockStatements SwitchLabels .RBRACE SwitchBlockStatement ::= SwitchLabels .BlockStatements SwitchLabels ::= SwitchLabels .SwitchLabel Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1577 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 ::= . (71) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1578 ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1579 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock SwitchLabel ::= .SwitchLabelCaseLhs COLON SwitchLabel ::= .default COLON SwitchLabelCaseLhs ::= .case ConstantExpressions WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1580 TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally YieldStatement ::= .yield Expression SEMICOLON 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1581 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 InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1582 ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (637) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 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 386 AT308 Shift 22 strictfp Shift 934 volatile Shift 934 transient Shift 934 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 protected Shift 934 public Shift 934 for Shift 75 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1583 while Shift 73 if Shift 72 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Shift 78 throw Shift 42 try Shift 41 yield Shift 40 AT Shift 79 default Shift 907 case Shift 872 SwitchLabelCaseLhs Goto 908 LocalVariableDeclarationStatement Goto 944 Statement Goto 944 ClassDeclaration Goto 944 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 EnumHeaderName Goto 29 Modifiersopt Goto 37 EnumHeader Goto 30 AnnotationTypeDeclarationHeaderName Goto 31 Modifiers Goto 81 AnnotationTypeDeclarationHeader Goto 32 InterfaceHeaderName Goto 33 InterfaceHeaderName1 Goto 34 InterfaceHeader Goto 35 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1584 ClassHeaderName Goto 36 ClassHeaderName1 Goto 38 ClassHeader Goto 39 AssertStatement Goto 944 Block Goto 944 EmptyStatement Goto 944 ExpressionStatement Goto 944 SwitchStatement Goto 944 DoStatement Goto 944 BreakStatement Goto 944 ContinueStatement Goto 944 ReturnStatement Goto 944 SynchronizedStatement Goto 944 ThrowStatement Goto 944 TryStatement Goto 944 TryStatementWithResources Goto 944 YieldStatement Goto 944 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 85 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 89 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 Label Goto 71 EnhancedForStatementHeader Goto 74 EnhancedForStatementHeaderInit Goto 76 StatementWithoutTrailingSubstatement Goto 944 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1585 LabeledStatement Goto 944 IfThenStatement Goto 944 IfThenElseStatement Goto 944 WhileStatement Goto 944 ForStatement Goto 944 EnhancedForStatement Goto 944 Type Goto 77 Annotation Gt/Rd 198 AnnotationName Goto 80 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 Modifier Goto 934 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 TypeAnnotations Goto 86 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 GenericType Goto 87 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterface Goto 88 SimpleName Gt/Rd 63 QualifiedName Goto 943 ReferenceType Goto 77 LocalVariableDeclaration Goto 90 BlockStatement Gt/Rd 322 BlockStatements Goto 906 SwitchLabel Gt/Rd 392 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 LBRACE Reduce 321 class Reduce 637 enum Reduce 637 interface Reduce 637 Default reduction to rule 71 STATE 901 ---------------------------------------------------------------------- ( 872 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1586 SwitchLabelCaseLhs ::= case ConstantExpressions . (406) ConstantExpressions ::= ConstantExpressions .COMMA Expression COMMA Shift 921 COLON Reduce 406 BeginCaseExpr Reduce 406 Default reduction to rule 406 STATE 902 ---------------------------------------------------------------------- ( 873 ) SwitchLabeledThrowStatement ::= SwitchLabelExpr ThrowExpression .SEMICOLON SEMICOLON Sh/Rd 403 STATE 903 ---------------------------------------------------------------------- ( 873 ) SwitchLabeledExpression ::= SwitchLabelExpr Expression .SEMICOLON SEMICOLON Sh/Rd 401 STATE 904 ---------------------------------------------------------------------- ( 873 ) ThrowExpression ::= throw .Expression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 1587 TypeAnnotationsopt ::= . (71) 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 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1588 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 Mon Oct 4 09:57:22 2021 Page 1589 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 InstanceofExpression ::= .RelationalExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1590 InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1591 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1592 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Gt/Rd 425 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 905 ---------------------------------------------------------------------- ( 875 ) SwitchLabelExpr ::= SwitchLabelCaseLhs BeginCaseExpr .ARROW ARROW Sh/Rd 405 STATE 906 ---------------------------------------------------------------------- ( 876 900 ) BlockStatements ::= BlockStatements .BlockStatement SwitchBlockStatement ::= SwitchLabels BlockStatements . (390) Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1593 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 ::= . (71) 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 ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1594 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 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN Statement DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1595 AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1596 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 Mon Oct 4 09:57:22 2021 Page 1597 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 ::= . (637) 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 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 yield Shift 40 try Shift 41 throw Shift 42 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1598 return Shift 44 continue Shift 45 break Shift 46 do Shift 47 switch Shift 48 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 BeginLambda Shift 56 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 super Shift 65 this Shift 67 LESS Shift 25 SEMICOLON Sh/Rd 366 assert Shift 70 if Shift 72 while Shift 73 for Shift 75 strictfp Shift 934 volatile Shift 934 transient Shift 934 synchronized Shift 78 native Shift 934 final Shift 934 abstract Shift 934 static Shift 934 private Shift 934 protected Shift 934 public Shift 934 AT Shift 79 AT308 Shift 22 Identifier Shift 84 LocalVariableDeclaration Goto 90 PrimitiveType Goto 89 ReferenceType Goto 77 ClassOrInterface Goto 88 GenericType Goto 87 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 943 Name Goto 85 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1599 ArrayTypeWithTypeArgumentsName Goto 83 ClassOrInterfaceType Gt/Rd 49 ArrayType Goto 77 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationsopt Goto 82 Modifier Goto 934 Modifiers Goto 81 NormalAnnotation Goto 942 MarkerAnnotation Goto 942 SingleMemberAnnotation Goto 942 AnnotationName Goto 80 Annotation Gt/Rd 198 Type Goto 77 StatementWithoutTrailingSubstatement Gt/Rd 323 LabeledStatement Gt/Rd 323 IfThenStatement Gt/Rd 323 IfThenElseStatement Gt/Rd 323 WhileStatement Gt/Rd 323 ForStatement Gt/Rd 323 EnhancedForStatement Gt/Rd 323 EnhancedForStatementHeaderInit Goto 76 EnhancedForStatementHeader Goto 74 Label Goto 71 OpenBlock Goto 69 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OnlyTypeArguments Goto 66 Primary Goto 64 PostfixExpression Goto 63 InvalidArrayInitializerAssignement Gt/Rd 612 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 941 BooleanLiteral Goto 935 ClassInstanceCreationExpressionName Goto 59 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 Literal Goto 935 PushLPAREN Goto 55 ClassInstanceCreationExpression Goto 54 FieldAccess Goto 940 MethodInvocation Goto 53 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 PostIncrementExpression Goto 52 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1600 PostDecrementExpression Goto 51 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 OnlySynchronized Goto 43 AssertStatement Gt/Rd 323 Block Gt/Rd 323 EmptyStatement Gt/Rd 323 ExpressionStatement Gt/Rd 323 SwitchStatement Gt/Rd 323 DoStatement Gt/Rd 323 BreakStatement Gt/Rd 323 ContinueStatement Gt/Rd 323 ReturnStatement Gt/Rd 323 SynchronizedStatement Gt/Rd 323 ThrowStatement Gt/Rd 323 TryStatement Gt/Rd 323 TryStatementWithResources Gt/Rd 323 YieldStatement Gt/Rd 323 ClassHeader Goto 39 ClassHeaderName1 Goto 38 Modifiersopt Goto 37 ClassHeaderName Goto 36 InterfaceHeader Goto 35 InterfaceHeaderName1 Goto 34 InterfaceHeaderName Goto 33 AnnotationTypeDeclarationHeader Goto 32 AnnotationTypeDeclarationHeaderName Goto 31 EnumHeader Goto 30 EnumHeaderName Goto 29 LocalVariableDeclarationStatement Gt/Rd 323 Statement Gt/Rd 323 ClassDeclaration Gt/Rd 323 InterfaceDeclaration Gt/Rd 330 AnnotationTypeDeclaration Gt/Rd 331 EnumDeclaration Gt/Rd 332 BlockStatement Gt/Rd 323 case Reduce 390 default Reduce 390 RBRACE Reduce 390 class Reduce 637 enum Reduce 637 interface Reduce 637 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1601 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 907 ---------------------------------------------------------------------- ( 876 900 ) SwitchLabel ::= default .COLON COLON Sh/Rd 394 STATE 908 ---------------------------------------------------------------------- ( 876 900 ) SwitchLabel ::= SwitchLabelCaseLhs .COLON COLON Sh/Rd 393 STATE 909 ---------------------------------------------------------------------- ( 881 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (508) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (510) QualifiedEnterAnonymousClassBody Goto 878 QualifiedClassBodyopt Gt/Rd 500 abstract Reduce 508 final Reduce 508 instanceof Reduce 508 native Reduce 508 private Reduce 508 protected Reduce 508 public Reduce 508 static Reduce 508 strictfp Reduce 508 synchronized Reduce 508 transient Reduce 508 volatile Reduce 508 PLUS_PLUS Reduce 508 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1602 MINUS_MINUS Reduce 508 EQUAL_EQUAL Reduce 508 LESS_EQUAL Reduce 508 GREATER_EQUAL Reduce 508 NOT_EQUAL Reduce 508 LEFT_SHIFT Reduce 508 RIGHT_SHIFT Reduce 508 UNSIGNED_RIGHT_SHIFT Reduce 508 PLUS_EQUAL Reduce 508 MINUS_EQUAL Reduce 508 MULTIPLY_EQUAL Reduce 508 DIVIDE_EQUAL Reduce 508 AND_EQUAL Reduce 508 OR_EQUAL Reduce 508 XOR_EQUAL Reduce 508 REMAINDER_EQUAL Reduce 508 LEFT_SHIFT_EQUAL Reduce 508 RIGHT_SHIFT_EQUAL Reduce 508 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 508 OR_OR Reduce 508 AND_AND Reduce 508 PLUS Reduce 508 MINUS Reduce 508 REMAINDER Reduce 508 XOR Reduce 508 AND Reduce 508 MULTIPLY Reduce 508 OR Reduce 508 DIVIDE Reduce 508 GREATER Reduce 508 LESS Reduce 508 RPAREN Reduce 508 RBRACE Reduce 508 LBRACKET Reduce 508 RBRACKET Reduce 508 SEMICOLON Reduce 508 QUESTION Reduce 508 COLON Reduce 508 COMMA Reduce 508 DOT Reduce 508 EQUAL Reduce 508 AT Reduce 508 COLON_COLON Reduce 508 ElidedSemicolonAndRightBrace Reduce 508 BeginCaseExpr Reduce 508 $eof Reduce 508 LBRACE Reduce 510 Default reduction to rule 508 STATE 910 ---------------------------------------------------------------------- ( 882 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1603 ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 922 STATE 911 ---------------------------------------------------------------------- ( 885 ) 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 ::= .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 ::= . (71) 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 OpenBlock SwitchBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1604 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1605 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 Mon Oct 4 09:57:22 2021 Page 1606 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1607 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 ::= . (628) MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 AssignmentExpression Gt/Rd 625 ConditionalOrExpression Goto 113 InclusiveOrExpression Goto 111 ConditionalAndExpression Goto 114 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 946 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1608 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PostfixExpression Goto 115 Literal Goto 945 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 PrimitiveType Goto 95 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 945 ArrayCreationWithoutArrayInitializer Goto 956 SwitchExpression Goto 946 CastExpression Goto 946 UnaryExpression Goto 946 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalExpression Goto 957 Assignment Goto 957 Expression Goto 923 Expressionopt Goto 923 SEMICOLON Reduce 628 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1609 void Reduce 71 Default reduction to rule 71 STATE 912 ---------------------------------------------------------------------- ( 886 ) WhileStatement ::= while LPAREN Expression RPAREN .Statement WhileStatementNoShortIf ::= while LPAREN Expression RPAREN .StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1610 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 ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1611 SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 Mon Oct 4 09:57:22 2021 Page 1612 ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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 Mon Oct 4 09:57:22 2021 Page 1613 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1614 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 for Shift 791 while Shift 792 if Shift 793 Label Goto 794 EnhancedForStatementHeader Goto 790 StatementWithoutTrailingSubstatement Goto 789 LabeledStatementNoShortIf Gt/Rd 408 IfThenElseStatementNoShortIf Gt/Rd 408 WhileStatementNoShortIf Gt/Rd 408 ForStatementNoShortIf Gt/Rd 408 EnhancedForStatementNoShortIf Gt/Rd 408 AssertStatement Goto 1145 Block Goto 1145 EmptyStatement Goto 1145 ExpressionStatement Goto 1145 SwitchStatement Goto 1145 DoStatement Goto 1145 BreakStatement Goto 1145 ContinueStatement Goto 1145 ReturnStatement Goto 1145 SynchronizedStatement Goto 1145 ThrowStatement Goto 1145 TryStatement Goto 1145 TryStatementWithResources Goto 1145 YieldStatement Goto 1145 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1615 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 EnhancedForStatementHeaderInit Goto 76 LabeledStatement Gt/Rd 407 IfThenStatement Gt/Rd 407 IfThenElseStatement Gt/Rd 407 WhileStatement Gt/Rd 407 ForStatement Gt/Rd 407 EnhancedForStatement Gt/Rd 407 Statement Gt/Rd 407 StatementNoShortIf Gt/Rd 408 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 913 ---------------------------------------------------------------------- ( 887 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1616 IfThenStatement ::= if LPAREN Expression RPAREN .Statement IfThenElseStatement ::= if LPAREN Expression RPAREN .StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN . StatementNoShortIf else StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1617 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 ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN StatementNoShortIf DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1618 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 Mon Oct 4 09:57:22 2021 Page 1619 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 Mon Oct 4 09:57:22 2021 Page 1620 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1621 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 for Shift 791 while Shift 792 if Shift 793 Label Goto 794 EnhancedForStatementHeader Goto 790 StatementWithoutTrailingSubstatement Goto 789 LabeledStatementNoShortIf Goto 924 IfThenElseStatementNoShortIf Goto 924 WhileStatementNoShortIf Goto 924 ForStatementNoShortIf Goto 924 EnhancedForStatementNoShortIf Goto 924 AssertStatement Goto 1145 Block Goto 1145 EmptyStatement Goto 1145 ExpressionStatement Goto 1145 SwitchStatement Goto 1145 DoStatement Goto 1145 BreakStatement Goto 1145 ContinueStatement Goto 1145 ReturnStatement Goto 1145 SynchronizedStatement Goto 1145 ThrowStatement Goto 1145 TryStatement Goto 1145 TryStatementWithResources Goto 1145 YieldStatement Goto 1145 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1622 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 EnhancedForStatementHeaderInit Goto 76 LabeledStatement Gt/Rd 379 IfThenStatement Gt/Rd 379 IfThenElseStatement Gt/Rd 379 WhileStatement Gt/Rd 379 ForStatement Gt/Rd 379 EnhancedForStatement Gt/Rd 379 Statement Gt/Rd 379 StatementNoShortIf Goto 924 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 914 ---------------------------------------------------------------------- ( 888 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN .Statement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1623 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1624 ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 Mon Oct 4 09:57:22 2021 Page 1625 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1626 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 75 while Shift 73 if Shift 72 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1627 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 AssertStatement Gt/Rd 410 Block Gt/Rd 410 EmptyStatement Gt/Rd 410 ExpressionStatement Gt/Rd 410 SwitchStatement Gt/Rd 410 DoStatement Gt/Rd 410 BreakStatement Gt/Rd 410 ContinueStatement Gt/Rd 410 ReturnStatement Gt/Rd 410 SynchronizedStatement Gt/Rd 410 ThrowStatement Gt/Rd 410 TryStatement Gt/Rd 410 TryStatementWithResources Gt/Rd 410 YieldStatement Gt/Rd 410 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1628 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 Label Goto 71 EnhancedForStatementHeader Goto 74 EnhancedForStatementHeaderInit Goto 76 StatementWithoutTrailingSubstatement Gt/Rd 410 LabeledStatement Gt/Rd 410 IfThenStatement Gt/Rd 410 IfThenElseStatement Gt/Rd 410 WhileStatement Gt/Rd 410 ForStatement Gt/Rd 410 EnhancedForStatement Gt/Rd 410 Statement Gt/Rd 410 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1629 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 915 ---------------------------------------------------------------------- ( 891 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet . ExitVariableWithInitialization ExitVariableWithInitialization ::= . (234) ExitVariableWithInitialization Gt/Rd 232 SEMICOLON Reduce 234 COMMA Reduce 234 Default reduction to rule 234 STATE 916 ---------------------------------------------------------------------- ( 894 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN .InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus InsideCastExpressionWithQualifiedGenerics ::= . (574) InsideCastExpressionWithQualifiedGenerics Goto 925 Identifier Reduce 574 boolean Reduce 574 byte Reduce 574 char Reduce 574 double Reduce 574 false Reduce 574 float Reduce 574 int Reduce 574 long Reduce 574 new Reduce 574 null Reduce 574 short Reduce 574 super Reduce 574 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1630 switch Reduce 574 this Reduce 574 true Reduce 574 void Reduce 574 IntegerLiteral Reduce 574 LongLiteral Reduce 574 FloatingPointLiteral Reduce 574 DoubleLiteral Reduce 574 CharacterLiteral Reduce 574 StringLiteral Reduce 574 NOT Reduce 574 TWIDDLE Reduce 574 LPAREN Reduce 574 BeginLambda Reduce 574 BeginIntersectionCast Reduce 574 AT308 Reduce 574 Default reduction to rule 574 STATE 917 ---------------------------------------------------------------------- ( 896 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT WildcardBounds ::= super ReferenceType . (717) UNSIGNED_RIGHT_SHIFT Sh/Rd 713 RIGHT_SHIFT Sh/Rd 707 GREATER Sh/Rd 701 COMMA Reduce 717 Default reduction to rule 717 STATE 918 ---------------------------------------------------------------------- ( 897 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT WildcardBounds ::= extends ReferenceType . (716) UNSIGNED_RIGHT_SHIFT Sh/Rd 713 RIGHT_SHIFT Sh/Rd 707 GREATER Sh/Rd 701 COMMA Reduce 716 Default reduction to rule 716 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1631 STATE 919 ---------------------------------------------------------------------- ( 898 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet .VariableInitializer RestoreDiet ExitVariableWithInitialization Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1632 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1633 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 Mon Oct 4 09:57:22 2021 Page 1634 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1635 AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 LBRACE Shift 116 AssignmentExpression Gt/Rd 625 ConditionalOrExpression Goto 113 InclusiveOrExpression Goto 111 ConditionalAndExpression Goto 114 AndExpression Goto 109 ExclusiveOrExpression Goto 112 InstanceofExpression Goto 107 EqualityExpression Goto 110 ShiftExpression Goto 105 RelationalExpression Goto 108 MultiplicativeExpression Goto 104 AdditiveExpression Goto 106 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 948 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1636 PostDecrementExpression Goto 947 PostfixExpression Goto 115 Literal Goto 945 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 PrimitiveType Goto 95 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 945 ArrayCreationWithoutArrayInitializer Goto 956 SwitchExpression Goto 946 CastExpression Goto 946 UnaryExpression Goto 946 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalExpression Goto 957 Assignment Goto 957 Expression Goto 926 ArrayInitializer Goto 926 VariableInitializer Goto 926 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 920 ---------------------------------------------------------------------- ( 899 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1637 Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer .RestoreDiet ExitVariableWithInitialization RestoreDiet ::= . (237) RestoreDiet Goto 927 RPAREN Reduce 237 SEMICOLON Reduce 237 Default reduction to rule 237 STATE 921 ---------------------------------------------------------------------- ( 901 ) ConstantExpressions ::= ConstantExpressions COMMA .Expression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1638 UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1639 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 Mon Oct 4 09:57:22 2021 Page 1640 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 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression instanceof ReferenceType 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 Mon Oct 4 09:57:22 2021 Page 1641 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 92 PLUS Shift 93 switch Shift 94 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 945 true Shift 945 null Shift 945 StringLiteral Shift 945 CharacterLiteral Shift 945 DoubleLiteral Shift 945 FloatingPointLiteral Shift 945 LongLiteral Shift 945 IntegerLiteral Shift 945 new Shift 60 BeginIntersectionCast Shift 100 NOT Shift 102 TWIDDLE Shift 103 MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 ConditionalExpression Goto 957 Assignment Goto 957 PostfixExpression Goto 115 InvalidArrayInitializerAssignement Gt/Rd 612 ConditionalAndExpression Goto 114 ConditionalOrExpression Goto 113 ExclusiveOrExpression Goto 112 InclusiveOrExpression Goto 111 EqualityExpression Goto 110 AndExpression Goto 109 RelationalExpression Goto 108 InstanceofExpression Goto 107 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1642 AdditiveExpression Goto 106 ShiftExpression Goto 105 UnaryExpression Goto 946 MultiplicativeExpression Goto 104 SwitchExpression Goto 946 CastExpression Goto 946 PushLPAREN Goto 101 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 ArrayCreationWithoutArrayInitializer Goto 956 BooleanLiteral Goto 945 Primary Goto 99 ClassInstanceCreationExpressionName Goto 59 SimpleName Gt/Rd 63 TypeAnnotations Goto 86 QualifiedName Goto 955 Name Goto 98 TypeAnnotation Goto 933 TypeAnnotations0 Goto 24 TypeAnnotationName Goto 23 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 QualifiedSuperReceiver Goto 58 TypeAnnotationsopt Goto 82 LambdaParameters Goto 57 PrimitiveType Goto 95 Literal Goto 945 ClassInstanceCreationExpression Goto 954 FieldAccess Goto 953 MethodInvocation Goto 952 ArrayAccess Goto 951 LambdaExpression Goto 950 ReferenceExpression Goto 949 PostIncrementExpression Goto 948 PostDecrementExpression Goto 947 PreIncrementExpression Goto 946 PreDecrementExpression Goto 946 UnaryExpressionNotPlusMinus Goto 946 AssignmentExpression Gt/Rd 625 Expression Gt/Rd 631 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1643 Default reduction to rule 71 STATE 922 ---------------------------------------------------------------------- ( 910 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (508) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (510) QualifiedEnterAnonymousClassBody Goto 878 QualifiedClassBodyopt Gt/Rd 499 abstract Reduce 508 final Reduce 508 instanceof Reduce 508 native Reduce 508 private Reduce 508 protected Reduce 508 public Reduce 508 static Reduce 508 strictfp Reduce 508 synchronized Reduce 508 transient Reduce 508 volatile Reduce 508 PLUS_PLUS Reduce 508 MINUS_MINUS Reduce 508 EQUAL_EQUAL Reduce 508 LESS_EQUAL Reduce 508 GREATER_EQUAL Reduce 508 NOT_EQUAL Reduce 508 LEFT_SHIFT Reduce 508 RIGHT_SHIFT Reduce 508 UNSIGNED_RIGHT_SHIFT Reduce 508 PLUS_EQUAL Reduce 508 MINUS_EQUAL Reduce 508 MULTIPLY_EQUAL Reduce 508 DIVIDE_EQUAL Reduce 508 AND_EQUAL Reduce 508 OR_EQUAL Reduce 508 XOR_EQUAL Reduce 508 REMAINDER_EQUAL Reduce 508 LEFT_SHIFT_EQUAL Reduce 508 RIGHT_SHIFT_EQUAL Reduce 508 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1644 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 508 OR_OR Reduce 508 AND_AND Reduce 508 PLUS Reduce 508 MINUS Reduce 508 REMAINDER Reduce 508 XOR Reduce 508 AND Reduce 508 MULTIPLY Reduce 508 OR Reduce 508 DIVIDE Reduce 508 GREATER Reduce 508 LESS Reduce 508 RPAREN Reduce 508 RBRACE Reduce 508 LBRACKET Reduce 508 RBRACKET Reduce 508 SEMICOLON Reduce 508 QUESTION Reduce 508 COLON Reduce 508 COMMA Reduce 508 DOT Reduce 508 EQUAL Reduce 508 AT Reduce 508 COLON_COLON Reduce 508 ElidedSemicolonAndRightBrace Reduce 508 BeginCaseExpr Reduce 508 $eof Reduce 508 LBRACE Reduce 510 Default reduction to rule 508 STATE 923 ---------------------------------------------------------------------- ( 911 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt .SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt . SEMICOLON ForUpdateopt RPAREN StatementNoShortIf SEMICOLON Shift 928 STATE 924 ---------------------------------------------------------------------- ( 913 ) IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf .else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN StatementNoShortIf .else StatementNoShortIf IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1645 else Shift 929 STATE 925 ---------------------------------------------------------------------- ( 916 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics . UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 ::= . (71) 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 OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1646 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 ::= .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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1647 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 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 Mon Oct 4 09:57:22 2021 Page 1648 PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus NOT Shift 102 TWIDDLE Shift 103 BeginIntersectionCast Shift 100 null Shift 1146 StringLiteral Shift 1146 CharacterLiteral Shift 1146 DoubleLiteral Shift 1146 FloatingPointLiteral Shift 1146 LongLiteral Shift 1146 IntegerLiteral Shift 1146 false Shift 1146 true Shift 1146 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 97 super Shift 96 this Sh/Rd 455 switch Shift 94 Primary Goto 99 Name Goto 98 PostIncrementExpression Goto 1155 PostDecrementExpression Goto 1154 PostfixExpression Goto 464 Literal Goto 1146 PushLPAREN Goto 101 ClassInstanceCreationExpression Goto 1153 FieldAccess Goto 1152 PrimitiveType Goto 95 MethodInvocation Goto 1151 ArrayAccess Goto 1150 LambdaExpression Goto 1149 ReferenceExpression Goto 1148 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1649 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 955 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 1146 ArrayCreationWithoutArrayInitializer Goto 1147 SwitchExpression Gt/Rd 562 CastExpression Gt/Rd 562 UnaryExpressionNotPlusMinus Gt/Rd 562 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 926 ---------------------------------------------------------------------- ( 919 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer .RestoreDiet ExitVariableWithInitialization RestoreDiet ::= . (237) RestoreDiet Goto 930 RPAREN Reduce 237 SEMICOLON Reduce 237 Default reduction to rule 237 STATE 927 ---------------------------------------------------------------------- ( 920 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet . ExitVariableWithInitialization ExitVariableWithInitialization ::= . (234) ExitVariableWithInitialization Gt/Rd 439 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1650 RPAREN Reduce 234 SEMICOLON Reduce 234 Default reduction to rule 234 STATE 928 ---------------------------------------------------------------------- ( 923 ) 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 ::= .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 ::= . (71) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1651 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1652 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 InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1653 ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement ForUpdateopt ::= . (656) MINUS_MINUS Shift 49 PLUS_PLUS Shift 50 this Sh/Rd 455 BeginLambda Shift 56 super Shift 96 Identifier Shift 97 AT308 Shift 22 LPAREN Sh/Rd 449 false Shift 935 true Shift 935 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 new Shift 60 StatementExpressionList Goto 889 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 99 Name Goto 98 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1654 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 StatementExpression Goto 1168 ForUpdate Goto 931 ForUpdateopt Goto 931 RPAREN Reduce 656 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 929 ---------------------------------------------------------------------- ( 924 ) IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf else . Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN StatementNoShortIf else .StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral 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 Mon Oct 4 09:57:22 2021 Page 1655 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (71) 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 ::= . (321) 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 Mon Oct 4 09:57:22 2021 Page 1656 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1657 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 ::= .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 Mon Oct 4 09:57:22 2021 Page 1658 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 StatementNoShortIf EnhancedForStatementHeaderInit ::= .for LPAREN Type PushModifiers Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1659 EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 for Shift 791 while Shift 792 if Shift 793 Label Goto 794 EnhancedForStatementHeader Goto 790 StatementWithoutTrailingSubstatement Goto 789 LabeledStatementNoShortIf Gt/Rd 381 IfThenElseStatementNoShortIf Gt/Rd 381 WhileStatementNoShortIf Gt/Rd 381 ForStatementNoShortIf Gt/Rd 381 EnhancedForStatementNoShortIf Gt/Rd 381 AssertStatement Goto 1145 Block Goto 1145 EmptyStatement Goto 1145 ExpressionStatement Goto 1145 SwitchStatement Goto 1145 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1660 DoStatement Goto 1145 BreakStatement Goto 1145 ContinueStatement Goto 1145 ReturnStatement Goto 1145 SynchronizedStatement Goto 1145 ThrowStatement Goto 1145 TryStatement Goto 1145 TryStatementWithResources Goto 1145 YieldStatement Goto 1145 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 EnhancedForStatementHeaderInit Goto 76 LabeledStatement Gt/Rd 380 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1661 IfThenStatement Gt/Rd 380 IfThenElseStatement Gt/Rd 380 WhileStatement Gt/Rd 380 ForStatement Gt/Rd 380 EnhancedForStatement Gt/Rd 380 Statement Gt/Rd 380 StatementNoShortIf Gt/Rd 381 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 930 ---------------------------------------------------------------------- ( 926 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet . ExitVariableWithInitialization ExitVariableWithInitialization ::= . (234) ExitVariableWithInitialization Gt/Rd 440 RPAREN Reduce 234 SEMICOLON Reduce 234 Default reduction to rule 234 STATE 931 ---------------------------------------------------------------------- ( 928 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN StatementNoShortIf RPAREN Shift 932 STATE 932 ---------------------------------------------------------------------- ( 931 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1662 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 ::= .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 ::= . (71) 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 Mon Oct 4 09:57:22 2021 Page 1663 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 ::= . (321) 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 Statement IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock WhileStatement ::= .while LPAREN Expression RPAREN Statement WhileStatementNoShortIf ::= .while LPAREN Expression RPAREN StatementNoShortIf DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1664 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 Expression 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 YieldStatement ::= .yield Expression SEMICOLON 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 ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1665 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 Mon Oct 4 09:57:22 2021 Page 1666 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 Identifier Dimsopt EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 assert Shift 70 SEMICOLON Sh/Rd 366 LESS Shift 25 null Shift 935 StringLiteral Shift 935 CharacterLiteral Shift 935 DoubleLiteral Shift 935 FloatingPointLiteral Shift 935 LongLiteral Shift 935 IntegerLiteral Shift 935 false Shift 935 true Shift 935 LPAREN Sh/Rd 449 AT308 Shift 22 new Shift 60 BeginLambda Shift 56 Identifier Shift 84 super Shift 65 this Shift 67 PLUS_PLUS Shift 50 MINUS_MINUS Shift 49 switch Shift 48 do Shift 47 break Shift 46 continue Shift 45 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1667 return Shift 44 synchronized Sh/Rd 427 throw Shift 42 try Shift 41 yield Shift 40 for Shift 791 while Shift 792 if Shift 793 Label Goto 794 EnhancedForStatementHeader Goto 790 StatementWithoutTrailingSubstatement Goto 789 LabeledStatementNoShortIf Gt/Rd 411 IfThenElseStatementNoShortIf Gt/Rd 411 WhileStatementNoShortIf Gt/Rd 411 ForStatementNoShortIf Gt/Rd 411 EnhancedForStatementNoShortIf Gt/Rd 411 AssertStatement Goto 1145 Block Goto 1145 EmptyStatement Goto 1145 ExpressionStatement Goto 1145 SwitchStatement Goto 1145 DoStatement Goto 1145 BreakStatement Goto 1145 ContinueStatement Goto 1145 ReturnStatement Goto 1145 SynchronizedStatement Goto 1145 ThrowStatement Goto 1145 TryStatement Goto 1145 TryStatementWithResources Goto 1145 YieldStatement Goto 1145 OnlySynchronized Goto 43 Assignment Gt/Rd 372 PreIncrementExpression Gt/Rd 373 PreDecrementExpression Gt/Rd 374 PostIncrementExpression Goto 52 PostDecrementExpression Goto 51 MethodInvocation Goto 53 ClassInstanceCreationExpression Goto 54 Primary Goto 64 Name Goto 232 PostfixExpression Goto 63 Literal Goto 935 PushLPAREN Goto 55 FieldAccess Goto 940 PrimitiveType Goto 95 ArrayAccess Goto 939 LambdaExpression Goto 938 ReferenceExpression Goto 937 QualifiedSuperReceiver Goto 58 LambdaParameters Goto 57 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1668 PrimaryNoNewArray Goto 62 ArrayCreationWithArrayInitializer Goto 61 TypeAnnotations Goto 86 TypeAnnotationsopt Goto 82 TypeAnnotations0 Goto 24 NormalTypeAnnotation Gt/Rd 76 MarkerTypeAnnotation Gt/Rd 77 SingleMemberTypeAnnotation Gt/Rd 78 TypeAnnotationName Goto 23 TypeAnnotation Goto 933 SimpleName Gt/Rd 63 QualifiedName Goto 983 ClassInstanceCreationExpressionName Goto 59 BooleanLiteral Goto 935 ArrayCreationWithoutArrayInitializer Goto 941 InvalidArrayInitializerAssignement Gt/Rd 612 OnlyTypeArguments Goto 66 StatementExpression Goto 68 ExplicitConstructorInvocation Gt/Rd 371 OpenBlock Goto 69 EnhancedForStatementHeaderInit Goto 76 LabeledStatement Gt/Rd 410 IfThenStatement Gt/Rd 410 IfThenElseStatement Gt/Rd 410 WhileStatement Gt/Rd 410 ForStatement Gt/Rd 410 EnhancedForStatement Gt/Rd 410 Statement Gt/Rd 410 StatementNoShortIf Gt/Rd 411 LBRACE Reduce 321 boolean Reduce 71 byte Reduce 71 char Reduce 71 double Reduce 71 float Reduce 71 int Reduce 71 long Reduce 71 short Reduce 71 void Reduce 71 Default reduction to rule 71 STATE 933 ---------------------------------------------------------------------- ( 3 7 8 9 14 16 25 26 27 40 42 44 46 47 55 59 60 70 74 81 83 85 87 89 91 95 98 101 120 127 132 136 142 163 165 166 171 172 173 179 181 185 190 194 195 197 200 207 208 211 213 214 225 227 232 233 234 235 237 242 246 248 249 250 251 252 257 260 261 263 264 265 266 267 271 274 275 278 279 281 282 285 286 287 289 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 320 323 325 331 332 336 339 340 341 342 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1669 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 390 391 393 394 405 408 410 421 422 423 425 428 458 459 465 471 472 476 481 490 491 494 499 500 504 529 532 552 553 559 565 566 567 569 570 606 608 609 612 613 614 616 635 636 638 640 642 648 649 659 665 669 671 673 674 676 678 679 683 685 687 692 693 694 697 705 709 715 717 719 720 721 726 730 734 735 746 752 753 754 769 771 775 780 781 782 784 790 796 802 803 804 807 809 813 815 816 822 823 826 837 845 846 847 848 849 850 852 853 859 862 863 864 872 873 876 882 895 896 897 899 900 904 906 911 912 913 914 919 921 925 928 929 932 ) TypeAnnotations0 ::= TypeAnnotation . (74) Identifier Reduce 73 boolean Reduce 73 byte Reduce 73 char Reduce 73 double Reduce 73 float Reduce 73 int Reduce 73 long Reduce 73 short Reduce 73 void Reduce 73 LBRACKET Reduce 73 QUESTION Reduce 73 ELLIPSIS Reduce 73 AT308 Reduce 74 $eof Reduce 73 Default reduction to rule 73 STATE 934 ---------------------------------------------------------------------- ( 7 8 16 91 166 261 410 876 900 906 ) Modifiers ::= Modifier . (185) Modifier ::= public . (187) Modifier ::= protected . (188) Modifier ::= private . (189) Modifier ::= static . (190) Modifier ::= abstract . (191) Modifier ::= final . (192) Modifier ::= native . (193) Modifier ::= transient . (195) Modifier ::= volatile . (196) Modifier ::= strictfp . (197) Identifier Reduce 185 abstract Reduce 185 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1670 boolean Reduce 185 byte Reduce 185 char Reduce 185 class Reduce 638 double Reduce 185 enum Reduce 638 final Reduce 185 float Reduce 185 int Reduce 185 interface Reduce 638 long Reduce 185 native Reduce 185 private Reduce 185 protected Reduce 185 public Reduce 185 short Reduce 185 static Reduce 185 strictfp Reduce 185 synchronized Reduce 185 transient Reduce 185 void Reduce 185 volatile Reduce 185 AT Reduce 185 AT308 Reduce 185 Default reduction to rule 185 STATE 935 ---------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1671 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 LBRACKET Reduce 454 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 936 ---------------------------------------------------------------------- ( 7 ) BlockStatementopt0 ::= BlockStatement . (326) BlockStatement ::= LocalVariableDeclarationStatement . (327) BlockStatement ::= Statement . (328) BlockStatement ::= ClassDeclaration . (329) Statement ::= StatementWithoutTrailingSubstatement . (339) Statement ::= LabeledStatement . (340) Statement ::= IfThenStatement . (341) Statement ::= IfThenElseStatement . (342) Statement ::= WhileStatement . (343) Statement ::= ForStatement . (344) Statement ::= EnhancedForStatement . (345) StatementWithoutTrailingSubstatement ::= AssertStatement . (352) StatementWithoutTrailingSubstatement ::= Block . (353) StatementWithoutTrailingSubstatement ::= EmptyStatement . (354) StatementWithoutTrailingSubstatement ::= ExpressionStatement . (355) StatementWithoutTrailingSubstatement ::= SwitchStatement . (356) StatementWithoutTrailingSubstatement ::= DoStatement . (357) StatementWithoutTrailingSubstatement ::= BreakStatement . (358) StatementWithoutTrailingSubstatement ::= ContinueStatement . (359) StatementWithoutTrailingSubstatement ::= ReturnStatement . (360) StatementWithoutTrailingSubstatement ::= SynchronizedStatement . (361) StatementWithoutTrailingSubstatement ::= ThrowStatement . (362) StatementWithoutTrailingSubstatement ::= TryStatement . (363) StatementWithoutTrailingSubstatement ::= TryStatementWithResources . (364) StatementWithoutTrailingSubstatement ::= YieldStatement . (365) $eof Reduce 324 Default reduction to rule 324 STATE 937 ---------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1672 906 912 913 914 928 929 932 ) PrimaryNoNewArray ::= ReferenceExpression . (469) PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 LBRACKET Reduce 469 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 938 ---------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) PrimaryNoNewArray ::= LambdaExpression . (468) PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 LBRACKET Reduce 468 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1673 STATE 939 ---------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) PrimaryNoNewArray ::= ArrayAccess . (467) PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 LBRACKET Reduce 467 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 940 ---------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) PrimaryNoNewArray ::= FieldAccess . (459) PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 LBRACKET Reduce 459 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1674 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 941 ---------------------------------------------------------------------- ( 7 8 16 47 74 91 166 261 263 266 410 692 693 697 790 845 846 849 850 876 900 906 912 913 914 928 929 932 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 DOT Reduce 453 EQUAL Reduce 542 COLON_COLON Reduce 453 Default reduction to rule 542 STATE 942 ---------------------------------------------------------------------- ( 7 8 10 11 12 13 15 16 17 18 28 81 91 117 118 119 123 128 131 137 138 166 168 170 184 188 209 225 261 266 324 386 410 411 414 429 430 441 447 450 459 499 626 628 645 647 650 654 658 659 747 750 817 846 876 900 906 ) Annotation ::= NormalAnnotation . (838) Annotation ::= MarkerAnnotation . (839) Annotation ::= SingleMemberAnnotation . (840) Identifier Reduce 198 abstract Reduce 198 boolean Reduce 198 byte Reduce 198 char Reduce 198 class Reduce 198 default Reduce 198 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1675 double Reduce 198 enum Reduce 198 final Reduce 198 float Reduce 198 int Reduce 198 interface Reduce 198 long Reduce 198 native Reduce 198 package Reduce 198 private Reduce 198 protected Reduce 198 public Reduce 198 short Reduce 198 static Reduce 198 strictfp Reduce 198 synchronized Reduce 198 transient Reduce 198 void Reduce 198 volatile Reduce 198 module Reduce 198 open Reduce 198 LESS Reduce 198 AT Reduce 198 AT308 Reduce 198 $eof Reduce 198 Default reduction to rule 198 STATE 943 ---------------------------------------------------------------------- ( 7 8 16 91 166 261 266 410 532 846 876 900 906 ) Name ::= QualifiedName . (65) Identifier Reduce 53 instanceof Reduce 543 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 EQUAL_EQUAL Reduce 543 LESS_EQUAL Reduce 543 GREATER_EQUAL Reduce 543 NOT_EQUAL Reduce 543 LEFT_SHIFT Reduce 543 RIGHT_SHIFT Reduce 543 UNSIGNED_RIGHT_SHIFT Reduce 543 PLUS_EQUAL Reduce 543 MINUS_EQUAL Reduce 543 MULTIPLY_EQUAL Reduce 543 DIVIDE_EQUAL Reduce 543 AND_EQUAL Reduce 543 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1676 OR_EQUAL Reduce 543 XOR_EQUAL Reduce 543 REMAINDER_EQUAL Reduce 543 LEFT_SHIFT_EQUAL Reduce 543 RIGHT_SHIFT_EQUAL Reduce 543 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 543 OR_OR Reduce 543 AND_AND Reduce 543 PLUS Reduce 543 MINUS Reduce 543 REMAINDER Reduce 543 XOR Reduce 543 AND Reduce 543 MULTIPLY Reduce 543 OR Reduce 543 DIVIDE Reduce 543 GREATER Reduce 53 LESS Reduce 53 LPAREN Reduce 65 RPAREN Reduce 543 LBRACKET Reduce 65 QUESTION Reduce 543 COMMA Reduce 53 DOT Reduce 65 EQUAL Reduce 543 COLON_COLON Reduce 65 BeginTypeArguments Reduce 65 AT308 Reduce 65 Default reduction to rule 543 STATE 944 ---------------------------------------------------------------------- ( 8 16 261 410 876 900 ) BlockStatement ::= LocalVariableDeclarationStatement . (327) BlockStatement ::= Statement . (328) BlockStatement ::= ClassDeclaration . (329) Statement ::= StatementWithoutTrailingSubstatement . (339) Statement ::= LabeledStatement . (340) Statement ::= IfThenStatement . (341) Statement ::= IfThenElseStatement . (342) Statement ::= WhileStatement . (343) Statement ::= ForStatement . (344) Statement ::= EnhancedForStatement . (345) StatementWithoutTrailingSubstatement ::= AssertStatement . (352) StatementWithoutTrailingSubstatement ::= Block . (353) StatementWithoutTrailingSubstatement ::= EmptyStatement . (354) StatementWithoutTrailingSubstatement ::= ExpressionStatement . (355) StatementWithoutTrailingSubstatement ::= SwitchStatement . (356) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1677 StatementWithoutTrailingSubstatement ::= DoStatement . (357) StatementWithoutTrailingSubstatement ::= BreakStatement . (358) StatementWithoutTrailingSubstatement ::= ContinueStatement . (359) StatementWithoutTrailingSubstatement ::= ReturnStatement . (360) StatementWithoutTrailingSubstatement ::= SynchronizedStatement . (361) StatementWithoutTrailingSubstatement ::= ThrowStatement . (362) StatementWithoutTrailingSubstatement ::= TryStatement . (363) StatementWithoutTrailingSubstatement ::= TryStatementWithResources . (364) StatementWithoutTrailingSubstatement ::= YieldStatement . (365) Identifier Reduce 322 abstract Reduce 322 assert Reduce 322 boolean Reduce 322 break Reduce 322 byte Reduce 322 case Reduce 322 char Reduce 322 class Reduce 322 continue Reduce 322 default Reduce 322 do Reduce 322 double Reduce 322 enum Reduce 322 false Reduce 322 final Reduce 322 float Reduce 322 for Reduce 322 if Reduce 322 int Reduce 322 interface Reduce 322 long Reduce 322 native Reduce 322 new Reduce 322 null Reduce 322 private Reduce 322 protected Reduce 322 public Reduce 322 return Reduce 322 short Reduce 322 static Reduce 322 strictfp Reduce 322 super Reduce 322 switch Reduce 322 synchronized Reduce 322 this Reduce 322 throw Reduce 322 transient Reduce 322 true Reduce 322 try Reduce 322 void Reduce 322 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1678 volatile Reduce 322 while Reduce 322 yield Reduce 322 IntegerLiteral Reduce 322 LongLiteral Reduce 322 FloatingPointLiteral Reduce 322 DoubleLiteral Reduce 322 CharacterLiteral Reduce 322 StringLiteral Reduce 322 PLUS_PLUS Reduce 322 MINUS_MINUS Reduce 322 LESS Reduce 322 LPAREN Reduce 322 LBRACE Reduce 322 RBRACE Reduce 322 SEMICOLON Reduce 322 AT Reduce 322 BeginLambda Reduce 322 AT308 Reduce 322 $eof Reduce 322 Default reduction to rule 322 STATE 945 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1679 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 LBRACKET Reduce 454 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 542 STATE 946 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1680 UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) instanceof Reduce 591 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 625 STATE 947 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) PostfixExpression ::= PostDecrementExpression . (545) instanceof Reduce 591 PLUS_PLUS Reduce 545 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1681 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 545 MINUS_EQUAL Reduce 545 MULTIPLY_EQUAL Reduce 545 DIVIDE_EQUAL Reduce 545 AND_EQUAL Reduce 545 OR_EQUAL Reduce 545 XOR_EQUAL Reduce 545 REMAINDER_EQUAL Reduce 545 LEFT_SHIFT_EQUAL Reduce 545 RIGHT_SHIFT_EQUAL Reduce 545 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 545 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 EQUAL Reduce 545 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 545 STATE 948 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1682 PostfixExpression ::= PostIncrementExpression . (544) instanceof Reduce 591 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 544 MINUS_EQUAL Reduce 544 MULTIPLY_EQUAL Reduce 544 DIVIDE_EQUAL Reduce 544 AND_EQUAL Reduce 544 OR_EQUAL Reduce 544 XOR_EQUAL Reduce 544 REMAINDER_EQUAL Reduce 544 LEFT_SHIFT_EQUAL Reduce 544 RIGHT_SHIFT_EQUAL Reduce 544 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 544 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 EQUAL Reduce 544 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 544 STATE 949 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1683 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) PrimaryNoNewArray ::= ReferenceExpression . (469) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 LBRACKET Reduce 469 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1684 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 542 STATE 950 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) PrimaryNoNewArray ::= LambdaExpression . (468) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1685 LBRACKET Reduce 468 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 542 STATE 951 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) PrimaryNoNewArray ::= ArrayAccess . (467) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1686 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 LBRACKET Reduce 467 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 542 STATE 952 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) PrimaryNoNewArray ::= MethodInvocation . (466) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1687 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 LBRACKET Reduce 466 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 542 STATE 953 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) PrimaryNoNewArray ::= FieldAccess . (459) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1688 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 LBRACKET Reduce 459 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 542 STATE 954 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1689 instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 LBRACKET Reduce 458 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 542 STATE 955 ---------------------------------------------------------------------- ( 9 40 42 44 46 47 70 227 233 234 235 250 251 252 257 260 264 265 267 275 279 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1690 285 286 287 295 296 297 298 299 300 301 302 303 304 306 307 308 309 310 311 312 313 314 315 316 317 318 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 358 359 360 361 362 363 364 365 366 367 368 369 371 372 373 374 375 376 377 378 379 380 381 382 383 384 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 717 720 721 734 735 769 771 775 780 781 782 784 802 803 804 807 837 847 848 853 859 862 872 873 882 895 899 904 911 919 921 925 ) Name ::= QualifiedName . (65) abstract Reduce 543 final Reduce 543 instanceof Reduce 543 native Reduce 543 private Reduce 543 protected Reduce 543 public Reduce 543 static Reduce 543 strictfp Reduce 543 synchronized Reduce 543 transient Reduce 543 volatile Reduce 543 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 EQUAL_EQUAL Reduce 543 LESS_EQUAL Reduce 543 GREATER_EQUAL Reduce 543 NOT_EQUAL Reduce 543 LEFT_SHIFT Reduce 543 RIGHT_SHIFT Reduce 543 UNSIGNED_RIGHT_SHIFT Reduce 543 PLUS_EQUAL Reduce 543 MINUS_EQUAL Reduce 543 MULTIPLY_EQUAL Reduce 543 DIVIDE_EQUAL Reduce 543 AND_EQUAL Reduce 543 OR_EQUAL Reduce 543 XOR_EQUAL Reduce 543 REMAINDER_EQUAL Reduce 543 LEFT_SHIFT_EQUAL Reduce 543 RIGHT_SHIFT_EQUAL Reduce 543 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 543 OR_OR Reduce 543 AND_AND Reduce 543 PLUS Reduce 543 MINUS Reduce 543 REMAINDER Reduce 543 XOR Reduce 543 AND Reduce 543 MULTIPLY Reduce 543 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1691 OR Reduce 543 DIVIDE Reduce 543 GREATER Reduce 543 LESS Reduce 543 LPAREN Reduce 65 RPAREN Reduce 543 RBRACE Reduce 543 LBRACKET Reduce 65 RBRACKET Reduce 543 SEMICOLON Reduce 543 QUESTION Reduce 543 COLON Reduce 543 COMMA Reduce 543 DOT Reduce 65 EQUAL Reduce 543 AT Reduce 543 COLON_COLON Reduce 65 BeginTypeArguments Reduce 65 ElidedSemicolonAndRightBrace Reduce 543 AT308 Reduce 65 BeginCaseExpr Reduce 543 $eof Reduce 543 Default reduction to rule 543 STATE 956 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1692 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 625 RBRACE Reduce 625 RBRACKET Reduce 625 SEMICOLON Reduce 625 QUESTION Reduce 604 COLON Reduce 625 COMMA Reduce 625 DOT Reduce 453 EQUAL Reduce 542 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 625 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 542 STATE 957 ---------------------------------------------------------------------- ( 9 40 42 44 46 70 227 233 250 251 257 260 264 265 267 275 279 287 315 318 362 383 465 490 491 494 608 613 665 669 671 673 674 676 679 683 685 687 694 705 709 721 769 771 775 780 781 782 784 802 803 804 837 847 848 853 872 873 882 899 904 911 919 921 ) AssignmentExpression ::= ConditionalExpression . (608) AssignmentExpression ::= Assignment . (609) RPAREN Reduce 625 RBRACE Reduce 625 RBRACKET Reduce 625 SEMICOLON Reduce 625 COLON Reduce 625 COMMA Reduce 625 ElidedSemicolonAndRightBrace Reduce 625 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1693 BeginCaseExpr Reduce 625 $eof Reduce 625 Default reduction to rule 625 STATE 958 ---------------------------------------------------------------------- ( 10 11 12 13 15 17 18 28 117 118 119 128 138 168 170 184 188 209 324 386 411 414 429 430 441 447 450 626 628 645 647 650 654 658 747 750 817 ) Modifiers ::= Modifier . (185) Modifier ::= public . (187) Modifier ::= protected . (188) Modifier ::= private . (189) Modifier ::= static . (190) Modifier ::= abstract . (191) Modifier ::= final . (192) Modifier ::= native . (193) Modifier ::= synchronized . (194) Modifier ::= transient . (195) Modifier ::= volatile . (196) Modifier ::= strictfp . (197) Identifier Reduce 638 abstract Reduce 185 boolean Reduce 638 byte Reduce 638 char Reduce 638 class Reduce 638 default Reduce 638 double Reduce 638 enum Reduce 638 final Reduce 185 float Reduce 638 int Reduce 638 interface Reduce 638 long Reduce 638 native Reduce 185 package Reduce 185 private Reduce 185 protected Reduce 185 public Reduce 185 short Reduce 638 static Reduce 185 strictfp Reduce 185 synchronized Reduce 185 transient Reduce 185 void Reduce 638 volatile Reduce 185 module Reduce 638 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1694 open Reduce 638 LESS Reduce 638 AT Reduce 185 AT308 Reduce 638 $eof Reduce 638 Default reduction to rule 638 STATE 959 ---------------------------------------------------------------------- ( 10 450 ) ClassBodyDeclaration ::= ClassMemberDeclaration . (212) ClassBodyDeclaration ::= StaticInitializer . (213) ClassBodyDeclaration ::= ConstructorDeclaration . (214) ClassMemberDeclaration ::= FieldDeclaration . (219) ClassMemberDeclaration ::= MethodDeclaration . (220) ClassMemberDeclaration ::= ClassDeclaration . (221) ClassMemberDeclaration ::= InterfaceDeclaration . (222) ClassMemberDeclaration ::= EnumDeclaration . (223) ClassMemberDeclaration ::= AnnotationTypeDeclaration . (224) MethodDeclaration ::= AbstractMethodDeclaration . (241) Identifier Reduce 210 abstract Reduce 210 boolean Reduce 210 byte Reduce 210 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 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 LESS Reduce 210 LBRACE Reduce 210 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1695 RBRACE Reduce 210 SEMICOLON Reduce 210 AT Reduce 210 AT308 Reduce 210 $eof Reduce 210 Default reduction to rule 210 STATE 960 ---------------------------------------------------------------------- ( 14 752 813 815 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 850 final Reduce 850 instanceof Reduce 788 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1696 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 850 RBRACE Reduce 850 LBRACKET Reduce 454 SEMICOLON Reduce 850 QUESTION Reduce 808 COMMA Reduce 850 DOT Reduce 451 AT Reduce 850 COLON_COLON Reduce 451 $eof Reduce 850 Default reduction to rule 850 STATE 961 ---------------------------------------------------------------------- ( 14 752 813 815 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (396) UnaryExpression_NotName ::= PreIncrementExpression . (751) UnaryExpression_NotName ::= PreDecrementExpression . (752) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (755) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (756) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (759) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (760) abstract Reduce 850 final Reduce 850 instanceof Reduce 788 native 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 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1697 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 850 RBRACE Reduce 850 SEMICOLON Reduce 850 QUESTION Reduce 808 COMMA Reduce 850 AT Reduce 850 $eof Reduce 850 Default reduction to rule 850 STATE 962 ---------------------------------------------------------------------- ( 14 752 813 815 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 850 final Reduce 850 instanceof Reduce 788 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1698 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 850 RBRACE Reduce 850 SEMICOLON Reduce 850 QUESTION Reduce 808 COMMA Reduce 850 DOT Reduce 453 AT Reduce 850 COLON_COLON Reduce 453 $eof Reduce 850 Default reduction to rule 850 STATE 963 ---------------------------------------------------------------------- ( 14 190 271 570 752 813 815 ) Name ::= QualifiedName . (65) abstract Reduce 851 final Reduce 851 instanceof Reduce 65 native 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 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 EQUAL_EQUAL Reduce 65 LESS_EQUAL Reduce 65 GREATER_EQUAL Reduce 65 NOT_EQUAL Reduce 65 LEFT_SHIFT Reduce 65 RIGHT_SHIFT Reduce 65 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1699 UNSIGNED_RIGHT_SHIFT Reduce 65 OR_OR Reduce 65 AND_AND Reduce 65 PLUS Reduce 65 MINUS Reduce 65 REMAINDER Reduce 65 XOR Reduce 65 AND Reduce 65 MULTIPLY Reduce 65 OR Reduce 65 DIVIDE Reduce 65 GREATER Reduce 65 LESS Reduce 65 LPAREN Reduce 65 RPAREN Reduce 851 RBRACE Reduce 851 LBRACKET Reduce 65 SEMICOLON Reduce 851 QUESTION Reduce 65 COMMA Reduce 851 DOT Reduce 65 AT Reduce 851 COLON_COLON Reduce 65 BeginTypeArguments Reduce 65 AT308 Reduce 65 $eof Reduce 851 Default reduction to rule 65 STATE 964 ---------------------------------------------------------------------- ( 14 752 813 815 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 850 final Reduce 850 instanceof Reduce 788 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1700 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 850 RBRACE Reduce 850 LBRACKET Reduce 469 SEMICOLON Reduce 850 QUESTION Reduce 808 COMMA Reduce 850 DOT Reduce 451 AT Reduce 850 COLON_COLON Reduce 451 $eof Reduce 850 Default reduction to rule 850 STATE 965 ---------------------------------------------------------------------- ( 14 752 813 815 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 850 final Reduce 850 instanceof Reduce 788 native 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 PLUS_PLUS Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1701 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 850 RBRACE Reduce 850 LBRACKET Reduce 468 SEMICOLON Reduce 850 QUESTION Reduce 808 COMMA Reduce 850 DOT Reduce 451 AT Reduce 850 COLON_COLON Reduce 451 $eof Reduce 850 Default reduction to rule 850 STATE 966 ---------------------------------------------------------------------- ( 14 752 813 815 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 850 final Reduce 850 instanceof Reduce 788 native Reduce 850 private Reduce 850 protected Reduce 850 public Reduce 850 static Reduce 850 strictfp Reduce 850 synchronized Reduce 850 transient Reduce 850 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1702 volatile Reduce 850 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 850 RBRACE Reduce 850 LBRACKET Reduce 467 SEMICOLON Reduce 850 QUESTION Reduce 808 COMMA Reduce 850 DOT Reduce 451 AT Reduce 850 COLON_COLON Reduce 451 $eof Reduce 850 Default reduction to rule 850 STATE 967 ---------------------------------------------------------------------- ( 14 752 813 815 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 850 final Reduce 850 instanceof Reduce 788 native Reduce 850 private Reduce 850 protected Reduce 850 public Reduce 850 static Reduce 850 strictfp Reduce 850 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1703 synchronized Reduce 850 transient Reduce 850 volatile Reduce 850 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 850 RBRACE Reduce 850 LBRACKET Reduce 466 SEMICOLON Reduce 850 QUESTION Reduce 808 COMMA Reduce 850 DOT Reduce 451 AT Reduce 850 COLON_COLON Reduce 451 $eof Reduce 850 Default reduction to rule 850 STATE 968 ---------------------------------------------------------------------- ( 14 752 813 815 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 850 final Reduce 850 instanceof Reduce 788 native Reduce 850 private Reduce 850 protected Reduce 850 public Reduce 850 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1704 static Reduce 850 strictfp Reduce 850 synchronized Reduce 850 transient Reduce 850 volatile Reduce 850 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 850 RBRACE Reduce 850 LBRACKET Reduce 459 SEMICOLON Reduce 850 QUESTION Reduce 808 COMMA Reduce 850 DOT Reduce 451 AT Reduce 850 COLON_COLON Reduce 451 $eof Reduce 850 Default reduction to rule 850 STATE 969 ---------------------------------------------------------------------- ( 14 752 813 815 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 850 final Reduce 850 instanceof Reduce 788 native Reduce 850 private Reduce 850 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1705 protected Reduce 850 public Reduce 850 static Reduce 850 strictfp Reduce 850 synchronized Reduce 850 transient Reduce 850 volatile Reduce 850 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 850 RBRACE Reduce 850 LBRACKET Reduce 458 SEMICOLON Reduce 850 QUESTION Reduce 808 COMMA Reduce 850 DOT Reduce 451 AT Reduce 850 COLON_COLON Reduce 451 $eof Reduce 850 Default reduction to rule 850 STATE 970 ---------------------------------------------------------------------- ( 25 27 59 60 81 120 142 165 171 172 179 181 197 208 211 213 242 248 281 282 292 305 320 323 331 336 357 370 390 394 405 421 422 428 459 471 481 499 566 606 635 636 642 649 678 715 726 746 753 754 816 822 823 826 863 864 896 897 ) SimpleName ::= Identifier . (66) Identifier Reduce 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1706 abstract Reduce 63 final Reduce 63 implements Reduce 63 instanceof Reduce 63 native Reduce 63 private Reduce 63 protected Reduce 63 public Reduce 63 static Reduce 63 strictfp Reduce 63 synchronized Reduce 63 this Reduce 63 transient Reduce 63 volatile Reduce 63 with Reduce 63 EQUAL_EQUAL Reduce 63 NOT_EQUAL Reduce 63 RIGHT_SHIFT Reduce 63 UNSIGNED_RIGHT_SHIFT Reduce 63 OR_OR Reduce 63 AND_AND Reduce 63 XOR Reduce 63 AND Reduce 63 OR Reduce 63 GREATER Reduce 63 LESS Reduce 63 LPAREN Reduce 63 RPAREN Reduce 63 LBRACE Reduce 63 RBRACE Reduce 63 LBRACKET Reduce 63 RBRACKET Reduce 63 SEMICOLON Reduce 63 QUESTION Reduce 63 COLON Reduce 63 COMMA Reduce 63 DOT Reduce 63 AT Reduce 63 ELLIPSIS Reduce 63 COLON_COLON Reduce 63 ElidedSemicolonAndRightBrace Reduce 63 AT308 Reduce 63 AT308DOTDOTDOT Reduce 63 BeginCaseExpr Reduce 63 $eof Reduce 63 Default reduction to rule 63 STATE 971 ---------------------------------------------------------------------- ( 25 59 81 120 127 132 136 165 171 173 185 207 282 305 320 323 325 332 357 370 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1707 390 394 408 421 422 428 459 499 606 635 636 649 753 754 816 822 823 826 864 896 897 ) Name ::= QualifiedName . (65) Identifier Reduce 53 abstract Reduce 53 final Reduce 53 instanceof Reduce 53 native Reduce 53 private Reduce 53 protected Reduce 53 public Reduce 53 static Reduce 53 strictfp Reduce 53 synchronized Reduce 53 this Reduce 53 transient Reduce 53 volatile Reduce 53 EQUAL_EQUAL Reduce 53 NOT_EQUAL Reduce 53 RIGHT_SHIFT Reduce 53 UNSIGNED_RIGHT_SHIFT Reduce 53 OR_OR Reduce 53 AND_AND Reduce 53 XOR Reduce 53 AND Reduce 53 OR Reduce 53 GREATER Reduce 53 LESS Reduce 53 LPAREN Reduce 53 RPAREN Reduce 53 RBRACE Reduce 53 LBRACKET Reduce 65 RBRACKET Reduce 53 SEMICOLON Reduce 53 QUESTION Reduce 53 COLON Reduce 53 COMMA Reduce 53 DOT Reduce 65 AT Reduce 53 ELLIPSIS Reduce 53 ElidedSemicolonAndRightBrace Reduce 53 AT308 Reduce 65 AT308DOTDOTDOT Reduce 53 BeginCaseExpr Reduce 53 $eof Reduce 53 Default reduction to rule 53 STATE 972 ---------------------------------------------------------------------- ( 25 282 421 422 532 753 754 864 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1708 ReferenceType ::= ArrayType . (50) RIGHT_SHIFT Reduce 50 UNSIGNED_RIGHT_SHIFT Reduce 50 GREATER Reduce 50 COMMA Reduce 697 Default reduction to rule 50 STATE 973 ---------------------------------------------------------------------- ( 26 83 85 87 89 95 98 163 194 195 232 237 274 293 294 425 458 500 504 529 552 553 559 565 567 609 616 640 719 796 809 852 ) DimsLoop ::= OneDimLoop . (524) Identifier Reduce 523 abstract Reduce 523 default Reduce 523 final Reduce 523 instanceof Reduce 523 native Reduce 523 private Reduce 523 protected Reduce 523 public Reduce 523 static Reduce 523 strictfp Reduce 523 synchronized Reduce 523 this Reduce 523 throws Reduce 523 transient Reduce 523 volatile Reduce 523 EQUAL_EQUAL Reduce 523 NOT_EQUAL Reduce 523 RIGHT_SHIFT Reduce 523 UNSIGNED_RIGHT_SHIFT Reduce 523 OR_OR Reduce 523 AND_AND Reduce 523 XOR Reduce 523 AND Reduce 523 OR Reduce 523 GREATER Reduce 523 RPAREN Reduce 523 LBRACE Reduce 523 RBRACE Reduce 523 LBRACKET Reduce 524 RBRACKET Reduce 523 SEMICOLON Reduce 523 QUESTION Reduce 523 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1709 COLON Reduce 523 COMMA Reduce 523 DOT Reduce 523 EQUAL Reduce 523 AT Reduce 523 ELLIPSIS Reduce 523 COLON_COLON Reduce 523 ElidedSemicolonAndRightBrace Reduce 523 AT308 Reduce 524 AT308DOTDOTDOT Reduce 523 BeginCaseExpr Reduce 523 $eof Reduce 523 Default reduction to rule 523 STATE 974 ---------------------------------------------------------------------- ( 28 118 119 128 138 170 ) FormalParameterList ::= FormalParameter . (258) RPAREN Reduce 648 COMMA Reduce 258 Default reduction to rule 648 STATE 975 ---------------------------------------------------------------------- ( 55 101 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1710 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 816 LBRACKET Reduce 454 QUESTION Reduce 808 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 976 ---------------------------------------------------------------------- ( 55 101 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (396) UnaryExpression_NotName ::= PreIncrementExpression . (751) UnaryExpression_NotName ::= PreDecrementExpression . (752) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (755) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (756) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (759) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (760) instanceof Reduce 788 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1711 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 816 QUESTION Reduce 808 Default reduction to rule 772 STATE 977 ---------------------------------------------------------------------- ( 55 101 ) PrimaryNoNewArray ::= ReferenceExpression . (469) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 808 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1712 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 816 LBRACKET Reduce 469 QUESTION Reduce 808 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 978 ---------------------------------------------------------------------- ( 55 101 ) PrimaryNoNewArray ::= LambdaExpression . (468) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1713 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 816 LBRACKET Reduce 468 QUESTION Reduce 808 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 979 ---------------------------------------------------------------------- ( 55 101 ) PrimaryNoNewArray ::= ArrayAccess . (467) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1714 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 816 LBRACKET Reduce 467 QUESTION Reduce 808 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 980 ---------------------------------------------------------------------- ( 55 101 ) PrimaryNoNewArray ::= MethodInvocation . (466) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1715 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 816 LBRACKET Reduce 466 QUESTION Reduce 808 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 981 ---------------------------------------------------------------------- ( 55 101 ) PrimaryNoNewArray ::= FieldAccess . (459) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1716 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 816 LBRACKET Reduce 459 QUESTION Reduce 808 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 982 ---------------------------------------------------------------------- ( 55 101 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1717 LESS Reduce 772 RPAREN Reduce 816 LBRACKET Reduce 458 QUESTION Reduce 808 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 Default reduction to rule 542 STATE 983 ---------------------------------------------------------------------- ( 55 74 101 263 692 693 697 790 845 849 850 912 913 914 928 929 932 ) Name ::= QualifiedName . (65) instanceof Reduce 65 PLUS_PLUS Reduce 543 MINUS_MINUS Reduce 543 EQUAL_EQUAL Reduce 65 LESS_EQUAL Reduce 65 GREATER_EQUAL Reduce 65 NOT_EQUAL Reduce 65 LEFT_SHIFT Reduce 65 RIGHT_SHIFT Reduce 65 UNSIGNED_RIGHT_SHIFT Reduce 65 PLUS_EQUAL Reduce 543 MINUS_EQUAL Reduce 543 MULTIPLY_EQUAL Reduce 543 DIVIDE_EQUAL Reduce 543 AND_EQUAL Reduce 543 OR_EQUAL Reduce 543 XOR_EQUAL Reduce 543 REMAINDER_EQUAL Reduce 543 LEFT_SHIFT_EQUAL Reduce 543 RIGHT_SHIFT_EQUAL Reduce 543 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 543 OR_OR Reduce 65 AND_AND Reduce 65 PLUS Reduce 65 MINUS Reduce 65 REMAINDER Reduce 65 XOR Reduce 65 AND Reduce 65 MULTIPLY Reduce 65 OR Reduce 65 DIVIDE Reduce 65 GREATER Reduce 65 LESS Reduce 65 LPAREN Reduce 65 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1718 RPAREN Reduce 65 LBRACKET Reduce 65 QUESTION Reduce 65 DOT Reduce 65 EQUAL Reduce 543 COLON_COLON Reduce 65 BeginTypeArguments Reduce 65 AT308 Reduce 65 Default reduction to rule 65 STATE 984 ---------------------------------------------------------------------- ( 55 101 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1719 RPAREN Reduce 816 QUESTION Reduce 808 DOT Reduce 453 EQUAL Reduce 542 COLON_COLON Reduce 453 Default reduction to rule 542 STATE 985 ---------------------------------------------------------------------- ( 60 172 197 208 211 213 242 248 481 642 678 715 726 863 ) Name ::= QualifiedName . (65) abstract Reduce 53 final Reduce 53 implements Reduce 53 native Reduce 53 private Reduce 53 protected Reduce 53 public Reduce 53 static Reduce 53 strictfp Reduce 53 synchronized Reduce 53 transient Reduce 53 volatile Reduce 53 AND Reduce 53 LESS Reduce 53 LPAREN Reduce 53 RPAREN Reduce 53 LBRACE Reduce 53 LBRACKET Reduce 53 SEMICOLON Reduce 53 COMMA Reduce 53 DOT Reduce 65 AT Reduce 53 COLON_COLON Reduce 53 AT308 Reduce 53 $eof Reduce 53 Default reduction to rule 53 STATE 986 ---------------------------------------------------------------------- ( 173 185 413 ) ModuleModifier ::= open . (103) module Reduce 102 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1720 Default reduction to rule 102 STATE 987 ---------------------------------------------------------------------- ( 175 ) RequiresModifiers ::= RequiresModifier . (118) RequiresModifier ::= transitive . (120) RequiresModifier ::= static . (121) Identifier Reduce 116 static Reduce 118 transitive Reduce 118 Default reduction to rule 118 STATE 988 ---------------------------------------------------------------------- ( 177 183 ) SimpleName ::= Identifier . (66) UnannotatableName ::= SimpleName . (67) to Reduce 129 SEMICOLON Reduce 129 DOT Reduce 67 Default reduction to rule 129 STATE 989 ---------------------------------------------------------------------- ( 188 ) TypeDeclarations ::= TypeDeclaration . (166) TypeDeclaration ::= ClassDeclaration . (180) TypeDeclaration ::= InterfaceDeclaration . (181) TypeDeclaration ::= EnumDeclaration . (183) TypeDeclaration ::= AnnotationTypeDeclaration . (184) abstract Reduce 166 class Reduce 166 enum Reduce 166 final Reduce 166 interface Reduce 166 native Reduce 166 private Reduce 166 protected Reduce 166 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1721 public Reduce 166 static Reduce 166 strictfp Reduce 166 synchronized Reduce 166 transient Reduce 166 volatile Reduce 166 SEMICOLON Reduce 166 AT Reduce 166 $eof Reduce 94 Default reduction to rule 166 STATE 990 ---------------------------------------------------------------------- ( 190 271 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1722 RPAREN Reduce 862 LBRACKET Reduce 454 QUESTION Reduce 808 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 991 ---------------------------------------------------------------------- ( 190 271 ) MemberValuePairs ::= MemberValuePair . (845) RPAREN Reduce 844 COMMA Reduce 845 Default reduction to rule 844 STATE 992 ---------------------------------------------------------------------- ( 190 271 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (396) UnaryExpression_NotName ::= PreIncrementExpression . (751) UnaryExpression_NotName ::= PreDecrementExpression . (752) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (755) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (756) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (759) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (760) instanceof Reduce 788 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1723 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 862 QUESTION Reduce 808 Default reduction to rule 772 STATE 993 ---------------------------------------------------------------------- ( 190 271 ) PrimaryNoNewArray ::= ReferenceExpression . (469) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 862 LBRACKET Reduce 469 QUESTION Reduce 808 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 994 ---------------------------------------------------------------------- ( 190 271 ) PrimaryNoNewArray ::= LambdaExpression . (468) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1724 instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 862 LBRACKET Reduce 468 QUESTION Reduce 808 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 995 ---------------------------------------------------------------------- ( 190 271 ) PrimaryNoNewArray ::= ArrayAccess . (467) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1725 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 862 LBRACKET Reduce 467 QUESTION Reduce 808 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 996 ---------------------------------------------------------------------- ( 190 271 ) PrimaryNoNewArray ::= MethodInvocation . (466) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 862 LBRACKET Reduce 466 QUESTION Reduce 808 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1726 STATE 997 ---------------------------------------------------------------------- ( 190 271 ) PrimaryNoNewArray ::= FieldAccess . (459) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 862 LBRACKET Reduce 459 QUESTION Reduce 808 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 998 ---------------------------------------------------------------------- ( 190 271 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1727 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 862 LBRACKET Reduce 458 QUESTION Reduce 808 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 999 ---------------------------------------------------------------------- ( 190 271 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1728 GREATER Reduce 772 LESS Reduce 772 RPAREN Reduce 862 QUESTION Reduce 808 DOT Reduce 453 COLON_COLON Reduce 453 Default reduction to rule 772 STATE 1000 --------------------------------------------------------------------- ( 190 271 ) Annotation ::= NormalAnnotation . (838) Annotation ::= MarkerAnnotation . (839) Annotation ::= SingleMemberAnnotation . (840) MemberValue ::= ConditionalExpression_NotName . (850) MemberValue ::= Annotation . (852) MemberValue ::= MemberValueArrayInitializer . (853) RPAREN Reduce 862 Default reduction to rule 862 STATE 1001 --------------------------------------------------------------------- ( 223 ) Catches ::= CatchClause . (445) Identifier Reduce 445 abstract Reduce 445 assert Reduce 445 boolean Reduce 445 break Reduce 445 byte Reduce 445 case Reduce 445 catch Reduce 445 char Reduce 445 class Reduce 445 continue Reduce 445 default Reduce 445 do Reduce 445 double Reduce 445 else Reduce 445 enum Reduce 445 false Reduce 445 final Reduce 445 finally Reduce 661 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1729 float Reduce 445 for Reduce 445 if Reduce 445 int Reduce 445 interface Reduce 445 long Reduce 445 native Reduce 445 new Reduce 445 null Reduce 445 private Reduce 445 protected Reduce 445 public Reduce 445 return Reduce 445 short Reduce 445 static Reduce 445 strictfp Reduce 445 super Reduce 445 switch Reduce 445 synchronized Reduce 445 this Reduce 445 throw Reduce 445 transient Reduce 445 true Reduce 445 try Reduce 445 void Reduce 445 volatile Reduce 445 while Reduce 445 yield Reduce 445 IntegerLiteral Reduce 445 LongLiteral Reduce 445 FloatingPointLiteral Reduce 445 DoubleLiteral Reduce 445 CharacterLiteral Reduce 445 StringLiteral Reduce 445 PLUS_PLUS Reduce 445 MINUS_MINUS Reduce 445 LESS Reduce 445 LPAREN Reduce 445 LBRACE Reduce 445 RBRACE Reduce 445 SEMICOLON Reduce 445 AT Reduce 445 BeginLambda Reduce 445 AT308 Reduce 445 $eof Reduce 445 Default reduction to rule 445 STATE 1002 --------------------------------------------------------------------- ( 225 659 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1730 Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) LBRACKET Reduce 454 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 451 STATE 1003 --------------------------------------------------------------------- ( 225 659 ) Name ::= QualifiedName . (65) Identifier Reduce 53 LESS Reduce 53 LPAREN Reduce 65 RPAREN Reduce 441 LBRACKET Reduce 65 SEMICOLON Reduce 441 DOT Reduce 65 COLON_COLON Reduce 65 BeginTypeArguments Reduce 65 AT308 Reduce 65 Default reduction to rule 65 STATE 1004 --------------------------------------------------------------------- ( 225 659 ) PrimaryNoNewArray ::= ReferenceExpression . (469) LBRACKET Reduce 469 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 451 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1731 STATE 1005 --------------------------------------------------------------------- ( 225 659 ) PrimaryNoNewArray ::= LambdaExpression . (468) LBRACKET Reduce 468 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 451 STATE 1006 --------------------------------------------------------------------- ( 225 659 ) PrimaryNoNewArray ::= ArrayAccess . (467) LBRACKET Reduce 467 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 451 STATE 1007 --------------------------------------------------------------------- ( 225 659 ) PrimaryNoNewArray ::= MethodInvocation . (466) LBRACKET Reduce 466 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 451 STATE 1008 --------------------------------------------------------------------- ( 225 659 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) LBRACKET Reduce 458 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 451 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1732 STATE 1009 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1733 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 LBRACKET Reduce 454 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 DOT Reduce 451 AT Reduce 553 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 STATE 1010 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1734 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 AT Reduce 553 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 STATE 1011 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1735 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 AT Reduce 553 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 STATE 1012 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1736 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 LBRACKET Reduce 469 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 DOT Reduce 451 AT Reduce 553 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 STATE 1013 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1737 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 LBRACKET Reduce 468 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 DOT Reduce 451 AT Reduce 553 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 STATE 1014 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1738 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 LBRACKET Reduce 467 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 DOT Reduce 451 AT Reduce 553 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 STATE 1015 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1739 PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 LBRACKET Reduce 466 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 DOT Reduce 451 AT Reduce 553 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1740 STATE 1016 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 LBRACKET Reduce 459 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 DOT Reduce 451 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1741 AT Reduce 553 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 STATE 1017 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1742 LBRACKET Reduce 458 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 DOT Reduce 451 AT Reduce 553 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 STATE 1018 --------------------------------------------------------------------- ( 234 235 285 286 295 296 297 298 299 339 340 341 342 345 346 347 380 381 382 859 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 553 final Reduce 553 instanceof Reduce 553 native Reduce 553 private Reduce 553 protected Reduce 553 public Reduce 553 static Reduce 553 strictfp Reduce 553 synchronized Reduce 553 transient Reduce 553 volatile Reduce 553 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 553 LESS_EQUAL Reduce 553 GREATER_EQUAL Reduce 553 NOT_EQUAL Reduce 553 LEFT_SHIFT Reduce 553 RIGHT_SHIFT Reduce 553 UNSIGNED_RIGHT_SHIFT Reduce 553 OR_OR Reduce 553 AND_AND Reduce 553 PLUS Reduce 553 MINUS Reduce 553 REMAINDER Reduce 553 XOR Reduce 553 AND Reduce 553 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1743 MULTIPLY Reduce 553 OR Reduce 553 DIVIDE Reduce 553 GREATER Reduce 553 LESS Reduce 553 RPAREN Reduce 553 RBRACE Reduce 553 RBRACKET Reduce 553 SEMICOLON Reduce 553 QUESTION Reduce 553 COLON Reduce 553 COMMA Reduce 553 DOT Reduce 453 AT Reduce 553 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 553 BeginCaseExpr Reduce 553 $eof Reduce 553 Default reduction to rule 553 STATE 1019 --------------------------------------------------------------------- ( 252 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1744 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 LBRACKET Reduce 454 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 542 STATE 1020 --------------------------------------------------------------------- ( 252 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) instanceof Reduce 591 EQUAL_EQUAL Reduce 593 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1745 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 608 STATE 1021 --------------------------------------------------------------------- ( 252 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1746 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 DOT Reduce 453 EQUAL Reduce 542 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 542 STATE 1022 --------------------------------------------------------------------- ( 252 ) PrimaryNoNewArray ::= ReferenceExpression . (469) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1747 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 LBRACKET Reduce 469 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 542 STATE 1023 --------------------------------------------------------------------- ( 252 ) PrimaryNoNewArray ::= LambdaExpression . (468) instanceof Reduce 591 PLUS_PLUS Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1748 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 LBRACKET Reduce 468 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 542 STATE 1024 --------------------------------------------------------------------- ( 252 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1749 PrimaryNoNewArray ::= ArrayAccess . (467) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 LBRACKET Reduce 467 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1750 STATE 1025 --------------------------------------------------------------------- ( 252 ) PrimaryNoNewArray ::= MethodInvocation . (466) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 LBRACKET Reduce 466 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 DOT Reduce 451 EQUAL Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1751 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 542 STATE 1026 --------------------------------------------------------------------- ( 252 ) PrimaryNoNewArray ::= FieldAccess . (459) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 LBRACKET Reduce 459 RBRACKET Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1752 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 542 STATE 1027 --------------------------------------------------------------------- ( 252 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) instanceof Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 542 MINUS_EQUAL Reduce 542 MULTIPLY_EQUAL Reduce 542 DIVIDE_EQUAL Reduce 542 AND_EQUAL Reduce 542 OR_EQUAL Reduce 542 XOR_EQUAL Reduce 542 REMAINDER_EQUAL Reduce 542 LEFT_SHIFT_EQUAL Reduce 542 RIGHT_SHIFT_EQUAL Reduce 542 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 542 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1753 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 LBRACKET Reduce 458 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 DOT Reduce 451 EQUAL Reduce 542 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 542 STATE 1028 --------------------------------------------------------------------- ( 252 ) PostfixExpression ::= PostDecrementExpression . (545) instanceof Reduce 591 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 545 MINUS_EQUAL Reduce 545 MULTIPLY_EQUAL Reduce 545 DIVIDE_EQUAL Reduce 545 AND_EQUAL Reduce 545 OR_EQUAL Reduce 545 XOR_EQUAL Reduce 545 REMAINDER_EQUAL Reduce 545 LEFT_SHIFT_EQUAL Reduce 545 RIGHT_SHIFT_EQUAL Reduce 545 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 545 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1754 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 EQUAL Reduce 545 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 545 STATE 1029 --------------------------------------------------------------------- ( 252 ) PostfixExpression ::= PostIncrementExpression . (544) instanceof Reduce 591 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 PLUS_EQUAL Reduce 544 MINUS_EQUAL Reduce 544 MULTIPLY_EQUAL Reduce 544 DIVIDE_EQUAL Reduce 544 AND_EQUAL Reduce 544 OR_EQUAL Reduce 544 XOR_EQUAL Reduce 544 REMAINDER_EQUAL Reduce 544 LEFT_SHIFT_EQUAL Reduce 544 RIGHT_SHIFT_EQUAL Reduce 544 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 544 OR_OR Reduce 604 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1755 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 608 RBRACE Reduce 608 RBRACKET Reduce 608 SEMICOLON Reduce 608 QUESTION Reduce 604 COLON Reduce 608 COMMA Reduce 608 EQUAL Reduce 544 ElidedSemicolonAndRightBrace Reduce 608 BeginCaseExpr Reduce 608 $eof Reduce 608 Default reduction to rule 544 STATE 1030 --------------------------------------------------------------------- ( 266 846 ) StatementExpressionList ::= StatementExpression . (415) SEMICOLON Reduce 412 COMMA Reduce 415 Default reduction to rule 412 STATE 1031 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1756 BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 LBRACKET Reduce 454 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 DOT Reduce 451 AT Reduce 579 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1757 STATE 1032 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1758 AT Reduce 579 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 1033 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 RBRACKET Reduce 579 SEMICOLON Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1759 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 AT Reduce 579 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 1034 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1760 RBRACE Reduce 579 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 AT Reduce 579 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 1035 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1761 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 LBRACKET Reduce 469 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 DOT Reduce 451 AT Reduce 579 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 1036 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1762 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 LBRACKET Reduce 468 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 DOT Reduce 451 AT Reduce 579 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 1037 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1763 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 LBRACKET Reduce 467 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 DOT Reduce 451 AT Reduce 579 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 1038 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1764 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 LBRACKET Reduce 466 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 DOT Reduce 451 AT Reduce 579 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 1039 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1765 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 LBRACKET Reduce 459 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 DOT Reduce 451 AT Reduce 579 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 1040 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1766 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 LBRACKET Reduce 458 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 DOT Reduce 451 AT Reduce 579 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 STATE 1041 --------------------------------------------------------------------- ( 300 301 302 352 353 354 375 376 377 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1767 Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 579 final Reduce 579 instanceof Reduce 579 native Reduce 579 private Reduce 579 protected Reduce 579 public Reduce 579 static Reduce 579 strictfp Reduce 579 synchronized Reduce 579 transient Reduce 579 volatile Reduce 579 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 579 LESS_EQUAL Reduce 579 GREATER_EQUAL Reduce 579 NOT_EQUAL Reduce 579 LEFT_SHIFT Reduce 579 RIGHT_SHIFT Reduce 579 UNSIGNED_RIGHT_SHIFT Reduce 579 OR_OR Reduce 579 AND_AND Reduce 579 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 579 AND Reduce 579 MULTIPLY Reduce 575 OR Reduce 579 DIVIDE Reduce 575 GREATER Reduce 579 LESS Reduce 579 RPAREN Reduce 579 RBRACE Reduce 579 RBRACKET Reduce 579 SEMICOLON Reduce 579 QUESTION Reduce 579 COLON Reduce 579 COMMA Reduce 579 DOT Reduce 453 AT Reduce 579 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 579 BeginCaseExpr Reduce 579 $eof Reduce 579 Default reduction to rule 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1768 STATE 1042 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1769 RPAREN Reduce 575 RBRACE Reduce 575 LBRACKET Reduce 454 RBRACKET Reduce 575 SEMICOLON Reduce 575 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 DOT Reduce 451 AT Reduce 575 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 STATE 1043 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1770 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 RPAREN Reduce 575 RBRACE Reduce 575 RBRACKET Reduce 575 SEMICOLON Reduce 575 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 DOT Reduce 453 AT Reduce 575 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 STATE 1044 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1771 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 RPAREN Reduce 575 RBRACE Reduce 575 LBRACKET Reduce 469 RBRACKET Reduce 575 SEMICOLON Reduce 575 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 DOT Reduce 451 AT Reduce 575 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 STATE 1045 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1772 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 RPAREN Reduce 575 RBRACE Reduce 575 LBRACKET Reduce 468 RBRACKET Reduce 575 SEMICOLON Reduce 575 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 DOT Reduce 451 AT Reduce 575 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 STATE 1046 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1773 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 RPAREN Reduce 575 RBRACE Reduce 575 LBRACKET Reduce 467 RBRACKET Reduce 575 SEMICOLON Reduce 575 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 DOT Reduce 451 AT Reduce 575 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 STATE 1047 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1774 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 RPAREN Reduce 575 RBRACE Reduce 575 LBRACKET Reduce 466 RBRACKET Reduce 575 SEMICOLON Reduce 575 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 DOT Reduce 451 AT Reduce 575 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 STATE 1048 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1775 PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 RPAREN Reduce 575 RBRACE Reduce 575 LBRACKET Reduce 459 RBRACKET Reduce 575 SEMICOLON Reduce 575 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 DOT Reduce 451 AT Reduce 575 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1776 STATE 1049 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 RPAREN Reduce 575 RBRACE Reduce 575 LBRACKET Reduce 458 RBRACKET Reduce 575 SEMICOLON Reduce 575 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 DOT Reduce 451 AT Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1777 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 STATE 1050 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 RPAREN Reduce 575 RBRACE Reduce 575 RBRACKET Reduce 575 SEMICOLON Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1778 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 AT Reduce 575 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 STATE 1051 --------------------------------------------------------------------- ( 303 304 343 344 378 379 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 private Reduce 575 protected Reduce 575 public Reduce 575 static Reduce 575 strictfp Reduce 575 synchronized Reduce 575 transient Reduce 575 volatile Reduce 575 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 575 LESS_EQUAL Reduce 575 GREATER_EQUAL Reduce 575 NOT_EQUAL Reduce 575 LEFT_SHIFT Reduce 575 RIGHT_SHIFT Reduce 575 UNSIGNED_RIGHT_SHIFT Reduce 575 OR_OR Reduce 575 AND_AND Reduce 575 PLUS Reduce 575 MINUS Reduce 575 REMAINDER Reduce 575 XOR Reduce 575 AND Reduce 575 MULTIPLY Reduce 575 OR Reduce 575 DIVIDE Reduce 575 GREATER Reduce 575 LESS Reduce 575 RPAREN Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1779 RBRACE Reduce 575 RBRACKET Reduce 575 SEMICOLON Reduce 575 QUESTION Reduce 575 COLON Reduce 575 COMMA Reduce 575 AT Reduce 575 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 $eof Reduce 575 Default reduction to rule 575 STATE 1052 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native 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 542 MINUS_MINUS Reduce 542 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1780 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 LBRACKET Reduce 454 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 451 AT Reduce 582 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1053 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native Reduce 582 private Reduce 582 protected Reduce 582 public Reduce 582 static Reduce 582 strictfp Reduce 582 synchronized Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1781 transient Reduce 582 volatile 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 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 AT Reduce 582 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1054 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native Reduce 582 private Reduce 582 protected Reduce 582 public Reduce 582 static Reduce 582 strictfp Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1782 synchronized Reduce 582 transient Reduce 582 volatile Reduce 582 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 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 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 453 AT Reduce 582 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1055 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1783 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 542 MINUS_MINUS Reduce 542 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 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 LBRACKET Reduce 469 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 451 AT Reduce 582 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1056 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1784 PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native 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 542 MINUS_MINUS Reduce 542 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 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 LBRACKET Reduce 468 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 451 AT Reduce 582 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1785 STATE 1057 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native 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 542 MINUS_MINUS Reduce 542 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 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 LBRACKET Reduce 467 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 451 AT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1786 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1058 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native 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 542 MINUS_MINUS Reduce 542 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 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 LBRACKET Reduce 466 RBRACKET Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1787 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 451 AT Reduce 582 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1059 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native 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 542 MINUS_MINUS Reduce 542 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 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1788 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 LBRACKET Reduce 459 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 451 AT Reduce 582 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1060 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native 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 542 MINUS_MINUS Reduce 542 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 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1789 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 LBRACKET Reduce 458 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 DOT Reduce 451 AT Reduce 582 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1061 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native 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 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 582 LESS_EQUAL Reduce 582 GREATER_EQUAL Reduce 582 NOT_EQUAL Reduce 582 LEFT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1790 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 AT Reduce 582 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1062 --------------------------------------------------------------------- ( 306 307 308 309 348 349 350 351 371 372 373 374 532 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 582 final Reduce 582 instanceof Reduce 582 native 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 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 582 LESS_EQUAL Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1791 GREATER_EQUAL Reduce 582 NOT_EQUAL Reduce 582 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 582 AND_AND Reduce 582 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 582 AND Reduce 582 MULTIPLY Reduce 575 OR Reduce 582 DIVIDE Reduce 575 GREATER Reduce 582 LESS Reduce 582 RPAREN Reduce 582 RBRACE Reduce 582 RBRACKET Reduce 582 SEMICOLON Reduce 582 QUESTION Reduce 582 COLON Reduce 582 COMMA Reduce 582 AT Reduce 582 ElidedSemicolonAndRightBrace Reduce 582 BeginCaseExpr Reduce 582 $eof Reduce 582 Default reduction to rule 582 STATE 1063 --------------------------------------------------------------------- ( 310 359 367 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1792 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 LBRACKET Reduce 454 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 DOT Reduce 451 AT Reduce 593 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 1064 --------------------------------------------------------------------- ( 310 359 367 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1793 UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 AT Reduce 593 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1794 STATE 1065 --------------------------------------------------------------------- ( 310 359 367 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 AT Reduce 593 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1795 $eof Reduce 593 Default reduction to rule 593 STATE 1066 --------------------------------------------------------------------- ( 310 359 367 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1796 AT Reduce 593 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 1067 --------------------------------------------------------------------- ( 310 359 367 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 LBRACKET Reduce 469 RBRACKET Reduce 593 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1797 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 DOT Reduce 451 AT Reduce 593 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 1068 --------------------------------------------------------------------- ( 310 359 367 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1798 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 LBRACKET Reduce 468 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 DOT Reduce 451 AT Reduce 593 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 1069 --------------------------------------------------------------------- ( 310 359 367 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1799 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 LBRACKET Reduce 467 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 DOT Reduce 451 AT Reduce 593 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 1070 --------------------------------------------------------------------- ( 310 359 367 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1800 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 LBRACKET Reduce 466 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 DOT Reduce 451 AT Reduce 593 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 1071 --------------------------------------------------------------------- ( 310 359 367 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1801 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 LBRACKET Reduce 459 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 DOT Reduce 451 AT Reduce 593 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 1072 --------------------------------------------------------------------- ( 310 359 367 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 593 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1802 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 LBRACKET Reduce 458 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 DOT Reduce 451 AT Reduce 593 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 1073 --------------------------------------------------------------------- ( 310 359 367 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 593 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1803 final Reduce 593 instanceof Reduce 591 native Reduce 593 private Reduce 593 protected Reduce 593 public Reduce 593 static Reduce 593 strictfp Reduce 593 synchronized Reduce 593 transient Reduce 593 volatile Reduce 593 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 593 AND_AND Reduce 593 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 593 AND Reduce 593 MULTIPLY Reduce 575 OR Reduce 593 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 593 RBRACE Reduce 593 RBRACKET Reduce 593 SEMICOLON Reduce 593 QUESTION Reduce 593 COLON Reduce 593 COMMA Reduce 593 DOT Reduce 453 AT Reduce 593 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 593 BeginCaseExpr Reduce 593 $eof Reduce 593 Default reduction to rule 593 STATE 1074 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1804 Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 LBRACKET Reduce 454 RBRACKET Reduce 591 SEMICOLON Reduce 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1805 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 DOT Reduce 451 AT Reduce 591 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1075 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1806 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 AT Reduce 591 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1076 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1807 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 DOT Reduce 453 AT Reduce 591 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1077 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1808 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 LBRACKET Reduce 469 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 DOT Reduce 451 AT Reduce 591 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1078 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1809 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 LBRACKET Reduce 468 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 DOT Reduce 451 AT Reduce 591 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1079 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native Reduce 591 private Reduce 591 protected Reduce 591 public Reduce 591 static Reduce 591 strictfp Reduce 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1810 synchronized Reduce 591 transient Reduce 591 volatile Reduce 591 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 LBRACKET Reduce 467 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 DOT Reduce 451 AT Reduce 591 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1080 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1811 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 LBRACKET Reduce 466 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 DOT Reduce 451 AT Reduce 591 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1081 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1812 PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 LBRACKET Reduce 459 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 DOT Reduce 451 AT Reduce 591 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1813 STATE 1082 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 LBRACKET Reduce 458 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 DOT Reduce 451 AT Reduce 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1814 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1083 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 RBRACE Reduce 591 RBRACKET Reduce 591 SEMICOLON Reduce 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1815 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 AT Reduce 591 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1084 --------------------------------------------------------------------- ( 311 312 355 356 368 369 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 591 final Reduce 591 instanceof Reduce 591 native 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 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 591 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 591 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 591 AND_AND Reduce 591 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 591 AND Reduce 591 MULTIPLY Reduce 575 OR Reduce 591 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1816 RBRACE Reduce 591 RBRACKET Reduce 591 SEMICOLON Reduce 591 QUESTION Reduce 591 COLON Reduce 591 COMMA Reduce 591 AT Reduce 591 ElidedSemicolonAndRightBrace Reduce 591 BeginCaseExpr Reduce 591 $eof Reduce 591 Default reduction to rule 591 STATE 1085 --------------------------------------------------------------------- ( 313 361 365 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1817 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 LBRACKET Reduce 454 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 DOT Reduce 451 AT Reduce 598 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1086 --------------------------------------------------------------------- ( 313 361 365 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1818 transient Reduce 598 volatile Reduce 598 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 AT Reduce 598 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1087 --------------------------------------------------------------------- ( 313 361 365 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1819 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 AT Reduce 598 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1088 --------------------------------------------------------------------- ( 313 361 365 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1820 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 AT Reduce 598 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1089 --------------------------------------------------------------------- ( 313 361 365 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1821 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 LBRACKET Reduce 469 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 DOT Reduce 451 AT Reduce 598 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1090 --------------------------------------------------------------------- ( 313 361 365 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1822 PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 LBRACKET Reduce 468 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 DOT Reduce 451 AT Reduce 598 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1823 STATE 1091 --------------------------------------------------------------------- ( 313 361 365 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 LBRACKET Reduce 467 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 DOT Reduce 451 AT Reduce 598 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1824 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1092 --------------------------------------------------------------------- ( 313 361 365 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 LBRACKET Reduce 466 RBRACKET Reduce 598 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1825 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 DOT Reduce 451 AT Reduce 598 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1093 --------------------------------------------------------------------- ( 313 361 365 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1826 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 LBRACKET Reduce 459 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 DOT Reduce 451 AT Reduce 598 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1094 --------------------------------------------------------------------- ( 313 361 365 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1827 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 LBRACKET Reduce 458 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 DOT Reduce 451 AT Reduce 598 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1095 --------------------------------------------------------------------- ( 313 361 365 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 598 final Reduce 598 instanceof Reduce 591 native Reduce 598 private Reduce 598 protected Reduce 598 public Reduce 598 static Reduce 598 strictfp Reduce 598 synchronized Reduce 598 transient Reduce 598 volatile Reduce 598 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1828 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 598 AND_AND Reduce 598 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 598 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 598 RBRACE Reduce 598 RBRACKET Reduce 598 SEMICOLON Reduce 598 QUESTION Reduce 598 COLON Reduce 598 COMMA Reduce 598 DOT Reduce 453 AT Reduce 598 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 598 BeginCaseExpr Reduce 598 $eof Reduce 598 Default reduction to rule 598 STATE 1096 --------------------------------------------------------------------- ( 314 358 366 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1829 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 LBRACKET Reduce 454 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 DOT Reduce 451 AT Reduce 596 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1097 --------------------------------------------------------------------- ( 314 358 366 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1830 UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 AT Reduce 596 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1831 STATE 1098 --------------------------------------------------------------------- ( 314 358 366 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 DOT Reduce 453 AT Reduce 596 COLON_COLON Reduce 453 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1832 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1099 --------------------------------------------------------------------- ( 314 358 366 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 LBRACKET Reduce 469 RBRACKET Reduce 596 SEMICOLON Reduce 596 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1833 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 DOT Reduce 451 AT Reduce 596 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1100 --------------------------------------------------------------------- ( 314 358 366 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1834 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 LBRACKET Reduce 468 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 DOT Reduce 451 AT Reduce 596 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1101 --------------------------------------------------------------------- ( 314 358 366 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1835 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 LBRACKET Reduce 467 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 DOT Reduce 451 AT Reduce 596 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1102 --------------------------------------------------------------------- ( 314 358 366 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1836 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 LBRACKET Reduce 466 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 DOT Reduce 451 AT Reduce 596 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1103 --------------------------------------------------------------------- ( 314 358 366 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1837 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 LBRACKET Reduce 459 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 DOT Reduce 451 AT Reduce 596 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1104 --------------------------------------------------------------------- ( 314 358 366 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1838 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 LBRACKET Reduce 458 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 DOT Reduce 451 AT Reduce 596 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1105 --------------------------------------------------------------------- ( 314 358 366 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 596 final Reduce 596 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1839 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 AT Reduce 596 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1106 --------------------------------------------------------------------- ( 314 358 366 ) PostfixExpression ::= PostIncrementExpression . (544) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1840 abstract Reduce 596 final Reduce 596 instanceof Reduce 591 native Reduce 596 private Reduce 596 protected Reduce 596 public Reduce 596 static Reduce 596 strictfp Reduce 596 synchronized Reduce 596 transient Reduce 596 volatile Reduce 596 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 596 AND_AND Reduce 596 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 596 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 596 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 596 RBRACE Reduce 596 RBRACKET Reduce 596 SEMICOLON Reduce 596 QUESTION Reduce 596 COLON Reduce 596 COMMA Reduce 596 AT Reduce 596 ElidedSemicolonAndRightBrace Reduce 596 BeginCaseExpr Reduce 596 $eof Reduce 596 Default reduction to rule 596 STATE 1107 --------------------------------------------------------------------- ( 316 363 384 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1841 Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 LBRACKET Reduce 454 RBRACKET Reduce 602 SEMICOLON Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1842 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 DOT Reduce 451 AT Reduce 602 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1108 --------------------------------------------------------------------- ( 316 363 384 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1843 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 AT Reduce 602 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1109 --------------------------------------------------------------------- ( 316 363 384 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1844 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 AT Reduce 602 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1110 --------------------------------------------------------------------- ( 316 363 384 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1845 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 AT Reduce 602 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1111 --------------------------------------------------------------------- ( 316 363 384 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1846 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 LBRACKET Reduce 469 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 DOT Reduce 451 AT Reduce 602 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1112 --------------------------------------------------------------------- ( 316 363 384 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1847 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 LBRACKET Reduce 468 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 DOT Reduce 451 AT Reduce 602 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1113 --------------------------------------------------------------------- ( 316 363 384 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1848 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 LBRACKET Reduce 467 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 DOT Reduce 451 AT Reduce 602 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1114 --------------------------------------------------------------------- ( 316 363 384 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 602 final Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1849 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 LBRACKET Reduce 466 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 DOT Reduce 451 AT Reduce 602 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1115 --------------------------------------------------------------------- ( 316 363 384 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1850 PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 LBRACKET Reduce 459 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 DOT Reduce 451 AT Reduce 602 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1851 STATE 1116 --------------------------------------------------------------------- ( 316 363 384 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 LBRACKET Reduce 458 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 DOT Reduce 451 AT Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1852 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1117 --------------------------------------------------------------------- ( 316 363 384 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 602 final Reduce 602 instanceof Reduce 591 native Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 volatile Reduce 602 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 602 RBRACE Reduce 602 RBRACKET Reduce 602 SEMICOLON Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1853 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 DOT Reduce 453 AT Reduce 602 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 1118 --------------------------------------------------------------------- ( 317 360 364 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1854 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 LBRACKET Reduce 454 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 451 AT Reduce 600 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1119 --------------------------------------------------------------------- ( 317 360 364 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) MultiplicativeExpression ::= UnaryExpression . (575) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1855 volatile Reduce 600 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 AT Reduce 600 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1120 --------------------------------------------------------------------- ( 317 360 364 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1856 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 453 AT Reduce 600 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1121 --------------------------------------------------------------------- ( 317 360 364 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1857 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 LBRACKET Reduce 469 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 451 AT Reduce 600 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1122 --------------------------------------------------------------------- ( 317 360 364 ) PrimaryNoNewArray ::= LambdaExpression . (468) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1858 abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 LBRACKET Reduce 468 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 451 AT Reduce 600 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1123 --------------------------------------------------------------------- ( 317 360 364 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1859 PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 LBRACKET Reduce 467 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 451 AT Reduce 600 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1860 STATE 1124 --------------------------------------------------------------------- ( 317 360 364 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 LBRACKET Reduce 466 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 451 AT Reduce 600 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1861 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1125 --------------------------------------------------------------------- ( 317 360 364 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 LBRACKET Reduce 459 RBRACKET Reduce 600 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1862 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 451 AT Reduce 600 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1126 --------------------------------------------------------------------- ( 317 360 364 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1863 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 LBRACKET Reduce 458 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 DOT Reduce 451 AT Reduce 600 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1127 --------------------------------------------------------------------- ( 317 360 364 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1864 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 AT Reduce 600 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1128 --------------------------------------------------------------------- ( 317 360 364 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 600 final Reduce 600 instanceof Reduce 591 native Reduce 600 private Reduce 600 protected Reduce 600 public Reduce 600 static Reduce 600 strictfp Reduce 600 synchronized Reduce 600 transient Reduce 600 volatile Reduce 600 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 600 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1865 AND_AND Reduce 600 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 600 RBRACE Reduce 600 RBRACKET Reduce 600 SEMICOLON Reduce 600 QUESTION Reduce 600 COLON Reduce 600 COMMA Reduce 600 AT Reduce 600 ElidedSemicolonAndRightBrace Reduce 600 BeginCaseExpr Reduce 600 $eof Reduce 600 Default reduction to rule 600 STATE 1129 --------------------------------------------------------------------- ( 318 ) VariableInitializer ::= Expression . (239) VariableInitializer ::= ArrayInitializer . (240) RBRACE Reduce 318 COMMA Reduce 318 Default reduction to rule 318 STATE 1130 --------------------------------------------------------------------- ( 401 745 ) SimpleName ::= Identifier . (66) UnannotatableName ::= SimpleName . (67) SEMICOLON Reduce 126 COMMA Reduce 126 DOT Reduce 67 Default reduction to rule 126 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1866 STATE 1131 --------------------------------------------------------------------- ( 405 746 ) Name ::= QualifiedName . (65) SEMICOLON Reduce 136 COMMA Reduce 136 DOT Reduce 65 Default reduction to rule 136 STATE 1132 --------------------------------------------------------------------- ( 451 ) Catches ::= CatchClause . (445) Identifier Reduce 661 abstract Reduce 661 assert Reduce 661 boolean Reduce 661 break Reduce 661 byte Reduce 661 case Reduce 661 catch Reduce 445 char Reduce 661 class Reduce 661 continue Reduce 661 default Reduce 661 do Reduce 661 double Reduce 661 else Reduce 661 enum Reduce 661 false Reduce 661 final Reduce 661 finally Reduce 661 float Reduce 661 for Reduce 661 if Reduce 661 int Reduce 661 interface Reduce 661 long Reduce 661 native Reduce 661 new Reduce 661 null Reduce 661 private Reduce 661 protected Reduce 661 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1867 public Reduce 661 return Reduce 661 short Reduce 661 static Reduce 661 strictfp Reduce 661 super Reduce 661 switch Reduce 661 synchronized Reduce 661 this Reduce 661 throw Reduce 661 transient Reduce 661 true Reduce 661 try Reduce 661 void Reduce 661 volatile Reduce 661 while Reduce 661 yield Reduce 661 IntegerLiteral Reduce 661 LongLiteral Reduce 661 FloatingPointLiteral Reduce 661 DoubleLiteral Reduce 661 CharacterLiteral Reduce 661 StringLiteral Reduce 661 PLUS_PLUS Reduce 661 MINUS_MINUS Reduce 661 LESS Reduce 661 LPAREN Reduce 661 LBRACE Reduce 661 RBRACE Reduce 661 SEMICOLON Reduce 661 AT Reduce 661 BeginLambda Reduce 661 AT308 Reduce 661 $eof Reduce 661 Default reduction to rule 661 STATE 1133 --------------------------------------------------------------------- ( 527 531 716 860 ) AdditionalBoundList ::= AdditionalBound . (737) AND Reduce 737 RPAREN Reduce 567 Default reduction to rule 737 STATE 1134 --------------------------------------------------------------------- ( 552 553 567 609 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1868 Dimsopt ::= Dims . (642) abstract Reduce 253 default Reduce 253 final Reduce 253 native Reduce 253 private Reduce 253 protected Reduce 253 public Reduce 253 static Reduce 253 strictfp Reduce 253 synchronized Reduce 253 throws Reduce 253 transient Reduce 253 volatile Reduce 253 LBRACE Reduce 253 SEMICOLON Reduce 253 AT Reduce 253 $eof Reduce 253 Default reduction to rule 253 STATE 1135 --------------------------------------------------------------------- ( 570 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1869 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RBRACE Reduce 859 LBRACKET Reduce 454 QUESTION Reduce 808 COMMA Reduce 859 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 1136 --------------------------------------------------------------------- ( 570 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (396) UnaryExpression_NotName ::= PreIncrementExpression . (751) UnaryExpression_NotName ::= PreDecrementExpression . (752) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (755) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (756) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (759) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (760) instanceof Reduce 788 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1870 GREATER Reduce 772 LESS Reduce 772 RBRACE Reduce 859 QUESTION Reduce 808 COMMA Reduce 859 Default reduction to rule 772 STATE 1137 --------------------------------------------------------------------- ( 570 ) PrimaryNoNewArray ::= ReferenceExpression . (469) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RBRACE Reduce 859 LBRACKET Reduce 469 QUESTION Reduce 808 COMMA Reduce 859 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 1138 --------------------------------------------------------------------- ( 570 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1871 PrimaryNoNewArray ::= LambdaExpression . (468) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RBRACE Reduce 859 LBRACKET Reduce 468 QUESTION Reduce 808 COMMA Reduce 859 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 1139 --------------------------------------------------------------------- ( 570 ) PrimaryNoNewArray ::= ArrayAccess . (467) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1872 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RBRACE Reduce 859 LBRACKET Reduce 467 QUESTION Reduce 808 COMMA Reduce 859 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 1140 --------------------------------------------------------------------- ( 570 ) PrimaryNoNewArray ::= MethodInvocation . (466) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RBRACE Reduce 859 LBRACKET Reduce 466 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1873 QUESTION Reduce 808 COMMA Reduce 859 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 1141 --------------------------------------------------------------------- ( 570 ) PrimaryNoNewArray ::= FieldAccess . (459) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RBRACE Reduce 859 LBRACKET Reduce 459 QUESTION Reduce 808 COMMA Reduce 859 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 1142 --------------------------------------------------------------------- ( 570 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1874 instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RBRACE Reduce 859 LBRACKET Reduce 458 QUESTION Reduce 808 COMMA Reduce 859 DOT Reduce 451 COLON_COLON Reduce 451 Default reduction to rule 772 STATE 1143 --------------------------------------------------------------------- ( 570 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) instanceof Reduce 788 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 791 LESS_EQUAL Reduce 779 GREATER_EQUAL Reduce 779 NOT_EQUAL Reduce 791 LEFT_SHIFT Reduce 772 RIGHT_SHIFT Reduce 772 UNSIGNED_RIGHT_SHIFT Reduce 772 OR_OR Reduce 808 AND_AND Reduce 805 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1875 PLUS Reduce 767 MINUS Reduce 767 REMAINDER Reduce 760 XOR Reduce 799 AND Reduce 796 MULTIPLY Reduce 760 OR Reduce 802 DIVIDE Reduce 760 GREATER Reduce 772 LESS Reduce 772 RBRACE Reduce 859 QUESTION Reduce 808 COMMA Reduce 859 DOT Reduce 453 COLON_COLON Reduce 453 Default reduction to rule 772 STATE 1144 --------------------------------------------------------------------- ( 606 ) Type ::= ReferenceType . (36) ReferenceType ::= ArrayType . (50) Identifier Reduce 265 OR Reduce 265 Default reduction to rule 265 STATE 1145 --------------------------------------------------------------------- ( 692 790 849 912 913 929 932 ) StatementWithoutTrailingSubstatement ::= AssertStatement . (352) StatementWithoutTrailingSubstatement ::= Block . (353) StatementWithoutTrailingSubstatement ::= EmptyStatement . (354) StatementWithoutTrailingSubstatement ::= ExpressionStatement . (355) StatementWithoutTrailingSubstatement ::= SwitchStatement . (356) StatementWithoutTrailingSubstatement ::= DoStatement . (357) StatementWithoutTrailingSubstatement ::= BreakStatement . (358) StatementWithoutTrailingSubstatement ::= ContinueStatement . (359) StatementWithoutTrailingSubstatement ::= ReturnStatement . (360) StatementWithoutTrailingSubstatement ::= SynchronizedStatement . (361) StatementWithoutTrailingSubstatement ::= ThrowStatement . (362) StatementWithoutTrailingSubstatement ::= TryStatement . (363) StatementWithoutTrailingSubstatement ::= TryStatementWithResources . (364) StatementWithoutTrailingSubstatement ::= YieldStatement . (365) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1876 Identifier Reduce 339 abstract Reduce 339 assert Reduce 339 boolean Reduce 339 break Reduce 339 byte Reduce 339 case Reduce 339 char Reduce 339 class Reduce 339 continue Reduce 339 default Reduce 339 do Reduce 339 double Reduce 339 else Reduce 346 enum Reduce 339 false Reduce 339 final Reduce 339 float Reduce 339 for Reduce 339 if Reduce 339 int Reduce 339 interface Reduce 339 long Reduce 339 native Reduce 339 new Reduce 339 null Reduce 339 private Reduce 339 protected Reduce 339 public Reduce 339 return Reduce 339 short Reduce 339 static Reduce 339 strictfp Reduce 339 super Reduce 339 switch Reduce 339 synchronized Reduce 339 this Reduce 339 throw Reduce 339 transient Reduce 339 true Reduce 339 try Reduce 339 void Reduce 339 volatile Reduce 339 while Reduce 339 yield Reduce 339 IntegerLiteral Reduce 339 LongLiteral Reduce 339 FloatingPointLiteral Reduce 339 DoubleLiteral Reduce 339 CharacterLiteral Reduce 339 StringLiteral Reduce 339 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1877 PLUS_PLUS Reduce 339 MINUS_MINUS Reduce 339 LESS Reduce 339 LPAREN Reduce 339 LBRACE Reduce 339 RBRACE Reduce 339 SEMICOLON Reduce 339 AT Reduce 339 BeginLambda Reduce 339 AT308 Reduce 339 $eof Reduce 339 Default reduction to rule 339 STATE 1146 --------------------------------------------------------------------- ( 717 807 862 895 925 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1878 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 LBRACKET Reduce 454 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 DOT Reduce 451 AT Reduce 556 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 1147 --------------------------------------------------------------------- ( 717 807 862 895 925 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1879 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 DOT Reduce 453 AT Reduce 556 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 1148 --------------------------------------------------------------------- ( 717 807 862 895 925 ) PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1880 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 LBRACKET Reduce 469 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 DOT Reduce 451 AT Reduce 556 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 1149 --------------------------------------------------------------------- ( 717 807 862 895 925 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1881 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 LBRACKET Reduce 468 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 DOT Reduce 451 AT Reduce 556 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 1150 --------------------------------------------------------------------- ( 717 807 862 895 925 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1882 PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 LBRACKET Reduce 467 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 DOT Reduce 451 AT Reduce 556 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1883 STATE 1151 --------------------------------------------------------------------- ( 717 807 862 895 925 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 LBRACKET Reduce 466 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 DOT Reduce 451 AT Reduce 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1884 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 1152 --------------------------------------------------------------------- ( 717 807 862 895 925 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 LBRACKET Reduce 459 RBRACKET Reduce 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1885 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 DOT Reduce 451 AT Reduce 556 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 1153 --------------------------------------------------------------------- ( 717 807 862 895 925 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1886 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 LBRACKET Reduce 458 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 DOT Reduce 451 AT Reduce 556 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 1154 --------------------------------------------------------------------- ( 717 807 862 895 925 ) PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1887 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 AT Reduce 556 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 1155 --------------------------------------------------------------------- ( 717 807 862 895 925 ) PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 556 final Reduce 556 instanceof Reduce 556 native Reduce 556 private Reduce 556 protected Reduce 556 public Reduce 556 static Reduce 556 strictfp Reduce 556 synchronized Reduce 556 transient Reduce 556 volatile Reduce 556 PLUS_PLUS Reduce 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 556 LESS_EQUAL Reduce 556 GREATER_EQUAL Reduce 556 NOT_EQUAL Reduce 556 LEFT_SHIFT Reduce 556 RIGHT_SHIFT Reduce 556 UNSIGNED_RIGHT_SHIFT Reduce 556 OR_OR Reduce 556 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1888 AND_AND Reduce 556 PLUS Reduce 556 MINUS Reduce 556 REMAINDER Reduce 556 XOR Reduce 556 AND Reduce 556 MULTIPLY Reduce 556 OR Reduce 556 DIVIDE Reduce 556 GREATER Reduce 556 LESS Reduce 556 RPAREN Reduce 556 RBRACE Reduce 556 RBRACKET Reduce 556 SEMICOLON Reduce 556 QUESTION Reduce 556 COLON Reduce 556 COMMA Reduce 556 AT Reduce 556 ElidedSemicolonAndRightBrace Reduce 556 BeginCaseExpr Reduce 556 $eof Reduce 556 Default reduction to rule 556 STATE 1156 --------------------------------------------------------------------- ( 720 734 735 ) Literal ::= IntegerLiteral . (25) Literal ::= LongLiteral . (26) Literal ::= FloatingPointLiteral . (27) Literal ::= DoubleLiteral . (28) Literal ::= CharacterLiteral . (29) Literal ::= StringLiteral . (30) Literal ::= null . (31) Literal ::= BooleanLiteral . (32) BooleanLiteral ::= true . (33) BooleanLiteral ::= false . (34) PrimaryNoNewArray ::= Literal . (454) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native Reduce 606 private Reduce 606 protected Reduce 606 public Reduce 606 static Reduce 606 strictfp Reduce 606 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1889 synchronized Reduce 606 transient Reduce 606 volatile Reduce 606 PLUS_PLUS Reduce 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 LBRACKET Reduce 454 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 DOT Reduce 451 AT Reduce 606 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1157 --------------------------------------------------------------------- ( 720 734 735 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (395) UnaryExpression ::= PreIncrementExpression . (549) UnaryExpression ::= PreDecrementExpression . (550) UnaryExpression ::= UnaryExpressionNotPlusMinus . (553) UnaryExpressionNotPlusMinus ::= CastExpression . (559) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1890 MultiplicativeExpression ::= UnaryExpression . (575) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 AT Reduce 606 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1158 --------------------------------------------------------------------- ( 720 734 735 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1891 PostfixExpression ::= PostDecrementExpression . (545) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 545 MINUS_MINUS Reduce 545 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 AT Reduce 606 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1159 --------------------------------------------------------------------- ( 720 734 735 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1892 PostfixExpression ::= PostIncrementExpression . (544) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 544 MINUS_MINUS Reduce 544 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 AT Reduce 606 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1160 --------------------------------------------------------------------- ( 720 734 735 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1893 PrimaryNoNewArray ::= ReferenceExpression . (469) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 LBRACKET Reduce 469 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 DOT Reduce 451 AT Reduce 606 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1894 STATE 1161 --------------------------------------------------------------------- ( 720 734 735 ) PrimaryNoNewArray ::= LambdaExpression . (468) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 LBRACKET Reduce 468 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 DOT Reduce 451 AT Reduce 606 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1895 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1162 --------------------------------------------------------------------- ( 720 734 735 ) PrimaryNoNewArray ::= ArrayAccess . (467) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 LBRACKET Reduce 467 RBRACKET Reduce 606 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1896 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 DOT Reduce 451 AT Reduce 606 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1163 --------------------------------------------------------------------- ( 720 734 735 ) PrimaryNoNewArray ::= MethodInvocation . (466) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1897 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 LBRACKET Reduce 466 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 DOT Reduce 451 AT Reduce 606 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1164 --------------------------------------------------------------------- ( 720 734 735 ) PrimaryNoNewArray ::= FieldAccess . (459) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1898 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 LBRACKET Reduce 459 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 DOT Reduce 451 AT Reduce 606 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1165 --------------------------------------------------------------------- ( 720 734 735 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (458) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 542 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1899 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 LBRACKET Reduce 458 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 DOT Reduce 451 AT Reduce 606 COLON_COLON Reduce 451 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1166 --------------------------------------------------------------------- ( 720 734 735 ) Primary ::= ArrayCreationWithoutArrayInitializer . (453) abstract Reduce 606 final Reduce 606 instanceof Reduce 591 native 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 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1900 MINUS_MINUS Reduce 542 EQUAL_EQUAL Reduce 593 LESS_EQUAL Reduce 586 GREATER_EQUAL Reduce 586 NOT_EQUAL Reduce 593 LEFT_SHIFT Reduce 582 RIGHT_SHIFT Reduce 582 UNSIGNED_RIGHT_SHIFT Reduce 582 OR_OR Reduce 604 AND_AND Reduce 602 PLUS Reduce 579 MINUS Reduce 579 REMAINDER Reduce 575 XOR Reduce 598 AND Reduce 596 MULTIPLY Reduce 575 OR Reduce 600 DIVIDE Reduce 575 GREATER Reduce 586 LESS Reduce 586 RPAREN Reduce 606 RBRACE Reduce 606 RBRACKET Reduce 606 SEMICOLON Reduce 606 QUESTION Reduce 604 COLON Reduce 606 COMMA Reduce 606 DOT Reduce 453 AT Reduce 606 COLON_COLON Reduce 453 ElidedSemicolonAndRightBrace Reduce 606 BeginCaseExpr Reduce 606 $eof Reduce 606 Default reduction to rule 606 STATE 1167 --------------------------------------------------------------------- ( 726 863 ) ClassType ::= ClassOrInterfaceType . (62) abstract Reduce 269 final Reduce 269 native Reduce 269 private Reduce 269 protected Reduce 269 public Reduce 269 static Reduce 269 strictfp Reduce 269 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1901 synchronized Reduce 269 transient Reduce 269 volatile Reduce 269 LBRACE Reduce 269 SEMICOLON Reduce 269 COMMA Reduce 269 AT Reduce 269 $eof Reduce 269 Default reduction to rule 269 STATE 1168 --------------------------------------------------------------------- ( 850 928 ) StatementExpressionList ::= StatementExpression . (415) RPAREN Reduce 657 COMMA Reduce 415 Default reduction to rule 657 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1902 Length of base Action Table: 16058 Number of entries in base Action Table: 13520 Percentage of increase: 18.7% Storage required for base Tables: 32116 Bytes, 32K Storage required for Rules: 2607 Bytes Number of unique terminal states: 851 Number of Shift actions saved by merging: 3839 Number of Reduce actions saved by merging: 2646 Number of Reduce saved by default: 11018 Length of Terminal Check Table: 7851 Length of Terminal Action Table: 7824 Number of entries in Terminal Action Table: 7226 Percentage of increase: 8.2% Storage required for Terminal Tables: 23499 Bytes, 23K Total storage required for Tables: 55615 Bytes, 55K Actions in Compressed Tables: Number of Shifts: 2079 Number of Shift/Reduces: 406 Number of Gotos: 9905 Number of Goto/Reduces: 2447 Number of Reduces: 3890 Number of Defaults: 572 Error maps storage: Storage required for ACTION_SYMBOLS_BASE map: 2336 Bytes Storage required for ACTION_SYMBOLS_RANGE map: 3464 Bytes Storage required for NACTION_SYMBOLS_BASE map: 2336 Bytes Storage required for NACTION_SYMBOLS_RANGE map: 1414 Bytes Storage required for TERMINAL_INDEX map: 260 Bytes Storage required for NON_TERMINAL_INDEX map: 796 Bytes Storage required for STRING_BUFFER map: 15782 Bytes ***Warning: Base Check vector contains value > 127. 16-bit words used. Escaped symbol $eof is an invalid C variable. Escaped symbol $error is an invalid C variable. IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:57:22 2021 Page 1903 Mapping of new state numbers into original numbers: 870 ==>> 876 904 ==>> 24 910 ==>> 56 913 ==>> 100 914 ==>> 2 915 ==>> 434 916 ==>> 86 917 ==>> 203 918 ==>> 30 919 ==>> 124 923 ==>> 240 942 ==>> 204 943 ==>> 33 944 ==>> 34 959 ==>> 627 961 ==>> 268 962 ==>> 23 992 ==>> 39 993 ==>> 35 994 ==>> 41 996 ==>> 175 997 ==>> 437 998 ==>> 37 1001 ==>> 278 1010 ==>> 197 1021 ==>> 916 1022 ==>> 319 1023 ==>> 38 1024 ==>> 88 1025 ==>> 900 1063 ==>> 31 1070 ==>> 416 1071 ==>> 517 1072 ==>> 740 1074 ==>> 561 1080 ==>> 36 1114 ==>> 63 1116 ==>> 326 1146 ==>> 623 1148 ==>> 82 1149 ==>> 657 1151 ==>> 196 1156 ==>> 746 1167 ==>> 123 1168 ==>> 755 1180 ==>> 7 1218 ==>> 729 1304 ==>> 220 1308 ==>> 634 1311 ==>> 8 1347 ==>> 1 1350 ==>> 455 1360 ==>> 29 1367 ==>> 222 1383 ==>> 821 1384 ==>> 20 1385 ==>> 5 1432 ==>> 210 1434 ==>> 116 1439 ==>> 413 1442 ==>> 873 1493 ==>> 115 1494 ==>> 454 1499 ==>> 387 1501 ==>> 211 1517 ==>> 424 1518 ==>> 84 1521 ==>> 83 1529 ==>> 405 1541 ==>> 21 1542 ==>> 168 1543 ==>> 176 1544 ==>> 49 1546 ==>> 50 1550 ==>> 43 1555 ==>> 16 1598 ==>> 32 1627 ==>> 243 1628 ==>> 216 1644 ==>> 835 1646 ==>> 45 1647 ==>> 48 1675 ==>> 386 1677 ==>> 92 1679 ==>> 834 1688 ==>> 261 1724 ==>> 51 1726 ==>> 212 1731 ==>> 77 1743 ==>> 193 1760 ==>> 129 1761 ==>> 52 1762 ==>> 93 1807 ==>> 22 1811 ==>> 53 1814 ==>> 54 1816 ==>> 180 1820 ==>> 224 1822 ==>> 97 1823 ==>> 165 1836 ==>> 169 1837 ==>> 186 1838 ==>> 102 1839 ==>> 410 1913 ==>> 103 1930 ==>> 145 1958 ==>> 79 1963 ==>> 272 1965 ==>> 241 1967 ==>> 253 1971 ==>> 202 1973 ==>> 825 1974 ==>> 207 1990 ==>> 91 2027 ==>> 880 2029 ==>> 57 2030 ==>> 121 2036 ==>> 130 2046 ==>> 239 2063 ==>> 146 2064 ==>> 223 2109 ==>> 151 2110 ==>> 451 2112 ==>> 152 2114 ==>> 206 2121 ==>> 166 2155 ==>> 236 2156 ==>> 427 2161 ==>> 238 2164 ==>> 505 2167 ==>> 398 2169 ==>> 333 2170 ==>> 385 2176 ==>> 607 2177 ==>> 664 2210 ==>> 58 2212 ==>> 712 2213 ==>> 412 2240 ==>> 61 2242 ==>> 62 2243 ==>> 64 2249 ==>> 65 2252 ==>> 906 2287 ==>> 122 2291 ==>> 66 2292 ==>> 629 2297 ==>> 338 2298 ==>> 67 2299 ==>> 617 2308 ==>> 827 2371 ==>> 337 2374 ==>> 247 2375 ==>> 334 2380 ==>> 254 2383 ==>> 692 2426 ==>> 142 2437 ==>> 179 2449 ==>> 656 2452 ==>> 215 2455 ==>> 423 2464 ==>> 552 2472 ==>> 255 2474 ==>> 291 2502 ==>> 790 2539 ==>> 714 2541 ==>> 436 2545 ==>> 181 2557 ==>> 399 2560 ==>> 68 2569 ==>> 69 2574 ==>> 3 2582 ==>> 526 2583 ==>> 553 2594 ==>> 646 2621 ==>> 849 2658 ==>> 704 2659 ==>> 395 2660 ==>> 509 2661 ==>> 182 2664 ==>> 281 2676 ==>> 530 2677 ==>> 663 2678 ==>> 698 2687 ==>> 737 2693 ==>> 638 2701 ==>> 71 2702 ==>> 567 2710 ==>> 72 2712 ==>> 73 2740 ==>> 912 2778 ==>> 695 2783 ==>> 331 2799 ==>> 460 2806 ==>> 75 2812 ==>> 431 2818 ==>> 877 2819 ==>> 76 2821 ==>> 609 2831 ==>> 765 2859 ==>> 913 2896 ==>> 329 2897 ==>> 797 2899 ==>> 409 2902 ==>> 336 2915 ==>> 78 2917 ==>> 80 2918 ==>> 90 2925 ==>> 560 2926 ==>> 713 2931 ==>> 909 2935 ==>> 321 2936 ==>> 328 2938 ==>> 662 2939 ==>> 632 2940 ==>> 26 2948 ==>> 94 2950 ==>> 922 2978 ==>> 929 3015 ==>> 335 3016 ==>> 498 3018 ==>> 126 3021 ==>> 471 3034 ==>> 563 3035 ==>> 96 3036 ==>> 760 3037 ==>> 99 3045 ==>> 104 3052 ==>> 452 3054 ==>> 651 3059 ==>> 85 3067 ==>> 105 3069 ==>> 106 3070 ==>> 768 3097 ==>> 932 3135 ==>> 699 3140 ==>> 27 3154 ==>> 722 3156 ==>> 107 3166 ==>> 448 3169 ==>> 715 3186 ==>> 388 3218 ==>> 630 3222 ==>> 108 3223 ==>> 109 3225 ==>> 14 3261 ==>> 292 3273 ==>> 439 3274 ==>> 655 3275 ==>> 110 3287 ==>> 469 3288 ==>> 762 3289 ==>> 475 3291 ==>> 257 3341 ==>> 710 3342 ==>> 652 3343 ==>> 766 3348 ==>> 172 3361 ==>> 718 3363 ==>> 700 3383 ==>> 256 3384 ==>> 513 3385 ==>> 521 3386 ==>> 878 3388 ==>> 798 3397 ==>> 111 3401 ==>> 98 3414 ==>> 47 3448 ==>> 799 3449 ==>> 177 3450 ==>> 19 3454 ==>> 800 3459 ==>> 566 3470 ==>> 759 3472 ==>> 824 3479 ==>> 810 3486 ==>> 879 3490 ==>> 112 3491 ==>> 828 3494 ==>> 696 3495 ==>> 163 3503 ==>> 666 3506 ==>> 870 3533 ==>> 74 3571 ==>> 808 3580 ==>> 653 3581 ==>> 915 3582 ==>> 723 3585 ==>> 113 3589 ==>> 114 3594 ==>> 894 3595 ==>> 811 3597 ==>> 861 3598 ==>> 125 3600 ==>> 133 3602 ==>> 134 3605 ==>> 135 3606 ==>> 927 3607 ==>> 139 3608 ==>> 140 3611 ==>> 6 3613 ==>> 141 3614 ==>> 232 3625 ==>> 568 3652 ==>> 263 3689 ==>> 818 3691 ==>> 143 3695 ==>> 930 3696 ==>> 246 3705 ==>> 183 3708 ==>> 144 3710 ==>> 147 3711 ==>> 148 3714 ==>> 149 3717 ==>> 150 3719 ==>> 153 3721 ==>> 154 3724 ==>> 155 3727 ==>> 891 3728 ==>> 156 3729 ==>> 157 3730 ==>> 898 3731 ==>> 158 3732 ==>> 677 3733 ==>> 293 3741 ==>> 711 3771 ==>> 693 3808 ==>> 745 3810 ==>> 159 3814 ==>> 160 3817 ==>> 161 3818 ==>> 162 3819 ==>> 164 3820 ==>> 401 3821 ==>> 167 3822 ==>> 174 3823 ==>> 178 3824 ==>> 187 3827 ==>> 189 3829 ==>> 191 3830 ==>> 192 3832 ==>> 198 3833 ==>> 199 3834 ==>> 201 3836 ==>> 205 3838 ==>> 217 3840 ==>> 218 3843 ==>> 214 3851 ==>> 219 3852 ==>> 778 3856 ==>> 703 3858 ==>> 728 3859 ==>> 920 3862 ==>> 926 3863 ==>> 221 3890 ==>> 845 3933 ==>> 249 3942 ==>> 226 3943 ==>> 228 3945 ==>> 806 3946 ==>> 229 3947 ==>> 230 3948 ==>> 231 3950 ==>> 244 3951 ==>> 245 3953 ==>> 258 3954 ==>> 259 3955 ==>> 262 3956 ==>> 269 3957 ==>> 270 3959 ==>> 277 3962 ==>> 280 3963 ==>> 283 3964 ==>> 284 3965 ==>> 288 3966 ==>> 290 3967 ==>> 322 3968 ==>> 327 3969 ==>> 330 3970 ==>> 389 3971 ==>> 425 3979 ==>> 4 3981 ==>> 392 4009 ==>> 914 4052 ==>> 273 4053 ==>> 396 4054 ==>> 397 4055 ==>> 400 4056 ==>> 402 4057 ==>> 403 4058 ==>> 404 4061 ==>> 406 4064 ==>> 648 4072 ==>> 407 4073 ==>> 417 4074 ==>> 418 4076 ==>> 419 4078 ==>> 420 4081 ==>> 426 4082 ==>> 432 4083 ==>> 433 4085 ==>> 435 4087 ==>> 438 4088 ==>> 440 4089 ==>> 442 4091 ==>> 443 4092 ==>> 444 4093 ==>> 445 4094 ==>> 446 4095 ==>> 449 4096 ==>> 453 4097 ==>> 456 4100 ==>> 457 4101 ==>> 461 4128 ==>> 190 4164 ==>> 462 4165 ==>> 463 4166 ==>> 464 4172 ==>> 466 4174 ==>> 467 4175 ==>> 468 4176 ==>> 470 4177 ==>> 118 4178 ==>> 473 4179 ==>> 474 4180 ==>> 477 4181 ==>> 478 4182 ==>> 479 4183 ==>> 480 4184 ==>> 482 4190 ==>> 483 4191 ==>> 484 4192 ==>> 271 4228 ==>> 485 4229 ==>> 15 4230 ==>> 486 4233 ==>> 487 4241 ==>> 488 4242 ==>> 628 4245 ==>> 489 4246 ==>> 492 4254 ==>> 493 4255 ==>> 208 4266 ==>> 495 4268 ==>> 496 4283 ==>> 497 4284 ==>> 501 4285 ==>> 502 4294 ==>> 503 4297 ==>> 506 4298 ==>> 507 4310 ==>> 508 4311 ==>> 510 4312 ==>> 511 4313 ==>> 512 4314 ==>> 514 4332 ==>> 515 4347 ==>> 516 4348 ==>> 518 4349 ==>> 519 4350 ==>> 749 4352 ==>> 520 4353 ==>> 522 4354 ==>> 523 4356 ==>> 524 4358 ==>> 525 4359 ==>> 528 4360 ==>> 533 4361 ==>> 534 4362 ==>> 535 4363 ==>> 536 4364 ==>> 537 4366 ==>> 538 4367 ==>> 539 4370 ==>> 87 4378 ==>> 540 4381 ==>> 89 4392 ==>> 541 4393 ==>> 542 4395 ==>> 543 4396 ==>> 544 4399 ==>> 545 4400 ==>> 546 4401 ==>> 547 4402 ==>> 548 4403 ==>> 549 4404 ==>> 550 4405 ==>> 551 4406 ==>> 570 4445 ==>> 554 4446 ==>> 555 4447 ==>> 556 4448 ==>> 557 4449 ==>> 558 4450 ==>> 562 4456 ==>> 564 4457 ==>> 571 4459 ==>> 131 4468 ==>> 752 4504 ==>> 572 4505 ==>> 573 4506 ==>> 574 4508 ==>> 575 4509 ==>> 576 4510 ==>> 577 4511 ==>> 578 4512 ==>> 579 4513 ==>> 580 4514 ==>> 581 4522 ==>> 582 4523 ==>> 583 4530 ==>> 584 4531 ==>> 458 4539 ==>> 137 4540 ==>> 585 4541 ==>> 586 4543 ==>> 587 4544 ==>> 588 4546 ==>> 589 4572 ==>> 590 4573 ==>> 591 4574 ==>> 592 4575 ==>> 593 4576 ==>> 594 4577 ==>> 81 4590 ==>> 595 4591 ==>> 276 4592 ==>> 596 4595 ==>> 597 4602 ==>> 598 4606 ==>> 599 4608 ==>> 600 4625 ==>> 601 4626 ==>> 602 4630 ==>> 603 4631 ==>> 604 4632 ==>> 605 4643 ==>> 610 4644 ==>> 611 4645 ==>> 615 4647 ==>> 618 4648 ==>> 619 4649 ==>> 620 4650 ==>> 429 4651 ==>> 621 4652 ==>> 622 4653 ==>> 624 4654 ==>> 631 4657 ==>> 633 4658 ==>> 637 4660 ==>> 639 4661 ==>> 641 4662 ==>> 813 4698 ==>> 289 4713 ==>> 643 4714 ==>> 644 4715 ==>> 660 4718 ==>> 661 4724 ==>> 815 4760 ==>> 667 4761 ==>> 668 4762 ==>> 670 4763 ==>> 672 4764 ==>> 675 4765 ==>> 680 4767 ==>> 635 4780 ==>> 681 4786 ==>> 200 4794 ==>> 645 4795 ==>> 682 4796 ==>> 684 4797 ==>> 686 4798 ==>> 688 4799 ==>> 689 4800 ==>> 690 4820 ==>> 691 4821 ==>> 701 4822 ==>> 702 4823 ==>> 871 4824 ==>> 706 4825 ==>> 527 4826 ==>> 707 4829 ==>> 708 4833 ==>> 459 4846 ==>> 724 4847 ==>> 725 4848 ==>> 727 4857 ==>> 731 4862 ==>> 732 4864 ==>> 733 4879 ==>> 736 4880 ==>> 738 4881 ==>> 739 4882 ==>> 741 4887 ==>> 742 4888 ==>> 743 4899 ==>> 744 4900 ==>> 748 4901 ==>> 751 4903 ==>> 756 4905 ==>> 757 4906 ==>> 758 4907 ==>> 761 4908 ==>> 764 4909 ==>> 767 4910 ==>> 770 4913 ==>> 318 4963 ==>> 772 4964 ==>> 773 4970 ==>> 260 5021 ==>> 774 5022 ==>> 776 5027 ==>> 777 5028 ==>> 779 5029 ==>> 783 5030 ==>> 785 5033 ==>> 786 5034 ==>> 787 5035 ==>> 788 5036 ==>> 789 5037 ==>> 791 5038 ==>> 792 5039 ==>> 793 5040 ==>> 794 5041 ==>> 795 5042 ==>> 801 5044 ==>> 805 5045 ==>> 812 5046 ==>> 814 5048 ==>> 819 5049 ==>> 820 5050 ==>> 829 5053 ==>> 830 5054 ==>> 832 5056 ==>> 833 5057 ==>> 836 5058 ==>> 838 5062 ==>> 275 5113 ==>> 839 5126 ==>> 840 5127 ==>> 841 5128 ==>> 842 5129 ==>> 843 5130 ==>> 844 5131 ==>> 851 5132 ==>> 95 5140 ==>> 569 5149 ==>> 854 5150 ==>> 855 5152 ==>> 856 5154 ==>> 490 5211 ==>> 242 5222 ==>> 863 5233 ==>> 857 5234 ==>> 858 5235 ==>> 866 5236 ==>> 867 5237 ==>> 868 5238 ==>> 869 5239 ==>> 874 5240 ==>> 875 5241 ==>> 881 5242 ==>> 883 5244 ==>> 884 5246 ==>> 730 5255 ==>> 885 5256 ==>> 886 5257 ==>> 887 5258 ==>> 888 5259 ==>> 889 5260 ==>> 890 5264 ==>> 500 5275 ==>> 892 5278 ==>> 491 5328 ==>> 893 5329 ==>> 901 5335 ==>> 902 5340 ==>> 903 5341 ==>> 905 5342 ==>> 907 5343 ==>> 908 5344 ==>> 910 5345 ==>> 917 5346 ==>> 918 5347 ==>> 923 5348 ==>> 924 5349 ==>> 931 5351 ==>> 933 5352 ==>> 934 5353 ==>> 935 5354 ==>> 936 5355 ==>> 937 5357 ==>> 504 5365 ==>> 938 5366 ==>> 939 5368 ==>> 940 5370 ==>> 608 5420 ==>> 941 5421 ==>> 942 5422 ==>> 943 5427 ==>> 944 5428 ==>> 945 5432 ==>> 946 5433 ==>> 947 5434 ==>> 948 5435 ==>> 949 5437 ==>> 950 5438 ==>> 951 5439 ==>> 952 5440 ==>> 953 5441 ==>> 954 5442 ==>> 955 5443 ==>> 956 5444 ==>> 957 5445 ==>> 958 5446 ==>> 959 5447 ==>> 960 5448 ==>> 961 5450 ==>> 529 5458 ==>> 962 5460 ==>> 963 5462 ==>> 613 5513 ==>> 964 5514 ==>> 965 5519 ==>> 966 5520 ==>> 967 5521 ==>> 968 5525 ==>> 969 5526 ==>> 970 5527 ==>> 971 5528 ==>> 972 5529 ==>> 973 5530 ==>> 974 5531 ==>> 975 5532 ==>> 559 5540 ==>> 976 5541 ==>> 977 5543 ==>> 565 5552 ==>> 978 5554 ==>> 669 5611 ==>> 979 5612 ==>> 980 5613 ==>> 981 5614 ==>> 982 5618 ==>> 983 5619 ==>> 984 5620 ==>> 985 5621 ==>> 986 5622 ==>> 987 5623 ==>> 988 5625 ==>> 989 5626 ==>> 990 5627 ==>> 991 5628 ==>> 992 5629 ==>> 993 5630 ==>> 994 5631 ==>> 995 5632 ==>> 996 5633 ==>> 997 5634 ==>> 998 5636 ==>> 999 5637 ==>> 1000 5638 ==>> 1001 5639 ==>> 1002 5640 ==>> 1003 5641 ==>> 1004 5642 ==>> 1005 5644 ==>> 1006 5646 ==>> 671 5696 ==>> 1007 5697 ==>> 1008 5698 ==>> 1009 5703 ==>> 1010 5704 ==>> 1011 5705 ==>> 1012 5706 ==>> 1013 5707 ==>> 1014 5708 ==>> 1015 5709 ==>> 1016 5710 ==>> 1017 5711 ==>> 1018 5712 ==>> 1019 5713 ==>> 1020 5714 ==>> 1021 5715 ==>> 1022 5716 ==>> 616 5724 ==>> 640 5732 ==>> 1023 5733 ==>> 1024 5734 ==>> 1025 5736 ==>> 1026 5738 ==>> 674 5795 ==>> 1027 5799 ==>> 1028 5800 ==>> 1029 5801 ==>> 1030 5802 ==>> 1031 5803 ==>> 1032 5804 ==>> 1033 5805 ==>> 1034 5806 ==>> 1035 5807 ==>> 1036 5809 ==>> 1037 5810 ==>> 1038 5811 ==>> 1039 5812 ==>> 1040 5813 ==>> 1041 5814 ==>> 1042 5815 ==>> 1043 5817 ==>> 796 5825 ==>> 1044 5826 ==>> 1045 5828 ==>> 1046 5830 ==>> 676 5880 ==>> 1047 5881 ==>> 1048 5882 ==>> 1049 5887 ==>> 1050 5888 ==>> 1051 5892 ==>> 1052 5893 ==>> 1053 5894 ==>> 1054 5895 ==>> 1055 5896 ==>> 1056 5897 ==>> 1057 5898 ==>> 1058 5899 ==>> 1059 5900 ==>> 809 5908 ==>> 1060 5910 ==>> 852 5918 ==>> 1061 5920 ==>> 1062 5922 ==>> 679 5979 ==>> 1063 5980 ==>> 1064 5981 ==>> 1065 5985 ==>> 1066 5986 ==>> 1067 5987 ==>> 1068 5988 ==>> 1069 5989 ==>> 1070 5990 ==>> 1071 5991 ==>> 1072 5993 ==>> 1073 5994 ==>> 1074 5995 ==>> 1075 5996 ==>> 1076 5997 ==>> 1077 5998 ==>> 1078 5999 ==>> 1079 6000 ==>> 1080 6001 ==>> 1081 6003 ==>> 194 6012 ==>> 1082 6014 ==>> 683 6064 ==>> 1083 6065 ==>> 1084 6066 ==>> 1085 6071 ==>> 1086 6072 ==>> 1087 6073 ==>> 1088 6074 ==>> 1089 6078 ==>> 1090 6079 ==>> 1091 6080 ==>> 1092 6081 ==>> 1093 6082 ==>> 1094 6083 ==>> 1095 6084 ==>> 195 6092 ==>> 274 6100 ==>> 1096 6101 ==>> 1097 6102 ==>> 1098 6104 ==>> 1099 6106 ==>> 685 6163 ==>> 1100 6167 ==>> 1101 6168 ==>> 1102 6169 ==>> 1103 6170 ==>> 1104 6171 ==>> 1105 6172 ==>> 1106 6173 ==>> 1107 6174 ==>> 1108 6175 ==>> 1109 6176 ==>> 719 6184 ==>> 1110 6185 ==>> 612 6193 ==>> 1111 6194 ==>> 1112 6198 ==>> 705 6255 ==>> 1113 6256 ==>> 1114 6257 ==>> 1115 6258 ==>> 1116 6259 ==>> 1117 6260 ==>> 1118 6261 ==>> 1119 6262 ==>> 1120 6263 ==>> 1121 6264 ==>> 1122 6265 ==>> 1123 6266 ==>> 1124 6267 ==>> 1125 6268 ==>> 1126 6269 ==>> 1127 6270 ==>> 1128 6271 ==>> 1129 6272 ==>> 1130 6273 ==>> 1131 6274 ==>> 1132 6275 ==>> 391 6283 ==>> 1133 6284 ==>> 1134 6285 ==>> 1135 6288 ==>> 1136 6290 ==>> 709 6340 ==>> 1137 6341 ==>> 1138 6347 ==>> 1139 6348 ==>> 393 6356 ==>> 1140 6357 ==>> 1141 6358 ==>> 1142 6360 ==>> 1143 6361 ==>> 1144 6362 ==>> 472 6370 ==>> 1145 6371 ==>> 1146 6372 ==>> 1147 6374 ==>> 1148 6375 ==>> 1149 6376 ==>> 1150 6377 ==>> 1151 6378 ==>> 1152 6380 ==>> 1153 6382 ==>> 721 6433 ==>> 415 6434 ==>> 1154 6439 ==>> 769 6489 ==>> 1155 6490 ==>> 1156 6491 ==>> 1157 6497 ==>> 1158 6498 ==>> 1159 6499 ==>> 1160 6500 ==>> 1161 6501 ==>> 1162 6502 ==>> 1163 6503 ==>> 1164 6504 ==>> 1165 6506 ==>> 1166 6507 ==>> 1167 6508 ==>> 1168 6517 ==>> 625 6531 ==>> 771 6610 ==>> 614 6623 ==>> 775 6715 ==>> 780 6807 ==>> 781 6899 ==>> 782 6991 ==>> 784 7083 ==>> 802 7175 ==>> 803 7267 ==>> 804 7359 ==>> 837 7423 ==>> 831 7424 ==>> 476 7451 ==>> 853 7508 ==>> 882 7600 ==>> 899 7657 ==>> 919 7739 ==>> 9 7804 ==>> 44 7861 ==>> 642 7874 ==>> 55 7921 ==>> 101 7964 ==>> 317 8051 ==>> 294 8076 ==>> 266 8147 ==>> 499 8164 ==>> 531 8165 ==>> 716 8167 ==>> 606 8180 ==>> 430 8254 ==>> 694 8311 ==>> 846 8346 ==>> 865 8347 ==>> 28 8358 ==>> 184 8382 ==>> 248 8437 ==>> 872 8527 ==>> 860 8533 ==>> 763 8542 ==>> 911 8599 ==>> 17 8617 ==>> 303 8685 ==>> 697 8720 ==>> 324 8738 ==>> 120 8752 ==>> 237 8774 ==>> 18 8864 ==>> 320 8997 ==>> 40 9058 ==>> 360 9111 ==>> 42 9168 ==>> 46 9225 ==>> 70 9282 ==>> 227 9339 ==>> 233 9396 ==>> 250 9453 ==>> 251 9510 ==>> 252 9566 ==>> 264 9645 ==>> 265 9702 ==>> 267 9759 ==>> 279 9816 ==>> 287 9873 ==>> 315 9930 ==>> 362 9987 ==>> 383 10044 ==>> 465 10101 ==>> 494 10158 ==>> 532 10225 ==>> 665 10320 ==>> 306 10363 ==>> 673 10420 ==>> 687 10477 ==>> 847 10534 ==>> 848 10591 ==>> 904 10648 ==>> 921 10705 ==>> 720 10760 ==>> 734 10815 ==>> 735 10870 ==>> 316 10920 ==>> 363 10970 ==>> 384 11020 ==>> 364 11069 ==>> 313 11117 ==>> 361 11165 ==>> 365 11213 ==>> 225 11283 ==>> 314 11330 ==>> 358 11377 ==>> 366 11424 ==>> 310 11470 ==>> 359 11525 ==>> 367 11585 ==>> 659 11655 ==>> 311 11700 ==>> 312 11745 ==>> 355 11790 ==>> 356 11835 ==>> 368 11885 ==>> 188 11897 ==>> 369 11938 ==>> 658 12009 ==>> 300 12108 ==>> 307 12159 ==>> 308 12231 ==>> 309 12272 ==>> 348 12313 ==>> 349 12354 ==>> 350 12395 ==>> 351 12436 ==>> 371 12477 ==>> 372 12518 ==>> 373 12559 ==>> 374 12600 ==>> 447 12601 ==>> 60 12620 ==>> 678 12632 ==>> 10 12789 ==>> 323 12816 ==>> 127 12900 ==>> 301 12963 ==>> 302 13003 ==>> 352 13043 ==>> 353 13083 ==>> 354 13123 ==>> 375 13163 ==>> 376 13203 ==>> 377 13243 ==>> 450 13244 ==>> 59 13263 ==>> 726 13275 ==>> 650 13424 ==>> 213 13478 ==>> 717 13518 ==>> 850 13555 ==>> 117 13569 ==>> 928 13604 ==>> 119 13644 ==>> 421 13658 ==>> 747 13825 ==>> 304 13876 ==>> 343 13915 ==>> 344 13954 ==>> 378 13993 ==>> 379 14032 ==>> 654 14033 ==>> 234 14121 ==>> 807 14171 ==>> 325 14258 ==>> 235 14296 ==>> 285 14334 ==>> 286 14372 ==>> 295 14410 ==>> 296 14448 ==>> 297 14486 ==>> 298 14524 ==>> 299 14562 ==>> 339 14600 ==>> 340 14638 ==>> 341 14676 ==>> 342 14714 ==>> 345 14752 ==>> 346 14790 ==>> 347 14828 ==>> 380 14866 ==>> 381 14904 ==>> 382 14942 ==>> 859 14980 ==>> 13 14981 ==>> 862 15021 ==>> 896 15070 ==>> 411 15109 ==>> 25 15209 ==>> 173 15280 ==>> 895 15340 ==>> 441 15342 ==>> 925 15379 ==>> 754 15393 ==>> 647 15482 ==>> 422 15502 ==>> 864 15521 ==>> 481 15568 ==>> 128 15666 ==>> 822 15687 ==>> 753 15703 ==>> 282 15732 ==>> 12 15833 ==>> 414 15882 ==>> 626 15931 ==>> 750 15980 ==>> 817 16020 ==>> 185 16090 ==>> 897 16106 ==>> 132 16122 ==>> 136 16192 ==>> 171 16213 ==>> 823 16226 ==>> 11 16251 ==>> 138 16295 ==>> 332 16382 ==>> 390 16404 ==>> 394 16474 ==>> 408 16490 ==>> 636 16506 ==>> 649 16544 ==>> 209 16572 ==>> 816 16588 ==>> 826 16654 ==>> 305 16670 ==>> 357 16686 ==>> 370 16708 ==>> 170 16752 ==>> 428