IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 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:11:53 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:11:53 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:11:53 2021 Page 4 , ::= COMMA &= ::= AND_EQUAL ! ::= NOT ~ ::= TWIDDLE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 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 non-sealed null package private protected public return short static strictfp super switch synchronized this throw throws transient true try void volatile while module open requires transitive exports opens to uses provides with IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS NOT REMAINDER XOR AND MULTIPLY OR TWIDDLE DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS ARROW COLON_COLON BeginLambda BeginIntersectionCast BeginTypeArguments ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed RestrictedIdentifierpermits BeginCaseElement $eof $error IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 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 ::= MINUS RecordBodyDeclarations 16 Goal ::= REMAINDER Expression 17 Goal ::= REMAINDER ArrayInitializer 18 Goal ::= TWIDDLE BlockStatementsopt 19 Goal ::= LBRACE BlockStatementopt 20 Goal ::= OR_OR MemberValue 21 Goal ::= QUESTION AnnotationTypeMemberDeclaration 22 Goal ::= ARROW ParenthesizedLambdaParameterList 23 Goal ::= LPAREN ParenthesizedCastNameAndBounds 24 Goal ::= LESS ReferenceExpressionTypeArgumentsAndTrunk 25 Goal ::= AT TypeAnnotations 26 Goal ::= ARROW YieldStatement 27 Goal ::= ARROW SwitchLabelCaseLhs 28 Goal ::= RestrictedIdentifiersealed Modifiersopt 29 Goal ::= RestrictedIdentifierpermits PermittedSubclasses 30 Goal ::= BeginCaseElement Pattern 31 Literal -> IntegerLiteral 32 Literal -> LongLiteral 33 Literal -> FloatingPointLiteral 34 Literal -> DoubleLiteral 35 Literal -> CharacterLiteral 36 Literal -> StringLiteral 37 Literal -> TextBlock 38 Literal -> null 39 Literal -> BooleanLiteral 40 BooleanLiteral -> true 41 BooleanLiteral -> false 42 Type ::= PrimitiveType 43 Type -> ReferenceType 44 PrimitiveType ::= TypeAnnotationsopt NumericType 45 NumericType -> IntegralType 46 NumericType -> FloatingPointType 47 PrimitiveType ::= TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 7 48 PrimitiveType ::= TypeAnnotationsopt void 49 IntegralType -> byte 50 IntegralType -> short 51 IntegralType -> int 52 IntegralType -> long 53 IntegralType -> char 54 FloatingPointType -> float 55 FloatingPointType -> double 56 ReferenceType ::= ClassOrInterfaceType 57 ReferenceType -> ArrayType 58 ClassOrInterfaceType -> ClassOrInterface 59 ClassOrInterfaceType -> GenericType 60 ClassOrInterface ::= Name 61 ClassOrInterface ::= GenericType DOT Name 62 GenericType ::= ClassOrInterface TypeArguments 63 GenericType ::= ClassOrInterface LESS GREATER 64 ArrayTypeWithTypeArgumentsName ::= GenericType DOT Name 65 ArrayType ::= PrimitiveType Dims 66 ArrayType ::= Name Dims 67 ArrayType ::= ArrayTypeWithTypeArgumentsName Dims 68 ArrayType ::= GenericType Dims 69 ClassType -> ClassOrInterfaceType 70 Name ::= SimpleName 71 Name ::= TypeAnnotations SimpleName 72 Name -> QualifiedName 73 SimpleName -> Identifier 74 UnannotatableName -> SimpleName 75 UnannotatableName ::= UnannotatableName DOT SimpleName 76 QualifiedName ::= Name DOT SimpleName 77 QualifiedName ::= Name DOT TypeAnnotations SimpleName 78 TypeAnnotationsopt ::= 79 TypeAnnotationsopt -> TypeAnnotations 80 TypeAnnotations ::= TypeAnnotations0 81 TypeAnnotations0 -> TypeAnnotation 82 TypeAnnotations0 ::= TypeAnnotations0 TypeAnnotation 83 TypeAnnotation ::= NormalTypeAnnotation 84 TypeAnnotation ::= MarkerTypeAnnotation 85 TypeAnnotation ::= SingleMemberTypeAnnotation 86 TypeAnnotationName ::= AT308 UnannotatableName 87 NormalTypeAnnotation ::= TypeAnnotationName LPAREN MemberValuePairsopt RPAREN 88 MarkerTypeAnnotation ::= TypeAnnotationName 89 SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN 90 RejectTypeAnnotations ::= 91 PushZeroTypeAnnotations ::= 92 VariableDeclaratorIdOrThis ::= this 93 VariableDeclaratorIdOrThis ::= UnannotatableName DOT this 94 VariableDeclaratorIdOrThis ::= VariableDeclaratorId 95 CompilationUnit ::= EnterCompilationUnit InternalCompilationUnit 96 InternalCompilationUnit ::= PackageDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 8 97 InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports 98 InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports TypeDeclarations 99 InternalCompilationUnit ::= PackageDeclaration TypeDeclarations 100 InternalCompilationUnit ::= ImportDeclarations ReduceImports 101 InternalCompilationUnit ::= TypeDeclarations 102 InternalCompilationUnit ::= ImportDeclarations ReduceImports TypeDeclarations 103 InternalCompilationUnit ::= 104 InternalCompilationUnit ::= ImportDeclarations ReduceImports ModuleDeclaration 105 InternalCompilationUnit ::= ModuleDeclaration 106 ModuleDeclaration ::= ModuleHeader ModuleBody 107 ModuleHeader ::= Modifiersopt ModuleModifieropt module UnannotatableName 108 ModuleModifieropt ::= 109 ModuleModifieropt ::= ModuleModifier 110 ModuleModifier -> open 111 ModuleBody ::= LBRACE ModuleStatementsOpt RBRACE 112 ModuleStatementsOpt ::= 113 ModuleStatementsOpt -> ModuleStatements 114 ModuleStatements ::= ModuleStatement 115 ModuleStatements ::= ModuleStatements ModuleStatement 116 ModuleStatement ::= RequiresStatement 117 ModuleStatement ::= ExportsStatement 118 ModuleStatement ::= OpensStatement 119 ModuleStatement ::= UsesStatement 120 ModuleStatement ::= ProvidesStatement 121 RequiresStatement ::= SingleRequiresModuleName SEMICOLON 122 SingleRequiresModuleName ::= requires RequiresModifiersopt UnannotatableName 123 RequiresModifiersopt ::= RequiresModifiers 124 RequiresModifiersopt ::= 125 RequiresModifiers -> RequiresModifier 126 RequiresModifiers ::= RequiresModifiers RequiresModifier 127 RequiresModifier -> transitive 128 RequiresModifier -> static 129 ExportsStatement ::= ExportsHeader TargetModuleListopt SEMICOLON 130 ExportsHeader ::= exports SinglePkgName 131 TargetModuleListopt ::= 132 TargetModuleListopt ::= to TargetModuleNameList 133 TargetModuleName ::= UnannotatableName 134 TargetModuleNameList -> TargetModuleName 135 TargetModuleNameList ::= TargetModuleNameList COMMA TargetModuleName 136 SinglePkgName ::= UnannotatableName 137 OpensStatement ::= OpensHeader TargetModuleListopt SEMICOLON 138 OpensHeader ::= opens SinglePkgName 139 UsesStatement ::= UsesHeader SEMICOLON 140 UsesHeader ::= uses Name 141 ProvidesStatement ::= ProvidesInterface WithClause SEMICOLON 142 ProvidesInterface ::= provides Name IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 9 143 ServiceImplName ::= Name 144 ServiceImplNameList -> ServiceImplName 145 ServiceImplNameList ::= ServiceImplNameList COMMA ServiceImplName 146 WithClause ::= with ServiceImplNameList 147 ReduceImports ::= 148 EnterCompilationUnit ::= 149 Header -> ImportDeclaration 150 Header -> PackageDeclaration 151 Header -> ClassHeader 152 Header -> InterfaceHeader 153 Header -> EnumHeader 154 Header -> RecordHeaderPart 155 Header -> AnnotationTypeDeclarationHeader 156 Header -> StaticInitializer 157 Header -> RecoveryMethodHeader 158 Header -> FieldDeclaration 159 Header -> AllocationHeader 160 Header -> ArrayCreationHeader 161 Header -> ModuleHeader 162 Header -> RequiresStatement 163 Header -> ExportsStatement 164 Header -> UsesStatement 165 Header -> ProvidesStatement 166 Header -> OpensStatement 167 Header1 -> Header 168 Header1 -> ConstructorHeader 169 Header2 -> Header 170 Header2 -> EnumConstantHeader 171 CatchHeader ::= catch LPAREN CatchFormalParameter RPAREN LBRACE 172 ImportDeclarations -> ImportDeclaration 173 ImportDeclarations ::= ImportDeclarations ImportDeclaration 174 TypeDeclarations -> TypeDeclaration 175 TypeDeclarations ::= TypeDeclarations TypeDeclaration 176 PackageDeclaration ::= PackageDeclarationName SEMICOLON 177 PackageDeclarationName ::= Modifiers package PushRealModifiers Name RejectTypeAnnotations 178 PackageDeclarationName ::= PackageComment package Name RejectTypeAnnotations 179 PackageComment ::= 180 ImportDeclaration -> SingleTypeImportDeclaration 181 ImportDeclaration -> TypeImportOnDemandDeclaration 182 ImportDeclaration -> SingleStaticImportDeclaration 183 ImportDeclaration -> StaticImportOnDemandDeclaration 184 SingleTypeImportDeclaration ::= SingleTypeImportDeclarationName SEMICOLON 185 SingleTypeImportDeclarationName ::= import Name RejectTypeAnnotations 186 TypeImportOnDemandDeclaration ::= TypeImportOnDemandDeclarationName SEMICOLON 187 TypeImportOnDemandDeclarationName ::= import Name DOT RejectTypeAnnotations MULTIPLY 188 TypeDeclaration -> ClassDeclaration 189 TypeDeclaration -> InterfaceDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 10 190 TypeDeclaration ::= SEMICOLON 191 TypeDeclaration -> EnumDeclaration 192 TypeDeclaration -> AnnotationTypeDeclaration 193 TypeDeclaration -> RecordDeclaration 194 Modifiers -> Modifier 195 Modifiers ::= Modifiers Modifier 196 Modifier -> public 197 Modifier -> protected 198 Modifier -> private 199 Modifier -> static 200 Modifier -> abstract 201 Modifier -> final 202 Modifier -> native 203 Modifier -> non-sealed 204 Modifier -> RestrictedIdentifiersealed 205 Modifier -> synchronized 206 Modifier -> transient 207 Modifier -> volatile 208 Modifier -> strictfp 209 Modifier ::= Annotation 210 ClassDeclaration ::= ClassHeader ClassBody 211 ClassHeader ::= ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt 212 ClassHeaderName ::= ClassHeaderName1 TypeParameters 213 ClassHeaderName -> ClassHeaderName1 214 ClassHeaderName1 ::= Modifiersopt class Identifier 215 ClassHeaderExtends ::= extends ClassType 216 ClassHeaderImplements ::= implements InterfaceTypeList 217 InterfaceTypeList -> InterfaceType 218 InterfaceTypeList ::= InterfaceTypeList COMMA InterfaceType 219 InterfaceType ::= ClassOrInterfaceType 220 ClassBody ::= LBRACE ClassBodyDeclarationsopt RBRACE 221 ClassBodyDeclarations ::= ClassBodyDeclaration 222 ClassBodyDeclarations ::= ClassBodyDeclarations ClassBodyDeclaration 223 ClassBodyDeclaration -> ClassMemberDeclaration 224 ClassBodyDeclaration -> StaticInitializer 225 ClassBodyDeclaration -> ConstructorDeclaration 226 ClassBodyDeclaration ::= Diet NestedMethod CreateInitializer Block 227 Diet ::= 228 Initializer ::= Diet NestedMethod CreateInitializer Block 229 CreateInitializer ::= 230 ClassMemberDeclaration -> FieldDeclaration 231 ClassMemberDeclaration -> MethodDeclaration 232 ClassMemberDeclaration -> ClassDeclaration 233 ClassMemberDeclaration -> InterfaceDeclaration 234 ClassMemberDeclaration -> EnumDeclaration 235 ClassMemberDeclaration -> AnnotationTypeDeclaration 236 ClassMemberDeclaration -> RecordDeclaration 237 ClassMemberDeclaration ::= SEMICOLON 238 GenericMethodDeclaration -> MethodDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 11 239 GenericMethodDeclaration -> ConstructorDeclaration 240 FieldDeclaration ::= Modifiersopt Type VariableDeclarators SEMICOLON 241 VariableDeclarators -> VariableDeclarator 242 VariableDeclarators ::= VariableDeclarators COMMA VariableDeclarator 243 VariableDeclarator ::= VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization 244 VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization 245 EnterVariable ::= 246 ExitVariableWithInitialization ::= 247 ExitVariableWithoutInitialization ::= 248 ForceNoDiet ::= 249 RestoreDiet ::= 250 VariableDeclaratorId ::= Identifier Dimsopt 251 VariableInitializer -> Expression 252 VariableInitializer -> ArrayInitializer 253 MethodDeclaration -> AbstractMethodDeclaration 254 MethodDeclaration ::= MethodHeader MethodBody 255 MethodDeclaration ::= DefaultMethodHeader MethodBody 256 AbstractMethodDeclaration ::= MethodHeader SEMICOLON 257 MethodHeader ::= MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt 258 DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt 259 MethodHeaderName ::= Modifiersopt TypeParameters Type Identifier LPAREN 260 MethodHeaderName ::= Modifiersopt Type Identifier LPAREN 261 DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier LPAREN 262 DefaultMethodHeaderName ::= ModifiersWithDefault Type Identifier LPAREN 263 ModifiersWithDefault ::= Modifiersopt default Modifiersopt 264 MethodHeaderRightParen ::= RPAREN 265 MethodHeaderExtendedDims ::= Dimsopt 266 MethodHeaderThrowsClause ::= throws ClassTypeList 267 ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt 268 ConstructorHeaderName ::= Modifiersopt TypeParameters Identifier LPAREN 269 ConstructorHeaderName ::= Modifiersopt Identifier LPAREN 270 FormalParameterList -> FormalParameter 271 FormalParameterList ::= FormalParameterList COMMA FormalParameter 272 FormalParameter ::= Modifiersopt Type VariableDeclaratorIdOrThis 273 FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis 274 FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis 275 CatchFormalParameter ::= Modifiersopt CatchType VariableDeclaratorId 276 CatchType ::= UnionType 277 UnionType ::= Type 278 UnionType ::= UnionType OR Type IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 12 279 ClassTypeList -> ClassTypeElt 280 ClassTypeList ::= ClassTypeList COMMA ClassTypeElt 281 ClassTypeElt ::= ClassType 282 MethodBody ::= NestedMethod LBRACE BlockStatementsopt RBRACE 283 NestedMethod ::= 284 StaticInitializer ::= StaticOnly Block 285 StaticOnly ::= static 286 ConstructorDeclaration ::= ConstructorHeader MethodBody 287 ConstructorDeclaration ::= ConstructorHeader SEMICOLON 288 ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt RPAREN SEMICOLON 289 ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON 290 ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt RPAREN SEMICOLON 291 ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON 292 ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON 293 ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON 294 ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON 295 ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON 296 ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON 297 ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON 298 ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON 299 ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON 300 InterfaceDeclaration ::= InterfaceHeader InterfaceBody 301 InterfaceHeader ::= InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt 302 InterfaceHeaderName ::= InterfaceHeaderName1 TypeParameters 303 InterfaceHeaderName -> InterfaceHeaderName1 304 InterfaceHeaderName1 ::= Modifiersopt interface Identifier 305 InterfaceHeaderExtends ::= extends InterfaceTypeList 306 InterfaceBody ::= LBRACE InterfaceMemberDeclarationsopt RBRACE 307 InterfaceMemberDeclarations -> InterfaceMemberDeclaration 308 InterfaceMemberDeclarations ::= InterfaceMemberDeclarations InterfaceMemberDeclaration 309 InterfaceMemberDeclaration ::= SEMICOLON 310 InterfaceMemberDeclaration -> ConstantDeclaration 311 InterfaceMemberDeclaration ::= DefaultMethodHeader MethodBody 312 InterfaceMemberDeclaration ::= MethodHeader MethodBody 313 InterfaceMemberDeclaration ::= DefaultMethodHeader SEMICOLON 314 InvalidConstructorDeclaration ::= ConstructorHeader MethodBody 315 InvalidConstructorDeclaration ::= ConstructorHeader SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 13 316 InvalidInitializer -> StaticInitializer 317 InvalidInitializer -> Initializer 318 InterfaceMemberDeclaration -> AbstractMethodDeclaration 319 InterfaceMemberDeclaration -> InvalidConstructorDeclaration 320 InterfaceMemberDeclaration -> InvalidInitializer 321 InterfaceMemberDeclaration -> ClassDeclaration 322 InterfaceMemberDeclaration -> InterfaceDeclaration 323 InterfaceMemberDeclaration -> EnumDeclaration 324 InterfaceMemberDeclaration -> AnnotationTypeDeclaration 325 InterfaceMemberDeclaration -> RecordDeclaration 326 RecordDeclaration ::= RecordHeaderPart RecordBody 327 RecordHeaderPart ::= RecordHeaderName RecordHeader ClassHeaderImplementsopt 328 RecordHeaderName ::= RecordHeaderName1 TypeParameters 329 RecordHeaderName -> RecordHeaderName1 330 RecordHeaderName1 ::= Modifiersopt RestrictedIdentifierrecord Identifier 331 RecordComponentHeaderRightParen ::= RPAREN 332 RecordHeader ::= LPAREN RecordComponentsopt RecordComponentHeaderRightParen 333 RecordComponentsopt ::= 334 RecordComponentsopt -> RecordComponents 335 RecordComponents -> RecordComponent 336 RecordComponents ::= RecordComponents COMMA RecordComponent 337 RecordComponent -> VariableArityRecordComponent 338 RecordComponent ::= Modifiersopt Type VariableDeclaratorId 339 VariableArityRecordComponent ::= Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId 340 VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId 341 RecordBody ::= LBRACE RecordBodyDeclarationopt RBRACE 342 RecordBodyDeclarationopt ::= 343 RecordBodyDeclarationopt -> RecordBodyDeclarations 344 RecordBodyDeclarations ::= RecordBodyDeclaration 345 RecordBodyDeclarations ::= RecordBodyDeclarations RecordBodyDeclaration 346 RecordBodyDeclaration ::= ClassBodyDeclaration 347 RecordBodyDeclaration ::= CompactConstructorDeclaration 348 CompactConstructorDeclaration ::= CompactConstructorHeader MethodBody 349 CompactConstructorHeader ::= CompactConstructorHeaderName MethodHeaderThrowsClauseopt 350 CompactConstructorHeaderName ::= Modifiersopt Identifier 351 CompactConstructorHeaderName ::= Modifiersopt TypeParameters Identifier 352 InstanceofExpression -> RelationalExpression 353 InstanceofExpression ::= InstanceofExpression InstanceofRHS 354 InstanceofRHS -> InstanceofClassic 355 InstanceofRHS -> InstanceofPrimaryTypePattern 356 InstanceofRHS -> InstanceofPrimaryParenPattern 357 InstanceofClassic ::= instanceof Modifiersopt Type 358 InstanceofPrimaryTypePattern ::= instanceof Modifiersopt Type Identifier 359 InstanceofPrimaryParenPattern ::= instanceof ParenthesizedPattern IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 14 360 Pattern -> PrimaryPattern 361 Pattern -> GuardedPattern 362 PrimaryPattern -> TypePattern 363 PrimaryPattern -> ParenthesizedPattern 364 ParenthesizedPattern ::= PushLPAREN Pattern PushRPAREN 365 TypePattern ::= Modifiersopt Type Identifier 366 GuardedPattern ::= PrimaryPattern AND_AND ConditionalAndExpression 367 ConstantDeclaration -> FieldDeclaration 368 PushLeftBrace ::= 369 ArrayInitializer ::= LBRACE PushLeftBrace ,opt RBRACE 370 ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers RBRACE 371 ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers COMMA RBRACE 372 VariableInitializers ::= VariableInitializer 373 VariableInitializers ::= VariableInitializers COMMA VariableInitializer 374 Block ::= OpenBlock LBRACE BlockStatementsopt RBRACE 375 OpenBlock ::= 376 BlockStatements ::= BlockStatement 377 BlockStatements ::= BlockStatements BlockStatement 378 BlockStatementopt ::= BlockStatementopt0 379 BlockStatementopt0 ::= 380 BlockStatementopt0 -> BlockStatement 381 BlockStatement -> LocalVariableDeclarationStatement 382 BlockStatement -> Statement 383 BlockStatement -> ClassDeclaration 384 BlockStatement -> RecordDeclaration 385 BlockStatement ::= InterfaceDeclaration 386 BlockStatement ::= AnnotationTypeDeclaration 387 BlockStatement ::= EnumDeclaration 388 LocalVariableDeclarationStatement ::= LocalVariableDeclaration SEMICOLON 389 LocalVariableDeclaration ::= Type PushModifiers VariableDeclarators 390 LocalVariableDeclaration ::= Modifiers Type PushRealModifiers VariableDeclarators 391 PushModifiers ::= 392 PushModifiersForHeader ::= 393 PushRealModifiers ::= 394 Statement -> StatementWithoutTrailingSubstatement 395 Statement -> LabeledStatement 396 Statement -> IfThenStatement 397 Statement -> IfThenElseStatement 398 Statement -> WhileStatement 399 Statement -> ForStatement 400 Statement -> EnhancedForStatement 401 StatementNoShortIf -> StatementWithoutTrailingSubstatement 402 StatementNoShortIf -> LabeledStatementNoShortIf 403 StatementNoShortIf -> IfThenElseStatementNoShortIf 404 StatementNoShortIf -> WhileStatementNoShortIf 405 StatementNoShortIf -> ForStatementNoShortIf 406 StatementNoShortIf -> EnhancedForStatementNoShortIf 407 StatementWithoutTrailingSubstatement -> AssertStatement 408 StatementWithoutTrailingSubstatement -> Block IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 15 409 StatementWithoutTrailingSubstatement -> EmptyStatement 410 StatementWithoutTrailingSubstatement -> ExpressionStatement 411 StatementWithoutTrailingSubstatement -> SwitchStatement 412 StatementWithoutTrailingSubstatement -> DoStatement 413 StatementWithoutTrailingSubstatement -> BreakStatement 414 StatementWithoutTrailingSubstatement -> ContinueStatement 415 StatementWithoutTrailingSubstatement -> ReturnStatement 416 StatementWithoutTrailingSubstatement -> SynchronizedStatement 417 StatementWithoutTrailingSubstatement -> ThrowStatement 418 StatementWithoutTrailingSubstatement -> TryStatement 419 StatementWithoutTrailingSubstatement -> TryStatementWithResources 420 StatementWithoutTrailingSubstatement -> YieldStatement 421 EmptyStatement ::= SEMICOLON 422 LabeledStatement ::= Label COLON Statement 423 LabeledStatementNoShortIf ::= Label COLON StatementNoShortIf 424 Label ::= Identifier 425 ExpressionStatement ::= StatementExpression SEMICOLON 426 ExpressionStatement ::= ExplicitConstructorInvocation 427 StatementExpression ::= Assignment 428 StatementExpression ::= PreIncrementExpression 429 StatementExpression ::= PreDecrementExpression 430 StatementExpression ::= PostIncrementExpression 431 StatementExpression ::= PostDecrementExpression 432 StatementExpression ::= MethodInvocation 433 StatementExpression ::= ClassInstanceCreationExpression 434 IfThenStatement ::= if LPAREN Expression RPAREN Statement 435 IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf else Statement 436 IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf 437 SwitchStatement ::= switch LPAREN Expression RPAREN OpenBlock SwitchBlock 438 SwitchBlock ::= LBRACE RBRACE 439 SwitchBlock ::= LBRACE SwitchBlockStatements RBRACE 440 SwitchBlock ::= LBRACE SwitchLabels RBRACE 441 SwitchBlock ::= LBRACE SwitchBlockStatements SwitchLabels RBRACE 442 SwitchBlockStatements -> SwitchBlockStatement 443 SwitchBlockStatements ::= SwitchBlockStatements SwitchBlockStatement 444 SwitchBlockStatement -> SwitchLabeledRule 445 SwitchBlockStatement ::= SwitchLabels BlockStatements 446 SwitchLabels -> SwitchLabel 447 SwitchLabels ::= SwitchLabels SwitchLabel 448 SwitchLabel ::= SwitchLabelCaseLhs COLON 449 SwitchLabel ::= default COLON 450 UnaryExpressionNotPlusMinus -> SwitchExpression 451 UnaryExpressionNotPlusMinus_NotName -> SwitchExpression 452 SwitchExpression ::= switch LPAREN Expression RPAREN OpenBlock SwitchBlock 453 SwitchLabeledRule ::= SwitchLabeledExpression 454 SwitchLabeledRule ::= SwitchLabeledBlock 455 SwitchLabeledRule ::= SwitchLabeledThrowStatement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 16 456 SwitchLabeledExpression ::= SwitchLabelExpr Expression SEMICOLON 457 SwitchLabeledBlock ::= SwitchLabelExpr Block 458 SwitchLabeledThrowStatement ::= SwitchLabelExpr ThrowExpression SEMICOLON 459 SwitchLabelExpr ::= default ARROW 460 SwitchLabelExpr ::= SwitchLabelCaseLhs BeginCaseExpr ARROW 461 SwitchLabelCaseLhs ::= case CaseLabelElements 462 CaseLabelElements -> CaseLabelElement 463 CaseLabelElements ::= CaseLabelElements COMMA CaseLabelElement 464 CaseLabelElement ::= ConstantExpression 465 CaseLabelElement ::= default 466 CaseLabelElement ::= BeginCaseElement Pattern 467 YieldStatement ::= RestrictedIdentifierYield Expression SEMICOLON 468 WhileStatement ::= while LPAREN Expression RPAREN Statement 469 WhileStatementNoShortIf ::= while LPAREN Expression RPAREN StatementNoShortIf 470 DoStatement ::= do Statement while LPAREN Expression RPAREN SEMICOLON 471 ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement 472 ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf 473 ForInit ::= StatementExpressionList 474 ForInit -> LocalVariableDeclaration 475 ForUpdate -> StatementExpressionList 476 StatementExpressionList -> StatementExpression 477 StatementExpressionList ::= StatementExpressionList COMMA StatementExpression 478 AssertStatement ::= assert Expression SEMICOLON 479 AssertStatement ::= assert Expression COLON Expression SEMICOLON 480 BreakStatement ::= break SEMICOLON 481 BreakStatement ::= break Identifier SEMICOLON 482 ContinueStatement ::= continue SEMICOLON 483 ContinueStatement ::= continue Identifier SEMICOLON 484 ReturnStatement ::= return Expressionopt SEMICOLON 485 ThrowStatement ::= throw Expression SEMICOLON 486 ThrowExpression ::= throw Expression 487 SynchronizedStatement ::= OnlySynchronized LPAREN Expression RPAREN Block 488 OnlySynchronized ::= synchronized 489 TryStatement ::= try TryBlock Catches 490 TryStatement ::= try TryBlock Catchesopt Finally 491 TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt 492 TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt Finally 493 ResourceSpecification ::= LPAREN Resources ;opt RPAREN 494 ;opt ::= 495 ;opt ::= SEMICOLON 496 Resources ::= Resource 497 Resources ::= Resources TrailingSemiColon Resource 498 TrailingSemiColon ::= SEMICOLON 499 Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 17 ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization 500 Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization 501 Resource ::= Name 502 Resource ::= FieldAccess 503 TryBlock ::= Block ExitTryBlock 504 ExitTryBlock ::= 505 Catches -> CatchClause 506 Catches ::= Catches CatchClause 507 CatchClause ::= catch LPAREN CatchFormalParameter RPAREN Block 508 Finally ::= finally Block 509 PushLPAREN ::= LPAREN 510 PushRPAREN ::= RPAREN 511 Primary -> PrimaryNoNewArray 512 Primary -> ArrayCreationWithArrayInitializer 513 Primary -> ArrayCreationWithoutArrayInitializer 514 PrimaryNoNewArray -> Literal 515 PrimaryNoNewArray ::= this 516 PrimaryNoNewArray ::= PushLPAREN Expression_NotName PushRPAREN 517 PrimaryNoNewArray ::= PushLPAREN Name PushRPAREN 518 PrimaryNoNewArray -> ClassInstanceCreationExpression 519 PrimaryNoNewArray -> FieldAccess 520 PrimaryNoNewArray ::= Name DOT this 521 QualifiedSuperReceiver ::= Name DOT super 522 PrimaryNoNewArray ::= Name DOT class 523 PrimaryNoNewArray ::= Name Dims DOT class 524 PrimaryNoNewArray ::= PrimitiveType Dims DOT class 525 PrimaryNoNewArray ::= PrimitiveType DOT class 526 PrimaryNoNewArray -> MethodInvocation 527 PrimaryNoNewArray -> ArrayAccess 528 PrimaryNoNewArray -> LambdaExpression 529 PrimaryNoNewArray -> ReferenceExpression 530 ReferenceExpressionTypeArgumentsAndTrunk ::= ReferenceExpressionTypeArgumentsAndTrunk0 531 ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments Dimsopt 532 ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments DOT ClassOrInterfaceType Dimsopt 533 ReferenceExpression ::= PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew 534 ReferenceExpression ::= Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew 535 ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew 536 ReferenceExpression ::= Primary COLON_COLON NonWildTypeArgumentsopt Identifier 537 ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 18 NonWildTypeArgumentsopt Identifier 538 ReferenceExpression ::= super COLON_COLON NonWildTypeArgumentsopt Identifier 539 NonWildTypeArgumentsopt ::= 540 NonWildTypeArgumentsopt -> OnlyTypeArguments 541 IdentifierOrNew ::= Identifier 542 IdentifierOrNew ::= new 543 LambdaExpression ::= LambdaParameters ARROW LambdaBody 544 NestedLambda ::= 545 LambdaParameters ::= Identifier NestedLambda 546 LambdaParameters ::= BeginLambda NestedLambda LambdaParameterList 547 ParenthesizedLambdaParameterList ::= LambdaParameterList 548 LambdaParameterList ::= PushLPAREN FormalParameterListopt PushRPAREN 549 LambdaParameterList ::= PushLPAREN TypeElidedFormalParameterList PushRPAREN 550 TypeElidedFormalParameterList -> TypeElidedFormalParameter 551 TypeElidedFormalParameterList ::= TypeElidedFormalParameterList COMMA TypeElidedFormalParameter 552 TypeElidedFormalParameter ::= Modifiersopt Identifier 553 LambdaBody ::= ElidedLeftBraceAndReturn Expression ElidedSemicolonAndRightBrace 554 LambdaBody -> Block 555 ElidedLeftBraceAndReturn ::= 556 AllocationHeader ::= new ClassType LPAREN ArgumentListopt RPAREN 557 ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt 558 ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt 559 ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 560 ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 561 ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt 562 ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 19 563 EnterInstanceCreationArgumentList ::= 564 ClassInstanceCreationExpressionName ::= Name DOT new 565 UnqualifiedClassBodyopt ::= 566 UnqualifiedClassBodyopt ::= UnqualifiedEnterAnonymousClassBody ClassBody 567 UnqualifiedEnterAnonymousClassBody ::= 568 QualifiedClassBodyopt ::= 569 QualifiedClassBodyopt ::= QualifiedEnterAnonymousClassBody ClassBody 570 QualifiedEnterAnonymousClassBody ::= 571 ArgumentList ::= Expression 572 ArgumentList ::= ArgumentList COMMA Expression 573 ArrayCreationHeader ::= new PrimitiveType DimWithOrWithOutExprs 574 ArrayCreationHeader ::= new ClassOrInterfaceType DimWithOrWithOutExprs 575 ArrayCreationWithoutArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs 576 ArrayCreationWithArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs ArrayInitializer 577 ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs 578 ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer 579 DimWithOrWithOutExprs ::= DimWithOrWithOutExpr 580 DimWithOrWithOutExprs ::= DimWithOrWithOutExprs DimWithOrWithOutExpr 581 DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET Expression RBRACKET 582 DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET RBRACKET 583 Dims ::= DimsLoop 584 DimsLoop -> OneDimLoop 585 DimsLoop ::= DimsLoop OneDimLoop 586 OneDimLoop ::= LBRACKET RBRACKET 587 OneDimLoop ::= TypeAnnotations LBRACKET RBRACKET 588 FieldAccess ::= Primary DOT Identifier 589 FieldAccess ::= super DOT Identifier 590 FieldAccess ::= QualifiedSuperReceiver DOT Identifier 591 MethodInvocation ::= Name LPAREN ArgumentListopt RPAREN 592 MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 593 MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 594 MethodInvocation ::= Primary DOT Identifier LPAREN ArgumentListopt RPAREN 595 MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN 596 MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 597 MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN 598 MethodInvocation ::= super DOT Identifier LPAREN ArgumentListopt RPAREN 599 ArrayAccess ::= Name LBRACKET Expression RBRACKET 600 ArrayAccess ::= PrimaryNoNewArray LBRACKET Expression RBRACKET 601 ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 20 602 PostfixExpression -> Primary 603 PostfixExpression ::= Name 604 PostfixExpression -> PostIncrementExpression 605 PostfixExpression -> PostDecrementExpression 606 PostIncrementExpression ::= PostfixExpression PLUS_PLUS 607 PostDecrementExpression ::= PostfixExpression MINUS_MINUS 608 PushPosition ::= 609 UnaryExpression -> PreIncrementExpression 610 UnaryExpression -> PreDecrementExpression 611 UnaryExpression ::= PLUS PushPosition UnaryExpression 612 UnaryExpression ::= MINUS PushPosition UnaryExpression 613 UnaryExpression -> UnaryExpressionNotPlusMinus 614 PreIncrementExpression ::= PLUS_PLUS PushPosition UnaryExpression 615 PreDecrementExpression ::= MINUS_MINUS PushPosition UnaryExpression 616 UnaryExpressionNotPlusMinus -> PostfixExpression 617 UnaryExpressionNotPlusMinus ::= TWIDDLE PushPosition UnaryExpression 618 UnaryExpressionNotPlusMinus ::= NOT PushPosition UnaryExpression 619 UnaryExpressionNotPlusMinus -> CastExpression 620 CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression 621 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus 622 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus 623 CastExpression ::= PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus 624 CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus 625 CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus 626 AdditionalBoundsListOpt ::= 627 AdditionalBoundsListOpt -> AdditionalBoundList 628 ParenthesizedCastNameAndBounds ::= LPAREN CastNameAndBounds RPAREN 629 CastNameAndBounds ::= Name AdditionalBoundList 630 OnlyTypeArgumentsForCastExpression ::= OnlyTypeArguments 631 InsideCastExpression ::= 632 InsideCastExpressionLL1 ::= 633 InsideCastExpressionLL1WithBounds ::= 634 InsideCastExpressionWithQualifiedGenerics ::= 635 MultiplicativeExpression -> UnaryExpression 636 MultiplicativeExpression ::= MultiplicativeExpression MULTIPLY UnaryExpression 637 MultiplicativeExpression ::= MultiplicativeExpression DIVIDE UnaryExpression 638 MultiplicativeExpression ::= MultiplicativeExpression REMAINDER IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 21 UnaryExpression 639 AdditiveExpression -> MultiplicativeExpression 640 AdditiveExpression ::= AdditiveExpression PLUS MultiplicativeExpression 641 AdditiveExpression ::= AdditiveExpression MINUS MultiplicativeExpression 642 ShiftExpression -> AdditiveExpression 643 ShiftExpression ::= ShiftExpression LEFT_SHIFT AdditiveExpression 644 ShiftExpression ::= ShiftExpression RIGHT_SHIFT AdditiveExpression 645 ShiftExpression ::= ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression 646 RelationalExpression -> ShiftExpression 647 RelationalExpression ::= RelationalExpression LESS ShiftExpression 648 RelationalExpression ::= RelationalExpression GREATER ShiftExpression 649 RelationalExpression ::= RelationalExpression LESS_EQUAL ShiftExpression 650 RelationalExpression ::= RelationalExpression GREATER_EQUAL ShiftExpression 651 EqualityExpression -> InstanceofExpression 652 EqualityExpression ::= EqualityExpression EQUAL_EQUAL InstanceofExpression 653 EqualityExpression ::= EqualityExpression NOT_EQUAL InstanceofExpression 654 AndExpression -> EqualityExpression 655 AndExpression ::= AndExpression AND EqualityExpression 656 ExclusiveOrExpression -> AndExpression 657 ExclusiveOrExpression ::= ExclusiveOrExpression XOR AndExpression 658 InclusiveOrExpression -> ExclusiveOrExpression 659 InclusiveOrExpression ::= InclusiveOrExpression OR ExclusiveOrExpression 660 ConditionalAndExpression -> InclusiveOrExpression 661 ConditionalAndExpression ::= ConditionalAndExpression AND_AND InclusiveOrExpression 662 ConditionalOrExpression -> ConditionalAndExpression 663 ConditionalOrExpression ::= ConditionalOrExpression OR_OR ConditionalAndExpression 664 ConditionalExpression -> ConditionalOrExpression 665 ConditionalExpression ::= ConditionalOrExpression QUESTION Expression COLON ConditionalExpression 666 AssignmentExpression -> ConditionalExpression 667 AssignmentExpression -> Assignment 668 Assignment ::= PostfixExpression AssignmentOperator AssignmentExpression 669 InvalidArrayInitializerAssignement ::= PostfixExpression AssignmentOperator ArrayInitializer 670 Assignment ::= InvalidArrayInitializerAssignement 671 AssignmentOperator ::= EQUAL 672 AssignmentOperator ::= MULTIPLY_EQUAL 673 AssignmentOperator ::= DIVIDE_EQUAL 674 AssignmentOperator ::= REMAINDER_EQUAL 675 AssignmentOperator ::= PLUS_EQUAL 676 AssignmentOperator ::= MINUS_EQUAL 677 AssignmentOperator ::= LEFT_SHIFT_EQUAL 678 AssignmentOperator ::= RIGHT_SHIFT_EQUAL 679 AssignmentOperator ::= UNSIGNED_RIGHT_SHIFT_EQUAL 680 AssignmentOperator ::= AND_EQUAL 681 AssignmentOperator ::= XOR_EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 22 682 AssignmentOperator ::= OR_EQUAL 683 Expression ::= AssignmentExpression 684 ClassHeaderExtendsopt ::= 685 ClassHeaderExtendsopt -> ClassHeaderExtends 686 Expressionopt ::= 687 Expressionopt -> Expression 688 ConstantExpression -> Expression 689 ,opt ::= 690 ,opt -> COMMA 691 ClassBodyDeclarationsopt ::= 692 ClassBodyDeclarationsopt ::= NestedType ClassBodyDeclarations 693 Modifiersopt ::= 694 Modifiersopt ::= Modifiers 695 BlockStatementsopt ::= 696 BlockStatementsopt -> BlockStatements 697 Dimsopt ::= 698 Dimsopt -> Dims 699 ArgumentListopt ::= 700 ArgumentListopt -> ArgumentList 701 MethodHeaderThrowsClauseopt ::= 702 MethodHeaderThrowsClauseopt -> MethodHeaderThrowsClause 703 FormalParameterListopt ::= 704 FormalParameterListopt -> FormalParameterList 705 ClassHeaderImplementsopt ::= 706 ClassHeaderImplementsopt -> ClassHeaderImplements 707 ClassHeaderPermittedSubclassesopt ::= 708 ClassHeaderPermittedSubclassesopt -> ClassHeaderPermittedSubclasses 709 PermittedSubclasses ::= ClassTypeList 710 ClassHeaderPermittedSubclasses ::= RestrictedIdentifierpermits ClassTypeList 711 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ::= 712 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt -> InterfaceHeaderPermittedSubClassesAndSubInterfaces 713 InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= RestrictedIdentifierpermits ClassTypeList 714 InterfaceMemberDeclarationsopt ::= 715 InterfaceMemberDeclarationsopt ::= NestedType InterfaceMemberDeclarations 716 NestedType ::= 717 ForInitopt ::= 718 ForInitopt -> ForInit 719 ForUpdateopt ::= 720 ForUpdateopt -> ForUpdate 721 InterfaceHeaderExtendsopt ::= 722 InterfaceHeaderExtendsopt -> InterfaceHeaderExtends 723 Catchesopt ::= 724 Catchesopt -> Catches 725 EnumDeclaration ::= EnumHeader EnumBody 726 EnumHeader ::= EnumHeaderName ClassHeaderImplementsopt 727 EnumHeaderName ::= Modifiersopt enum Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 23 728 EnumHeaderName ::= Modifiersopt enum Identifier TypeParameters 729 EnumBody ::= LBRACE EnumBodyDeclarationsopt RBRACE 730 EnumBody ::= LBRACE COMMA EnumBodyDeclarationsopt RBRACE 731 EnumBody ::= LBRACE EnumConstants COMMA EnumBodyDeclarationsopt RBRACE 732 EnumBody ::= LBRACE EnumConstants EnumBodyDeclarationsopt RBRACE 733 EnumConstants -> EnumConstant 734 EnumConstants ::= EnumConstants COMMA EnumConstant 735 EnumConstantHeaderName ::= Modifiersopt Identifier 736 EnumConstantHeader ::= EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet 737 EnumConstant ::= EnumConstantHeader ForceNoDiet ClassBody RestoreDiet 738 EnumConstant ::= EnumConstantHeader 739 Arguments ::= LPAREN ArgumentListopt RPAREN 740 Argumentsopt ::= 741 Argumentsopt -> Arguments 742 EnumDeclarations ::= SEMICOLON ClassBodyDeclarationsopt 743 EnumBodyDeclarationsopt ::= 744 EnumBodyDeclarationsopt -> EnumDeclarations 745 EnhancedForStatement ::= EnhancedForStatementHeader Statement 746 EnhancedForStatementNoShortIf ::= EnhancedForStatementHeader StatementNoShortIf 747 EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers Identifier Dimsopt 748 EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt 749 EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON Expression RPAREN 750 SingleStaticImportDeclaration ::= SingleStaticImportDeclarationName SEMICOLON 751 SingleStaticImportDeclarationName ::= import static Name RejectTypeAnnotations 752 StaticImportOnDemandDeclaration ::= StaticImportOnDemandDeclarationName SEMICOLON 753 StaticImportOnDemandDeclarationName ::= import static Name DOT RejectTypeAnnotations MULTIPLY 754 TypeArguments ::= LESS TypeArgumentList1 755 OnlyTypeArguments ::= LESS TypeArgumentList1 756 TypeArgumentList1 -> TypeArgument1 757 TypeArgumentList1 ::= TypeArgumentList COMMA TypeArgument1 758 TypeArgumentList -> TypeArgument 759 TypeArgumentList ::= TypeArgumentList COMMA TypeArgument 760 TypeArgument ::= ReferenceType 761 TypeArgument -> Wildcard 762 TypeArgument1 -> ReferenceType1 763 TypeArgument1 -> Wildcard1 764 ReferenceType1 ::= ReferenceType GREATER 765 ReferenceType1 ::= ClassOrInterface LESS TypeArgumentList2 766 TypeArgumentList2 -> TypeArgument2 767 TypeArgumentList2 ::= TypeArgumentList COMMA TypeArgument2 768 TypeArgument2 -> ReferenceType2 769 TypeArgument2 -> Wildcard2 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 24 770 ReferenceType2 ::= ReferenceType RIGHT_SHIFT 771 ReferenceType2 ::= ClassOrInterface LESS TypeArgumentList3 772 TypeArgumentList3 -> TypeArgument3 773 TypeArgumentList3 ::= TypeArgumentList COMMA TypeArgument3 774 TypeArgument3 -> ReferenceType3 775 TypeArgument3 -> Wildcard3 776 ReferenceType3 ::= ReferenceType UNSIGNED_RIGHT_SHIFT 777 Wildcard ::= TypeAnnotationsopt QUESTION 778 Wildcard ::= TypeAnnotationsopt QUESTION WildcardBounds 779 WildcardBounds ::= extends ReferenceType 780 WildcardBounds ::= super ReferenceType 781 Wildcard1 ::= TypeAnnotationsopt QUESTION GREATER 782 Wildcard1 ::= TypeAnnotationsopt QUESTION WildcardBounds1 783 WildcardBounds1 ::= extends ReferenceType1 784 WildcardBounds1 ::= super ReferenceType1 785 Wildcard2 ::= TypeAnnotationsopt QUESTION RIGHT_SHIFT 786 Wildcard2 ::= TypeAnnotationsopt QUESTION WildcardBounds2 787 WildcardBounds2 ::= extends ReferenceType2 788 WildcardBounds2 ::= super ReferenceType2 789 Wildcard3 ::= TypeAnnotationsopt QUESTION UNSIGNED_RIGHT_SHIFT 790 Wildcard3 ::= TypeAnnotationsopt QUESTION WildcardBounds3 791 WildcardBounds3 ::= extends ReferenceType3 792 WildcardBounds3 ::= super ReferenceType3 793 TypeParameterHeader ::= TypeAnnotationsopt Identifier 794 TypeParameters ::= LESS TypeParameterList1 795 TypeParameterList -> TypeParameter 796 TypeParameterList ::= TypeParameterList COMMA TypeParameter 797 TypeParameter -> TypeParameterHeader 798 TypeParameter ::= TypeParameterHeader extends ReferenceType 799 TypeParameter ::= TypeParameterHeader extends ReferenceType AdditionalBoundList 800 AdditionalBoundList -> AdditionalBound 801 AdditionalBoundList ::= AdditionalBoundList AdditionalBound 802 AdditionalBound ::= AND ReferenceType 803 TypeParameterList1 -> TypeParameter1 804 TypeParameterList1 ::= TypeParameterList COMMA TypeParameter1 805 TypeParameter1 ::= TypeParameterHeader GREATER 806 TypeParameter1 ::= TypeParameterHeader extends ReferenceType1 807 TypeParameter1 ::= TypeParameterHeader extends ReferenceType AdditionalBoundList1 808 AdditionalBoundList1 -> AdditionalBound1 809 AdditionalBoundList1 ::= AdditionalBoundList AdditionalBound1 810 AdditionalBound1 ::= AND ReferenceType1 811 PostfixExpression_NotName -> Primary 812 PostfixExpression_NotName -> PostIncrementExpression 813 PostfixExpression_NotName -> PostDecrementExpression 814 UnaryExpression_NotName -> PreIncrementExpression 815 UnaryExpression_NotName -> PreDecrementExpression 816 UnaryExpression_NotName ::= PLUS PushPosition UnaryExpression 817 UnaryExpression_NotName ::= MINUS PushPosition UnaryExpression 818 UnaryExpression_NotName -> UnaryExpressionNotPlusMinus_NotName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 25 819 UnaryExpressionNotPlusMinus_NotName -> PostfixExpression_NotName 820 UnaryExpressionNotPlusMinus_NotName ::= TWIDDLE PushPosition UnaryExpression 821 UnaryExpressionNotPlusMinus_NotName ::= NOT PushPosition UnaryExpression 822 UnaryExpressionNotPlusMinus_NotName -> CastExpression 823 MultiplicativeExpression_NotName -> UnaryExpression_NotName 824 MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName MULTIPLY UnaryExpression 825 MultiplicativeExpression_NotName ::= Name MULTIPLY UnaryExpression 826 MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName DIVIDE UnaryExpression 827 MultiplicativeExpression_NotName ::= Name DIVIDE UnaryExpression 828 MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName REMAINDER UnaryExpression 829 MultiplicativeExpression_NotName ::= Name REMAINDER UnaryExpression 830 AdditiveExpression_NotName -> MultiplicativeExpression_NotName 831 AdditiveExpression_NotName ::= AdditiveExpression_NotName PLUS MultiplicativeExpression 832 AdditiveExpression_NotName ::= Name PLUS MultiplicativeExpression 833 AdditiveExpression_NotName ::= AdditiveExpression_NotName MINUS MultiplicativeExpression 834 AdditiveExpression_NotName ::= Name MINUS MultiplicativeExpression 835 ShiftExpression_NotName -> AdditiveExpression_NotName 836 ShiftExpression_NotName ::= ShiftExpression_NotName LEFT_SHIFT AdditiveExpression 837 ShiftExpression_NotName ::= Name LEFT_SHIFT AdditiveExpression 838 ShiftExpression_NotName ::= ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression 839 ShiftExpression_NotName ::= Name RIGHT_SHIFT AdditiveExpression 840 ShiftExpression_NotName ::= ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression 841 ShiftExpression_NotName ::= Name UNSIGNED_RIGHT_SHIFT AdditiveExpression 842 RelationalExpression_NotName -> ShiftExpression_NotName 843 RelationalExpression_NotName ::= ShiftExpression_NotName LESS ShiftExpression 844 RelationalExpression_NotName ::= Name LESS ShiftExpression 845 RelationalExpression_NotName ::= ShiftExpression_NotName GREATER ShiftExpression 846 RelationalExpression_NotName ::= Name GREATER ShiftExpression 847 RelationalExpression_NotName ::= RelationalExpression_NotName LESS_EQUAL ShiftExpression 848 RelationalExpression_NotName ::= Name LESS_EQUAL ShiftExpression 849 RelationalExpression_NotName ::= RelationalExpression_NotName GREATER_EQUAL ShiftExpression 850 RelationalExpression_NotName ::= Name GREATER_EQUAL ShiftExpression 851 InstanceofExpression_NotName -> RelationalExpression_NotName 852 InstanceofExpression_NotName ::= Name InstanceofRHS 853 InstanceofExpression_NotName ::= InstanceofExpression_NotName InstanceofRHS 854 EqualityExpression_NotName -> InstanceofExpression_NotName 855 EqualityExpression_NotName ::= EqualityExpression_NotName EQUAL_EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 26 InstanceofExpression 856 EqualityExpression_NotName ::= Name EQUAL_EQUAL InstanceofExpression 857 EqualityExpression_NotName ::= EqualityExpression_NotName NOT_EQUAL InstanceofExpression 858 EqualityExpression_NotName ::= Name NOT_EQUAL InstanceofExpression 859 AndExpression_NotName -> EqualityExpression_NotName 860 AndExpression_NotName ::= AndExpression_NotName AND EqualityExpression 861 AndExpression_NotName ::= Name AND EqualityExpression 862 ExclusiveOrExpression_NotName -> AndExpression_NotName 863 ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName XOR AndExpression 864 ExclusiveOrExpression_NotName ::= Name XOR AndExpression 865 InclusiveOrExpression_NotName -> ExclusiveOrExpression_NotName 866 InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName OR ExclusiveOrExpression 867 InclusiveOrExpression_NotName ::= Name OR ExclusiveOrExpression 868 ConditionalAndExpression_NotName -> InclusiveOrExpression_NotName 869 ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName AND_AND InclusiveOrExpression 870 ConditionalAndExpression_NotName ::= Name AND_AND InclusiveOrExpression 871 ConditionalOrExpression_NotName -> ConditionalAndExpression_NotName 872 ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName OR_OR ConditionalAndExpression 873 ConditionalOrExpression_NotName ::= Name OR_OR ConditionalAndExpression 874 ConditionalExpression_NotName -> ConditionalOrExpression_NotName 875 ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression 876 ConditionalExpression_NotName ::= Name QUESTION Expression COLON ConditionalExpression 877 AssignmentExpression_NotName -> ConditionalExpression_NotName 878 AssignmentExpression_NotName -> Assignment 879 Expression_NotName -> AssignmentExpression_NotName 880 AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier 881 AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier TypeParameters 882 AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier TypeParameters 883 AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier 884 AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt 885 AnnotationTypeDeclaration ::= AnnotationTypeDeclarationHeader AnnotationTypeBody 886 AnnotationTypeBody ::= LBRACE AnnotationTypeMemberDeclarationsopt RBRACE 887 AnnotationTypeMemberDeclarationsopt ::= 888 AnnotationTypeMemberDeclarationsopt ::= NestedType AnnotationTypeMemberDeclarations 889 AnnotationTypeMemberDeclarations -> AnnotationTypeMemberDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 27 890 AnnotationTypeMemberDeclarations ::= AnnotationTypeMemberDeclarations AnnotationTypeMemberDeclaration 891 AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier LPAREN 892 AnnotationMethodHeaderName ::= Modifiersopt Type Identifier LPAREN 893 AnnotationMethodHeaderDefaultValueopt ::= 894 AnnotationMethodHeaderDefaultValueopt ::= DefaultValue 895 AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt 896 AnnotationTypeMemberDeclaration ::= AnnotationMethodHeader SEMICOLON 897 AnnotationTypeMemberDeclaration -> ConstantDeclaration 898 AnnotationTypeMemberDeclaration -> ConstructorDeclaration 899 AnnotationTypeMemberDeclaration -> TypeDeclaration 900 DefaultValue ::= default MemberValue 901 Annotation -> NormalAnnotation 902 Annotation -> MarkerAnnotation 903 Annotation -> SingleMemberAnnotation 904 AnnotationName ::= AT UnannotatableName 905 NormalAnnotation ::= AnnotationName LPAREN MemberValuePairsopt RPAREN 906 MemberValuePairsopt ::= 907 MemberValuePairsopt -> MemberValuePairs 908 MemberValuePairs -> MemberValuePair 909 MemberValuePairs ::= MemberValuePairs COMMA MemberValuePair 910 MemberValuePair ::= SimpleName EQUAL EnterMemberValue MemberValue ExitMemberValue 911 EnterMemberValue ::= 912 ExitMemberValue ::= 913 MemberValue -> ConditionalExpression_NotName 914 MemberValue ::= Name 915 MemberValue -> Annotation 916 MemberValue -> MemberValueArrayInitializer 917 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE 918 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE 919 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE 920 MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE 921 EnterMemberValueArrayInitializer ::= 922 MemberValues -> MemberValue 923 MemberValues ::= MemberValues COMMA MemberValue 924 MarkerAnnotation ::= AnnotationName 925 SingleMemberAnnotationMemberValue ::= MemberValue 926 SingleMemberAnnotation ::= AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN 927 RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier LPAREN 928 RecoveryMethodHeaderName ::= Modifiersopt Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 28 929 RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier LPAREN 930 RecoveryMethodHeaderName ::= ModifiersWithDefault Type Identifier LPAREN 931 RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt 932 RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 29 *** The following Terminals are useless: const goto IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 30 Cross-reference table: $error ==>> ,opt ==>> 689 690 ;opt ==>> 494 495 AND ==>> 14 655 802 810 860 861 AND_AND ==>> 9 366 661 869 870 AND_EQUAL ==>> 680 ARROW ==>> 22 26 27 459 460 543 AT ==>> 25 880 881 882 883 904 AT308 ==>> 86 AT308DOTDOTDOT ==>> 274 340 AbstractMethodDeclaration ==>> 256 AdditionalBound ==>> 802 AdditionalBound1 ==>> 810 AdditionalBoundList ==>> 800 801 AdditionalBoundList1 ==>> 808 809 AdditionalBoundsListOpt ==>> 626 627 AdditiveExpression ==>> 639 640 641 AdditiveExpression_NotName ==>> 830 831 832 833 834 AllocationHeader ==>> 556 AndExpression ==>> 654 655 AndExpression_NotName ==>> 859 860 861 Annotation ==>> 901 902 903 AnnotationMethodHeader ==>> 895 AnnotationMethodHeaderDefaultValueopt ==>> 893 894 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 31 AnnotationMethodHeaderName ==>> 891 892 AnnotationName ==>> 904 AnnotationTypeBody ==>> 886 AnnotationTypeDeclaration ==>> 885 AnnotationTypeDeclarationHeader ==>> 884 AnnotationTypeDeclarationHeaderName ==>> 880 881 882 883 AnnotationTypeMemberDeclaration ==>> 896 897 898 899 AnnotationTypeMemberDeclarations ==>> 889 890 AnnotationTypeMemberDeclarationsopt ==>> 887 888 ArgumentList ==>> 571 572 ArgumentListopt ==>> 699 700 Arguments ==>> 739 Argumentsopt ==>> 740 741 ArrayAccess ==>> 599 600 601 ArrayCreationHeader ==>> 573 574 ArrayCreationWithArrayInitializer ==>> 576 578 ArrayCreationWithoutArrayInitializer ==>> 575 577 ArrayInitializer ==>> 369 370 371 ArrayType ==>> 65 66 67 68 ArrayTypeWithTypeArgumentsName ==>> 64 AssertStatement ==>> 478 479 Assignment ==>> 668 670 AssignmentExpression ==>> 666 667 AssignmentExpression_NotName ==>> 877 878 AssignmentOperator ==>> 671 672 673 674 675 676 677 678 679 680 681 682 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 32 BeginCaseElement ==>> 30 466 BeginCaseExpr ==>> 460 BeginIntersectionCast ==>> 624 BeginLambda ==>> 546 BeginTypeArguments ==>> 535 Block ==>> 374 BlockStatement ==>> 381 382 383 384 385 386 387 BlockStatementopt ==>> 378 BlockStatementopt0 ==>> 379 380 BlockStatements ==>> 376 377 BlockStatementsopt ==>> 695 696 BooleanLiteral ==>> 40 41 BreakStatement ==>> 480 481 COLON ==>> 422 423 448 449 479 665 749 875 876 COLON_COLON ==>> 533 534 535 536 537 538 COMMA ==>> 135 145 218 242 271 280 336 371 373 463 477 551 572 690 730 731 734 757 759 767 773 796 804 909 917 919 923 CaseLabelElement ==>> 464 465 466 CaseLabelElements ==>> 462 463 CastExpression ==>> 620 621 622 623 624 625 CastNameAndBounds ==>> 629 CatchClause ==>> 507 CatchFormalParameter ==>> 275 CatchHeader ==>> 171 CatchType ==>> 276 Catches ==>> 505 506 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 33 Catchesopt ==>> 723 724 CharacterLiteral ==>> 35 ClassBody ==>> 220 ClassBodyDeclaration ==>> 223 224 225 226 ClassBodyDeclarations ==>> 221 222 ClassBodyDeclarationsopt ==>> 691 692 ClassDeclaration ==>> 210 ClassHeader ==>> 211 ClassHeaderExtends ==>> 215 ClassHeaderExtendsopt ==>> 684 685 ClassHeaderImplements ==>> 216 ClassHeaderImplementsopt ==>> 705 706 ClassHeaderName ==>> 212 213 ClassHeaderName1 ==>> 214 ClassHeaderPermittedSubclasses ==>> 710 ClassHeaderPermittedSubclassesopt ==>> 707 708 ClassInstanceCreationExpression ==>> 557 558 559 560 561 562 ClassInstanceCreationExpressionName ==>> 564 ClassMemberDeclaration ==>> 230 231 232 233 234 235 236 237 ClassOrInterface ==>> 60 61 ClassOrInterfaceType ==>> 58 59 ClassType ==>> 69 ClassTypeElt ==>> 281 ClassTypeList ==>> 279 280 CompactConstructorDeclaration ==>> 348 CompactConstructorHeader ==>> 349 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 34 CompactConstructorHeaderName ==>> 350 351 CompilationUnit ==>> 95 ConditionalAndExpression ==>> 660 661 ConditionalAndExpression_NotName ==>> 868 869 870 ConditionalExpression ==>> 664 665 ConditionalExpression_NotName ==>> 874 875 876 ConditionalOrExpression ==>> 662 663 ConditionalOrExpression_NotName ==>> 871 872 873 ConstantDeclaration ==>> 367 ConstantExpression ==>> 688 ConstructorDeclaration ==>> 286 287 ConstructorHeader ==>> 267 ConstructorHeaderName ==>> 268 269 ContinueStatement ==>> 482 483 CreateInitializer ==>> 229 DIVIDE ==>> 13 637 826 827 DIVIDE_EQUAL ==>> 673 DOT ==>> 61 64 75 76 77 93 187 292 293 294 295 296 297 298 299 520 521 522 523 524 525 532 559 560 564 588 589 590 592 593 594 595 596 597 598 622 753 DefaultMethodHeader ==>> 258 DefaultMethodHeaderName ==>> 261 262 DefaultValue ==>> 900 Diet ==>> 227 DimWithOrWithOutExpr ==>> 581 582 DimWithOrWithOutExprs ==>> 579 580 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 35 Dims ==>> 583 DimsLoop ==>> 584 585 Dimsopt ==>> 697 698 DoStatement ==>> 470 DoubleLiteral ==>> 34 ELLIPSIS ==>> 273 274 339 340 EQUAL ==>> 244 499 500 671 910 EQUAL_EQUAL ==>> 652 855 856 ElidedLeftBraceAndReturn ==>> 555 ElidedSemicolonAndRightBrace ==>> 553 EmptyStatement ==>> 421 EnhancedForStatement ==>> 745 EnhancedForStatementHeader ==>> 749 EnhancedForStatementHeaderInit ==>> 747 748 EnhancedForStatementNoShortIf ==>> 746 EnterCompilationUnit ==>> 148 EnterInstanceCreationArgumentList ==>> 563 EnterMemberValue ==>> 911 EnterMemberValueArrayInitializer ==>> 921 EnterVariable ==>> 245 EnumBody ==>> 729 730 731 732 EnumBodyDeclarationsopt ==>> 743 744 EnumConstant ==>> 737 738 EnumConstantHeader ==>> 736 EnumConstantHeaderName ==>> 735 EnumConstants ==>> 733 734 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 36 EnumDeclaration ==>> 725 EnumDeclarations ==>> 742 EnumHeader ==>> 726 EnumHeaderName ==>> 727 728 EqualityExpression ==>> 651 652 653 EqualityExpression_NotName ==>> 854 855 856 857 858 ExclusiveOrExpression ==>> 656 657 ExclusiveOrExpression_NotName ==>> 862 863 864 ExitMemberValue ==>> 912 ExitTryBlock ==>> 504 ExitVariableWithInitialization ==>> 246 ExitVariableWithoutInitialization ==>> 247 ExplicitConstructorInvocation ==>> 288 289 290 291 292 293 294 295 296 297 298 299 ExportsHeader ==>> 130 ExportsStatement ==>> 129 Expression ==>> 683 ExpressionStatement ==>> 425 426 Expression_NotName ==>> 879 Expressionopt ==>> 686 687 FieldAccess ==>> 588 589 590 FieldDeclaration ==>> 240 Finally ==>> 508 FloatingPointLiteral ==>> 33 FloatingPointType ==>> 54 55 ForInit ==>> 473 474 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 37 ForInitopt ==>> 717 718 ForStatement ==>> 471 ForStatementNoShortIf ==>> 472 ForUpdate ==>> 475 ForUpdateopt ==>> 719 720 ForceNoDiet ==>> 248 FormalParameter ==>> 272 273 274 FormalParameterList ==>> 270 271 FormalParameterListopt ==>> 703 704 GREATER ==>> 63 648 764 781 805 845 846 GREATER_EQUAL ==>> 650 849 850 GenericMethodDeclaration ==>> 238 239 GenericType ==>> 62 63 Goal ==>> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 GuardedPattern ==>> 366 Header ==>> 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 Header1 ==>> 167 168 Header2 ==>> 169 170 Identifier ==>> 73 214 250 259 260 261 262 268 269 304 330 350 351 358 365 424 481 483 536 537 538 541 545 552 588 589 590 592 593 594 595 596 597 598 727 728 735 747 748 793 880 881 882 883 891 892 927 928 929 930 IdentifierOrNew ==>> 541 542 IfThenElseStatement ==>> 435 IfThenElseStatementNoShortIf ==>> 436 IfThenStatement ==>> 434 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 38 ImportDeclaration ==>> 180 181 182 183 ImportDeclarations ==>> 172 173 InclusiveOrExpression ==>> 658 659 InclusiveOrExpression_NotName ==>> 865 866 867 Initializer ==>> 228 InsideCastExpression ==>> 631 InsideCastExpressionLL1 ==>> 632 InsideCastExpressionLL1WithBounds ==>> 633 InsideCastExpressionWithQualifiedGenerics ==>> 634 InstanceofClassic ==>> 357 InstanceofExpression ==>> 352 353 InstanceofExpression_NotName ==>> 851 852 853 InstanceofPrimaryParenPattern ==>> 359 InstanceofPrimaryTypePattern ==>> 358 InstanceofRHS ==>> 354 355 356 IntegerLiteral ==>> 31 IntegralType ==>> 49 50 51 52 53 InterfaceBody ==>> 306 InterfaceDeclaration ==>> 300 InterfaceHeader ==>> 301 InterfaceHeaderExtends ==>> 305 InterfaceHeaderExtendsopt ==>> 721 722 InterfaceHeaderName ==>> 302 303 InterfaceHeaderName1 ==>> 304 InterfaceHeaderPermittedSubClassesAndSubInterfaces ==>> 713 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 39 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ==>> 711 712 InterfaceMemberDeclaration ==>> 309 310 311 312 313 318 319 320 321 322 323 324 325 InterfaceMemberDeclarations ==>> 307 308 InterfaceMemberDeclarationsopt ==>> 714 715 InterfaceType ==>> 219 InterfaceTypeList ==>> 217 218 InternalCompilationUnit ==>> 96 97 98 99 100 101 102 103 104 105 InvalidArrayInitializerAssignement ==>> 669 InvalidConstructorDeclaration ==>> 314 315 InvalidInitializer ==>> 316 317 LBRACE ==>> 19 111 171 220 282 306 341 369 370 371 374 438 439 440 441 729 730 731 732 886 917 918 919 920 LBRACKET ==>> 581 582 586 587 599 600 601 LEFT_SHIFT ==>> 643 836 837 LEFT_SHIFT_EQUAL ==>> 677 LESS ==>> 24 63 647 754 755 765 771 794 843 844 LESS_EQUAL ==>> 649 847 848 LPAREN ==>> 23 87 89 171 259 260 261 262 268 269 288 289 290 291 292 293 294 295 296 297 298 299 332 434 435 436 437 452 468 469 470 471 472 487 493 507 509 556 557 558 559 560 561 562 591 592 593 594 595 596 597 598 628 739 747 748 891 892 905 926 927 928 929 930 Label ==>> 424 LabeledStatement ==>> 422 LabeledStatementNoShortIf ==>> 423 LambdaBody ==>> 553 554 LambdaExpression ==>> 543 LambdaParameterList ==>> 548 549 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 40 LambdaParameters ==>> 545 546 Literal ==>> 31 32 33 34 35 36 37 38 39 LocalVariableDeclaration ==>> 389 390 LocalVariableDeclarationStatement ==>> 388 LongLiteral ==>> 32 MINUS ==>> 15 612 641 817 833 834 MINUS_EQUAL ==>> 676 MINUS_MINUS ==>> 2 607 615 MULTIPLY ==>> 7 8 187 636 753 824 825 MULTIPLY_EQUAL ==>> 672 MarkerAnnotation ==>> 924 MarkerTypeAnnotation ==>> 88 MemberValue ==>> 913 914 915 916 MemberValueArrayInitializer ==>> 917 918 919 920 MemberValuePair ==>> 910 MemberValuePairs ==>> 908 909 MemberValuePairsopt ==>> 906 907 MemberValues ==>> 922 923 MethodBody ==>> 282 MethodDeclaration ==>> 253 254 255 MethodHeader ==>> 257 MethodHeaderExtendedDims ==>> 265 MethodHeaderName ==>> 259 260 MethodHeaderRightParen ==>> 264 MethodHeaderThrowsClause ==>> 266 MethodHeaderThrowsClauseopt ==>> 701 702 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 41 MethodInvocation ==>> 591 592 593 594 595 596 597 598 Modifier ==>> 196 197 198 199 200 201 202 203 204 205 206 207 208 209 Modifiers ==>> 194 195 ModifiersWithDefault ==>> 263 Modifiersopt ==>> 693 694 ModuleBody ==>> 111 ModuleDeclaration ==>> 106 ModuleHeader ==>> 107 ModuleModifier ==>> 110 ModuleModifieropt ==>> 108 109 ModuleStatement ==>> 116 117 118 119 120 ModuleStatements ==>> 114 115 ModuleStatementsOpt ==>> 112 113 MultiplicativeExpression ==>> 635 636 637 638 MultiplicativeExpression_NotName ==>> 823 824 825 826 827 828 829 NOT ==>> 6 618 821 NOT_EQUAL ==>> 653 857 858 Name ==>> 70 71 72 NestedLambda ==>> 544 NestedMethod ==>> 283 NestedType ==>> 716 NonWildTypeArgumentsopt ==>> 539 540 NormalAnnotation ==>> 905 NormalTypeAnnotation ==>> 87 NumericType ==>> 45 46 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 42 OR ==>> 278 659 866 867 OR_EQUAL ==>> 682 OR_OR ==>> 10 20 663 872 873 OneDimLoop ==>> 586 587 OnlySynchronized ==>> 488 OnlyTypeArguments ==>> 755 OnlyTypeArgumentsForCastExpression ==>> 630 OpenBlock ==>> 375 OpensHeader ==>> 138 OpensStatement ==>> 137 PLUS ==>> 12 611 640 816 831 832 PLUS_EQUAL ==>> 675 PLUS_PLUS ==>> 1 606 614 PackageComment ==>> 179 PackageDeclaration ==>> 176 PackageDeclarationName ==>> 177 178 ParenthesizedCastNameAndBounds ==>> 628 ParenthesizedLambdaParameterList ==>> 547 ParenthesizedPattern ==>> 364 Pattern ==>> 360 361 PermittedSubclasses ==>> 709 PostDecrementExpression ==>> 607 PostIncrementExpression ==>> 606 PostfixExpression ==>> 602 603 604 605 PostfixExpression_NotName ==>> 811 812 813 PreDecrementExpression ==>> 615 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 43 PreIncrementExpression ==>> 614 Primary ==>> 511 512 513 PrimaryNoNewArray ==>> 514 515 516 517 518 519 520 522 523 524 525 526 527 528 529 PrimaryPattern ==>> 362 363 PrimitiveType ==>> 44 47 48 ProvidesInterface ==>> 142 ProvidesStatement ==>> 141 PushLPAREN ==>> 509 PushLeftBrace ==>> 368 PushModifiers ==>> 391 PushModifiersForHeader ==>> 392 PushPosition ==>> 608 PushRPAREN ==>> 510 PushRealModifiers ==>> 393 PushZeroTypeAnnotations ==>> 91 QUESTION ==>> 11 21 665 777 778 781 782 785 786 789 790 875 876 QualifiedClassBodyopt ==>> 568 569 QualifiedEnterAnonymousClassBody ==>> 570 QualifiedName ==>> 76 77 QualifiedSuperReceiver ==>> 521 RBRACE ==>> 111 220 282 306 341 369 370 371 374 438 439 440 441 729 730 731 732 886 917 918 919 920 RBRACKET ==>> 581 582 586 587 599 600 601 REMAINDER ==>> 16 17 638 828 829 REMAINDER_EQUAL ==>> 674 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 44 RIGHT_SHIFT ==>> 3 4 644 770 785 838 839 RIGHT_SHIFT_EQUAL ==>> 678 RPAREN ==>> 87 89 171 264 288 289 290 291 292 293 294 295 296 297 298 299 331 434 435 436 437 452 468 469 470 471 472 487 493 507 510 556 557 558 559 560 561 562 591 592 593 594 595 596 597 598 628 739 749 905 926 RecordBody ==>> 341 RecordBodyDeclaration ==>> 346 347 RecordBodyDeclarationopt ==>> 342 343 RecordBodyDeclarations ==>> 344 345 RecordComponent ==>> 337 338 RecordComponentHeaderRightParen ==>> 331 RecordComponents ==>> 335 336 RecordComponentsopt ==>> 333 334 RecordDeclaration ==>> 326 RecordHeader ==>> 332 RecordHeaderName ==>> 328 329 RecordHeaderName1 ==>> 330 RecordHeaderPart ==>> 327 RecoveryMethodHeader ==>> 931 932 RecoveryMethodHeaderName ==>> 927 928 929 930 ReduceImports ==>> 147 ReferenceExpression ==>> 533 534 535 536 537 538 ReferenceExpressionTypeArgumentsAndTrunk ==>> 530 ReferenceExpressionTypeArgumentsAndTrunk0 ==>> 531 532 ReferenceType ==>> 56 57 ReferenceType1 ==>> 764 765 ReferenceType2 ==>> 770 771 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 45 ReferenceType3 ==>> 776 RejectTypeAnnotations ==>> 90 RelationalExpression ==>> 646 647 648 649 650 RelationalExpression_NotName ==>> 842 843 844 845 846 847 848 849 850 RequiresModifier ==>> 127 128 RequiresModifiers ==>> 125 126 RequiresModifiersopt ==>> 123 124 RequiresStatement ==>> 121 Resource ==>> 499 500 501 502 ResourceSpecification ==>> 493 Resources ==>> 496 497 RestoreDiet ==>> 249 RestrictedIdentifierYield ==>> 467 RestrictedIdentifierpermits ==>> 29 710 713 RestrictedIdentifierrecord ==>> 330 RestrictedIdentifiersealed ==>> 28 204 ReturnStatement ==>> 484 SEMICOLON ==>> 121 129 137 139 141 176 184 186 190 237 240 256 287 288 289 290 291 292 293 294 295 296 297 298 299 309 313 315 388 421 425 456 458 467 470 471 471 472 472 478 479 480 481 482 483 484 485 495 498 742 750 752 896 ServiceImplName ==>> 143 ServiceImplNameList ==>> 144 145 ShiftExpression ==>> 642 643 644 645 ShiftExpression_NotName ==>> 835 836 837 838 839 840 841 SimpleName ==>> 73 SingleMemberAnnotation ==>> 926 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 46 SingleMemberAnnotationMemberValue ==>> 925 SingleMemberTypeAnnotation ==>> 89 SinglePkgName ==>> 136 SingleRequiresModuleName ==>> 122 SingleStaticImportDeclaration ==>> 750 SingleStaticImportDeclarationName ==>> 751 SingleTypeImportDeclaration ==>> 184 SingleTypeImportDeclarationName ==>> 185 Statement ==>> 394 395 396 397 398 399 400 StatementExpression ==>> 427 428 429 430 431 432 433 StatementExpressionList ==>> 476 477 StatementNoShortIf ==>> 401 402 403 404 405 406 StatementWithoutTrailingSubstatement ==>> 407 408 409 410 411 412 413 414 415 416 417 418 419 420 StaticImportOnDemandDeclaration ==>> 752 StaticImportOnDemandDeclarationName ==>> 753 StaticInitializer ==>> 284 StaticOnly ==>> 285 StringLiteral ==>> 36 SwitchBlock ==>> 438 439 440 441 SwitchBlockStatement ==>> 444 445 SwitchBlockStatements ==>> 442 443 SwitchExpression ==>> 452 SwitchLabel ==>> 448 449 SwitchLabelCaseLhs ==>> 461 SwitchLabelExpr ==>> 459 460 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 47 SwitchLabeledBlock ==>> 457 SwitchLabeledExpression ==>> 456 SwitchLabeledRule ==>> 453 454 455 SwitchLabeledThrowStatement ==>> 458 SwitchLabels ==>> 446 447 SwitchStatement ==>> 437 SynchronizedStatement ==>> 487 TWIDDLE ==>> 18 617 820 TargetModuleListopt ==>> 131 132 TargetModuleName ==>> 133 TargetModuleNameList ==>> 134 135 TextBlock ==>> 37 ThrowExpression ==>> 486 ThrowStatement ==>> 485 TrailingSemiColon ==>> 498 TryBlock ==>> 503 TryStatement ==>> 489 490 TryStatementWithResources ==>> 491 492 Type ==>> 42 43 TypeAnnotation ==>> 83 84 85 TypeAnnotationName ==>> 86 TypeAnnotations ==>> 80 TypeAnnotations0 ==>> 81 82 TypeAnnotationsopt ==>> 78 79 TypeArgument ==>> 760 761 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 48 TypeArgument1 ==>> 762 763 TypeArgument2 ==>> 768 769 TypeArgument3 ==>> 774 775 TypeArgumentList ==>> 758 759 TypeArgumentList1 ==>> 756 757 TypeArgumentList2 ==>> 766 767 TypeArgumentList3 ==>> 772 773 TypeArguments ==>> 754 TypeDeclaration ==>> 188 189 190 191 192 193 TypeDeclarations ==>> 174 175 TypeElidedFormalParameter ==>> 552 TypeElidedFormalParameterList ==>> 550 551 TypeImportOnDemandDeclaration ==>> 186 TypeImportOnDemandDeclarationName ==>> 187 TypeParameter ==>> 797 798 799 TypeParameter1 ==>> 805 806 807 TypeParameterHeader ==>> 793 TypeParameterList ==>> 795 796 TypeParameterList1 ==>> 803 804 TypeParameters ==>> 794 TypePattern ==>> 365 UNSIGNED_RIGHT_SHIFT ==>> 5 645 776 789 840 841 UNSIGNED_RIGHT_SHIFT_EQUAL ==>> 679 UnannotatableName ==>> 74 75 UnaryExpression ==>> 609 610 611 612 613 UnaryExpressionNotPlusMinus ==>> 450 616 617 618 619 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 49 UnaryExpressionNotPlusMinus_NotName ==>> 451 819 820 821 822 UnaryExpression_NotName ==>> 814 815 816 817 818 UnionType ==>> 277 278 UnqualifiedClassBodyopt ==>> 565 566 UnqualifiedEnterAnonymousClassBody ==>> 567 UsesHeader ==>> 140 UsesStatement ==>> 139 VariableArityRecordComponent ==>> 339 340 VariableDeclarator ==>> 243 244 VariableDeclaratorId ==>> 250 VariableDeclaratorIdOrThis ==>> 92 93 94 VariableDeclarators ==>> 241 242 VariableInitializer ==>> 251 252 VariableInitializers ==>> 372 373 WhileStatement ==>> 468 WhileStatementNoShortIf ==>> 469 Wildcard ==>> 777 778 Wildcard1 ==>> 781 782 Wildcard2 ==>> 785 786 Wildcard3 ==>> 789 790 WildcardBounds ==>> 779 780 WildcardBounds1 ==>> 783 784 WildcardBounds2 ==>> 787 788 WildcardBounds3 ==>> 791 792 WithClause ==>> 146 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 50 XOR ==>> 657 863 864 XOR_EQUAL ==>> 681 YieldStatement ==>> 467 abstract ==>> 200 assert ==>> 478 479 boolean ==>> 47 break ==>> 480 481 byte ==>> 49 case ==>> 461 catch ==>> 171 507 char ==>> 53 class ==>> 214 522 523 524 525 const ==>> continue ==>> 482 483 default ==>> 263 449 459 465 900 do ==>> 470 double ==>> 55 else ==>> 435 436 enum ==>> 727 728 exports ==>> 130 extends ==>> 215 305 779 783 787 791 798 799 806 807 false ==>> 41 final ==>> 201 finally ==>> 508 float ==>> 54 for ==>> 471 472 747 748 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 51 goto ==>> if ==>> 434 435 436 implements ==>> 216 import ==>> 185 187 751 753 instanceof ==>> 357 358 359 int ==>> 51 interface ==>> 304 880 881 882 883 long ==>> 52 module ==>> 107 native ==>> 202 new ==>> 542 556 557 558 559 560 564 573 574 575 576 577 578 non-sealed ==>> 203 null ==>> 38 open ==>> 110 opens ==>> 138 package ==>> 177 178 private ==>> 198 protected ==>> 197 provides ==>> 142 public ==>> 196 requires ==>> 122 return ==>> 484 short ==>> 50 static ==>> 128 199 285 751 753 strictfp ==>> 208 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 52 super ==>> 290 291 292 293 294 295 521 538 589 597 598 780 784 788 792 switch ==>> 437 452 synchronized ==>> 205 488 this ==>> 92 93 288 289 296 297 298 299 515 520 throw ==>> 485 486 throws ==>> 266 to ==>> 132 transient ==>> 206 transitive ==>> 127 true ==>> 40 try ==>> 489 490 491 492 uses ==>> 140 void ==>> 48 volatile ==>> 207 while ==>> 468 469 470 with ==>> 146 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 53 First map for non-terminals: $acc ==>> PLUS_PLUS MINUS_MINUS RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS NOT REMAINDER AND MULTIPLY TWIDDLE DIVIDE LESS LPAREN LBRACE QUESTION AT ARROW RestrictedIdentifiersealed RestrictedIdentifierpermits BeginCaseElement Goal ==>> PLUS_PLUS MINUS_MINUS RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS NOT REMAINDER AND MULTIPLY TWIDDLE DIVIDE LESS LPAREN LBRACE QUESTION AT ARROW RestrictedIdentifiersealed RestrictedIdentifierpermits BeginCaseElement CompilationUnit ==>> $empty abstract class enum final import interface native non-sealed package private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed MethodBody ==>> LBRACE StaticInitializer ==>> static Initializer ==>> LBRACE Header1 ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native new non-sealed package private protected public short static strictfp synchronized transient void volatile module open requires exports opens uses provides LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed Modifiersopt ==>> $empty abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed Header2 ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native new non-sealed package private protected public short static strictfp synchronized transient void volatile module open requires exports opens uses provides LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed BlockStatements ==>> Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed CatchHeader ==>> catch IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 54 FieldDeclaration ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed ImportDeclaration ==>> import PackageDeclaration ==>> abstract final native non-sealed package private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed TypeDeclaration ==>> abstract class enum final interface native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed GenericMethodDeclaration ==>> Identifier abstract boolean byte char default double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed ClassBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed RecordBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed Expression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ArrayInitializer ==>> LBRACE BlockStatementsopt ==>> $empty Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed BlockStatementopt ==>> $empty Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 55 long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed MemberValue ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 AnnotationTypeMemberDeclaration ==>> Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ParenthesizedLambdaParameterList ==>> LPAREN ParenthesizedCastNameAndBounds ==>> LPAREN ReferenceExpressionTypeArgumentsAndTrunk ==>> LESS TypeAnnotations ==>> AT308 YieldStatement ==>> RestrictedIdentifierYield SwitchLabelCaseLhs ==>> case PermittedSubclasses ==>> Identifier AT308 Pattern ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN AT AT308 RestrictedIdentifiersealed Literal ==>> false null true IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock BooleanLiteral ==>> false true Type ==>> Identifier boolean byte char double float int long short void AT308 PrimitiveType ==>> boolean byte char double float int long short void AT308 ReferenceType ==>> Identifier boolean byte char double float int long short void AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 56 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 TypeAnnotations0 ==>> AT308 TypeAnnotation ==>> AT308 NormalTypeAnnotation ==>> AT308 MarkerTypeAnnotation ==>> AT308 SingleMemberTypeAnnotation ==>> AT308 TypeAnnotationName ==>> AT308 MemberValuePairsopt ==>> $empty Identifier SingleMemberAnnotationMemberValue ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 57 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 non-sealed package private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed ImportDeclarations ==>> import ReduceImports ==>> $empty TypeDeclarations ==>> abstract class enum final interface native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed ModuleDeclaration ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile module open AT RestrictedIdentifiersealed ModuleHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile module open AT RestrictedIdentifiersealed ModuleBody ==>> LBRACE ModuleModifieropt ==>> $empty open ModuleModifier ==>> open ModuleStatementsOpt ==>> $empty requires exports opens uses provides ModuleStatements ==>> requires exports opens uses provides ModuleStatement ==>> requires exports opens uses provides RequiresStatement ==>> requires ExportsStatement ==>> exports OpensStatement ==>> opens IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 58 UsesStatement ==>> uses ProvidesStatement ==>> provides SingleRequiresModuleName ==>> requires RequiresModifiersopt ==>> $empty static transitive RequiresModifiers ==>> static transitive RequiresModifier ==>> static transitive ExportsHeader ==>> exports TargetModuleListopt ==>> $empty to SinglePkgName ==>> Identifier TargetModuleNameList ==>> Identifier TargetModuleName ==>> Identifier OpensHeader ==>> opens UsesHeader ==>> uses ProvidesInterface ==>> provides WithClause ==>> with ServiceImplName ==>> Identifier AT308 ServiceImplNameList ==>> Identifier AT308 Header ==>> Identifier abstract boolean byte char class default double enum final float import int interface long native new non-sealed package private protected public short static strictfp synchronized transient void volatile module open requires exports opens uses provides LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ClassHeader ==>> abstract class final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed InterfaceHeader ==>> abstract final interface native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed EnumHeader ==>> abstract enum final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 59 RecordHeaderPart ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifierrecord RestrictedIdentifiersealed AnnotationTypeDeclarationHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed RecoveryMethodHeader ==>> Identifier abstract boolean byte char default double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed AllocationHeader ==>> new ArrayCreationHeader ==>> new ConstructorHeader ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed EnumConstantHeader ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed CatchFormalParameter ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed PackageDeclarationName ==>> abstract final native non-sealed package private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed Modifiers ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed PushRealModifiers ==>> $empty PackageComment ==>> $empty SingleTypeImportDeclaration ==>> import TypeImportOnDemandDeclaration ==>> import SingleStaticImportDeclaration ==>> import StaticImportOnDemandDeclaration ==>> import SingleTypeImportDeclarationName ==>> import IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 60 TypeImportOnDemandDeclarationName ==>> import ClassDeclaration ==>> abstract class final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed InterfaceDeclaration ==>> abstract final interface native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed EnumDeclaration ==>> abstract enum final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed AnnotationTypeDeclaration ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed RecordDeclaration ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifierrecord RestrictedIdentifiersealed Modifier ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed Annotation ==>> AT ClassBody ==>> LBRACE ClassHeaderName ==>> abstract class final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed ClassHeaderExtendsopt ==>> $empty extends ClassHeaderImplementsopt ==>> $empty implements ClassHeaderPermittedSubclassesopt ==>> $empty RestrictedIdentifierpermits ClassHeaderName1 ==>> abstract class final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed TypeParameters ==>> LESS ClassHeaderExtends ==>> extends ClassHeaderImplements ==>> implements InterfaceTypeList ==>> Identifier AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 61 InterfaceType ==>> Identifier AT308 ClassBodyDeclarationsopt ==>> $empty Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ClassBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ClassMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ConstructorDeclaration ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed Diet ==>> $empty NestedMethod ==>> $empty CreateInitializer ==>> $empty Block ==>> LBRACE MethodDeclaration ==>> Identifier abstract boolean byte char default double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed VariableDeclarators ==>> Identifier 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 TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 62 BeginIntersectionCast AT308 RestoreDiet ==>> $empty ExitVariableWithInitialization ==>> $empty Dimsopt ==>> $empty LBRACKET AT308 AbstractMethodDeclaration ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed MethodHeader ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed DefaultMethodHeader ==>> abstract default final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed MethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed FormalParameterListopt ==>> $empty Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed MethodHeaderRightParen ==>> RPAREN MethodHeaderExtendedDims ==>> $empty LBRACKET AT308 MethodHeaderThrowsClauseopt ==>> $empty throws DefaultMethodHeaderName ==>> abstract default final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed ModifiersWithDefault ==>> abstract default final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed MethodHeaderThrowsClause ==>> throws ClassTypeList ==>> Identifier AT308 ConstructorHeaderName ==>> Identifier abstract final native non-sealed private IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 63 protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed FormalParameterList ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed FormalParameter ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed CatchType ==>> Identifier boolean byte char double float int long short void AT308 UnionType ==>> Identifier boolean byte char double float int long short void AT308 ClassTypeElt ==>> Identifier AT308 StaticOnly ==>> static ExplicitConstructorInvocation ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LESS LPAREN BeginLambda AT308 ArgumentListopt ==>> $empty Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 OnlyTypeArguments ==>> LESS Primary ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 InterfaceBody ==>> LBRACE InterfaceHeaderName ==>> abstract final interface native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed InterfaceHeaderExtendsopt ==>> $empty extends InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ==>> $empty RestrictedIdentifierpermits IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 64 InterfaceHeaderName1 ==>> abstract final interface native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed InterfaceHeaderExtends ==>> extends InterfaceMemberDeclarationsopt ==>> $empty Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed InterfaceMemberDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed InterfaceMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ConstantDeclaration ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed InvalidConstructorDeclaration ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed InvalidInitializer ==>> static LBRACE RecordBody ==>> LBRACE RecordHeaderName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifierrecord RestrictedIdentifiersealed RecordHeader ==>> LPAREN RecordHeaderName1 ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifierrecord RestrictedIdentifiersealed RecordComponentHeaderRightParen ==>> RPAREN RecordComponentsopt ==>> $empty Identifier abstract boolean byte char double final float int long native non-sealed private protected public short IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 65 static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed RecordComponents ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed RecordComponent ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed VariableArityRecordComponent ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed RecordBodyDeclarationopt ==>> $empty Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed RecordBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed CompactConstructorDeclaration ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed CompactConstructorHeader ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed CompactConstructorHeaderName ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile LESS AT RestrictedIdentifiersealed InstanceofExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 RelationalExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 66 InstanceofRHS ==>> instanceof InstanceofClassic ==>> instanceof InstanceofPrimaryTypePattern ==>> instanceof InstanceofPrimaryParenPattern ==>> instanceof ParenthesizedPattern ==>> LPAREN PrimaryPattern ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN AT AT308 RestrictedIdentifiersealed GuardedPattern ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN AT AT308 RestrictedIdentifiersealed TypePattern ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed PushLPAREN ==>> LPAREN PushRPAREN ==>> RPAREN ConditionalAndExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 PushLeftBrace ==>> $empty ,opt ==>> $empty COMMA VariableInitializers ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 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 non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 67 CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed BlockStatementopt0 ==>> $empty Identifier abstract assert boolean break byte char class continue do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed LocalVariableDeclarationStatement ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed Statement ==>> Identifier assert boolean break byte char continue do double false float for if int long new null return short super switch synchronized this throw true try void while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield LocalVariableDeclaration ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile AT AT308 RestrictedIdentifiersealed PushModifiers ==>> $empty PushModifiersForHeader ==>> $empty StatementWithoutTrailingSubstatement ==>> Identifier assert boolean break byte char continue do double false float int long new null return short super switch synchronized this throw true try void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield LabeledStatement ==>> Identifier IfThenStatement ==>> if IfThenElseStatement ==>> if WhileStatement ==>> while ForStatement ==>> for IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 68 EnhancedForStatement ==>> for StatementNoShortIf ==>> Identifier assert boolean break byte char continue do double false float for if int long new null return short super switch synchronized this throw true try void while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield LabeledStatementNoShortIf ==>> Identifier IfThenElseStatementNoShortIf ==>> if WhileStatementNoShortIf ==>> while ForStatementNoShortIf ==>> for EnhancedForStatementNoShortIf ==>> for AssertStatement ==>> assert EmptyStatement ==>> SEMICOLON ExpressionStatement ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN BeginLambda AT308 SwitchStatement ==>> switch DoStatement ==>> do BreakStatement ==>> break ContinueStatement ==>> continue ReturnStatement ==>> return SynchronizedStatement ==>> synchronized ThrowStatement ==>> throw TryStatement ==>> try TryStatementWithResources ==>> try 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 TextBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 69 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 TextBlock 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 TextBlock 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 TextBlock 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 TextBlock 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 TextBlock LPAREN BeginLambda AT308 SwitchBlock ==>> LBRACE SwitchBlockStatements ==>> case default SwitchLabels ==>> case default SwitchBlockStatement ==>> case default SwitchLabeledRule ==>> case default SwitchLabel ==>> case default UnaryExpressionNotPlusMinus ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 SwitchExpression ==>> switch IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 70 UnaryExpressionNotPlusMinus_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 SwitchLabeledExpression ==>> case default SwitchLabeledBlock ==>> case default SwitchLabeledThrowStatement ==>> case default SwitchLabelExpr ==>> case default ThrowExpression ==>> throw CaseLabelElements ==>> Identifier boolean byte char default double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 BeginCaseElement CaseLabelElement ==>> Identifier boolean byte char default double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 BeginCaseElement ConstantExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ForInitopt ==>> $empty Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed Expressionopt ==>> $empty Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ForUpdateopt ==>> $empty Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 71 ForInit ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed StatementExpressionList ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 ForUpdate ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LPAREN BeginLambda AT308 OnlySynchronized ==>> synchronized TryBlock ==>> LBRACE Catches ==>> catch Catchesopt ==>> $empty catch Finally ==>> finally ResourceSpecification ==>> LPAREN Resources ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed ;opt ==>> $empty SEMICOLON Resource ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed TrailingSemiColon ==>> SEMICOLON FieldAccess ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 72 ExitTryBlock ==>> $empty CatchClause ==>> catch PrimaryNoNewArray ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 ArrayCreationWithArrayInitializer ==>> new ArrayCreationWithoutArrayInitializer ==>> new Expression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 QualifiedSuperReceiver ==>> Identifier AT308 ArrayAccess ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 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 TextBlock 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 TextBlock 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:11:53 2021 Page 73 TypeElidedFormalParameterList ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed TypeElidedFormalParameter ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed ElidedLeftBraceAndReturn ==>> $empty EnterInstanceCreationArgumentList ==>> $empty UnqualifiedClassBodyopt ==>> $empty LBRACE QualifiedClassBodyopt ==>> $empty LBRACE ClassInstanceCreationExpressionName ==>> Identifier AT308 UnqualifiedEnterAnonymousClassBody ==>> $empty QualifiedEnterAnonymousClassBody ==>> $empty ArgumentList ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 TextBlock 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 TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 CastExpression ==>> LPAREN BeginIntersectionCast IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 74 AdditionalBoundsListOpt ==>> $empty AND InsideCastExpression ==>> $empty OnlyTypeArgumentsForCastExpression ==>> LESS InsideCastExpressionWithQualifiedGenerics ==>> $empty InsideCastExpressionLL1 ==>> $empty CastNameAndBounds ==>> Identifier AT308 InsideCastExpressionLL1WithBounds ==>> $empty AdditionalBoundList ==>> AND MultiplicativeExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AdditiveExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ShiftExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 EqualityExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AndExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ExclusiveOrExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 75 InclusiveOrExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ConditionalOrExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ConditionalExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AssignmentExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 TextBlock LPAREN BeginLambda AT308 NestedType ==>> $empty ClassHeaderPermittedSubclasses ==>> RestrictedIdentifierpermits InterfaceHeaderPermittedSubClassesAndSubInterfaces ==>> RestrictedIdentifierpermits EnumBody ==>> LBRACE EnumHeaderName ==>> abstract enum final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed EnumBodyDeclarationsopt ==>> $empty SEMICOLON EnumConstants ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 76 EnumConstant ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed EnumConstantHeaderName ==>> Identifier abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed Argumentsopt ==>> $empty LPAREN Arguments ==>> LPAREN EnumDeclarations ==>> SEMICOLON EnhancedForStatementHeader ==>> for EnhancedForStatementHeaderInit ==>> for SingleStaticImportDeclarationName ==>> import StaticImportOnDemandDeclarationName ==>> import TypeArgumentList1 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 TypeArgument1 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 TypeArgumentList ==>> Identifier boolean byte char double float int long short void QUESTION AT308 TypeArgument ==>> Identifier boolean byte char double float int long short void QUESTION AT308 Wildcard ==>> QUESTION AT308 ReferenceType1 ==>> Identifier boolean byte char double float int long short void AT308 Wildcard1 ==>> QUESTION AT308 TypeArgumentList2 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 TypeArgument2 ==>> Identifier boolean byte char double float int long short void QUESTION AT308 ReferenceType2 ==>> Identifier boolean byte char double float int long short void AT308 Wildcard2 ==>> QUESTION AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 77 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 PostfixExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN BeginLambda AT308 UnaryExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 MultiplicativeExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 78 AdditiveExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 ShiftExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 RelationalExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 InstanceofExpression_NotName ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 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 TextBlock 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 TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast 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 TextBlock 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 TextBlock 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 79 CharacterLiteral StringLiteral TextBlock 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 TextBlock 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 TextBlock 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 TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AnnotationTypeDeclarationHeaderName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed AnnotationTypeBody ==>> LBRACE AnnotationTypeMemberDeclarationsopt ==>> $empty Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed AnnotationTypeMemberDeclarations ==>> Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed AnnotationMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed AnnotationMethodHeaderDefaultValueopt ==>> $empty default DefaultValue ==>> default AnnotationMethodHeader ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 80 RestrictedIdentifiersealed NormalAnnotation ==>> AT MarkerAnnotation ==>> AT SingleMemberAnnotation ==>> AT AnnotationName ==>> AT MemberValuePairs ==>> Identifier MemberValuePair ==>> Identifier EnterMemberValue ==>> $empty ExitMemberValue ==>> $empty MemberValueArrayInitializer ==>> LBRACE EnterMemberValueArrayInitializer ==>> $empty MemberValues ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 RecoveryMethodHeaderName ==>> Identifier abstract boolean byte char default double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS AT AT308 RestrictedIdentifiersealed IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 81 Follow Map: $acc ==>> $eof Goal ==>> $eof CompilationUnit ==>> $eof MethodBody ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof StaticInitializer ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Initializer ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Header1 ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof Modifiersopt ==>> Identifier boolean byte char class default double enum float int interface long short void module open LESS AT308 RestrictedIdentifierrecord $eof Header2 ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof BlockStatements ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof CatchHeader ==>> $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 82 FieldDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ImportDeclaration ==>> abstract class enum final import interface native non-sealed private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof PackageDeclaration ==>> abstract class enum final import interface native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof TypeDeclaration ==>> Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof GenericMethodDeclaration ==>> $eof ClassBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof RecordBodyDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Expression ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof ArrayInitializer ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof BlockStatementsopt ==>> RBRACE $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 83 BlockStatementopt ==>> $eof MemberValue ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof AnnotationTypeMemberDeclaration ==>> Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ParenthesizedLambdaParameterList ==>> $eof ParenthesizedCastNameAndBounds ==>> $eof ReferenceExpressionTypeArgumentsAndTrunk ==>> COLON_COLON $eof TypeAnnotations ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS $eof YieldStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SwitchLabelCaseLhs ==>> COLON BeginCaseExpr $eof PermittedSubclasses ==>> $eof Pattern ==>> RPAREN COLON COMMA BeginCaseExpr $eof Literal ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof BooleanLiteral ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 84 DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof Type ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof PrimitiveType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof ReferenceType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof TypeAnnotationsopt ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION NumericType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof IntegralType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof FloatingPointType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof ClassOrInterfaceType ==>> Identifier abstract final implements instanceof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 85 native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ArrayType ==>> Identifier abstract final instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof ClassOrInterface ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof GenericType ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof Name ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile with PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON BeginTypeArguments ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeArguments ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ArrayTypeWithTypeArgumentsName ==>> LBRACKET AT308 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 86 Dims ==>> Identifier abstract default final instanceof native non-sealed private protected public static strictfp synchronized this throws transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER RPAREN LBRACE RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof ClassType ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LPAREN LBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof SimpleName ==>> Identifier abstract boolean byte char class default double enum final float implements instanceof int interface long native non-sealed package private protected public short static strictfp synchronized this transient void volatile module open to with PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON BeginTypeArguments ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifierrecord RestrictedIdentifiersealed RestrictedIdentifierpermits $eof QualifiedName ==>> Identifier abstract final implements instanceof native non-sealed private protected public static strictfp synchronized this transient volatile with PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON BeginTypeArguments ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof UnannotatableName ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open to LESS LPAREN RPAREN LBRACE RBRACE LBRACKET SEMICOLON QUESTION COMMA DOT AT ELLIPSIS AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof TypeAnnotations0 ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof TypeAnnotation ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 87 NormalTypeAnnotation ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof MarkerTypeAnnotation ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof SingleMemberTypeAnnotation ==>> Identifier boolean byte char double float int long short void LBRACKET QUESTION ELLIPSIS AT308 $eof TypeAnnotationName ==>> Identifier boolean byte char double float int long short void LPAREN LBRACKET QUESTION ELLIPSIS AT308 $eof MemberValuePairsopt ==>> RPAREN SingleMemberAnnotationMemberValue ==>> RPAREN RejectTypeAnnotations ==>> MULTIPLY SEMICOLON PushZeroTypeAnnotations ==>> ELLIPSIS VariableDeclaratorIdOrThis ==>> RPAREN COMMA VariableDeclaratorId ==>> RPAREN SEMICOLON COMMA EQUAL EnterCompilationUnit ==>> abstract class enum final import interface native non-sealed package private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof InternalCompilationUnit ==>> $eof ImportDeclarations ==>> abstract class enum final import interface native non-sealed private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ReduceImports ==>> abstract class enum final interface native non-sealed private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof TypeDeclarations ==>> abstract class enum final interface native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ModuleDeclaration ==>> $eof ModuleHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 88 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 non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof ExportsStatement ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof OpensStatement ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof UsesStatement ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof ProvidesStatement ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile requires exports opens uses provides RBRACE AT RestrictedIdentifiersealed $eof SingleRequiresModuleName ==>> SEMICOLON RequiresModifiersopt ==>> Identifier RequiresModifiers ==>> Identifier static transitive RequiresModifier ==>> Identifier static transitive ExportsHeader ==>> to SEMICOLON TargetModuleListopt ==>> SEMICOLON SinglePkgName ==>> to SEMICOLON TargetModuleNameList ==>> SEMICOLON COMMA TargetModuleName ==>> SEMICOLON COMMA OpensHeader ==>> to SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 89 UsesHeader ==>> SEMICOLON ProvidesInterface ==>> with WithClause ==>> SEMICOLON ServiceImplName ==>> SEMICOLON COMMA ServiceImplNameList ==>> SEMICOLON COMMA Header ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof ClassHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof InterfaceHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof EnumHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof RecordHeaderPart ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof AnnotationTypeDeclarationHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof RecoveryMethodHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof AllocationHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof ArrayCreationHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile AT RestrictedIdentifiersealed $eof ConstructorHeader ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON AT RestrictedIdentifiersealed $eof EnumConstantHeader ==>> abstract final native non-sealed private protected IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 90 public static strictfp synchronized transient volatile LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof CatchFormalParameter ==>> RPAREN PackageDeclarationName ==>> SEMICOLON Modifiers ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof PushRealModifiers ==>> Identifier interface AT308 PackageComment ==>> package SingleTypeImportDeclaration ==>> abstract class enum final import interface native non-sealed private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof TypeImportOnDemandDeclaration ==>> abstract class enum final import interface native non-sealed private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SingleStaticImportDeclaration ==>> abstract class enum final import interface native non-sealed private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof StaticImportOnDemandDeclaration ==>> abstract class enum final import interface native non-sealed private protected public static strictfp synchronized transient volatile module open SEMICOLON AT RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SingleTypeImportDeclarationName ==>> SEMICOLON TypeImportOnDemandDeclarationName ==>> SEMICOLON ClassDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 91 InterfaceDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof EnumDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof AnnotationTypeDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof RecordDeclaration ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Modifier ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Annotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 92 ClassBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if instanceof int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON BeginLambda ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ClassHeaderName ==>> abstract extends final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderExtendsopt ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderImplementsopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderPermittedSubclassesopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof ClassHeaderName1 ==>> abstract extends final implements native non-sealed private protected public static strictfp synchronized transient volatile LESS LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeParameters ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderExtends ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassHeaderImplements ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceTypeList ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE COMMA AT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 93 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceType ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE COMMA AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ClassBodyDeclarationsopt ==>> RBRACE ClassBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ClassMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ConstructorDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Diet ==>> LBRACE NestedMethod ==>> LBRACE CreateInitializer ==>> LBRACE Block ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if instanceof int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON BeginLambda ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof MethodDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 94 protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof VariableDeclarators ==>> SEMICOLON COMMA VariableDeclarator ==>> SEMICOLON COMMA EnterVariable ==>> SEMICOLON COMMA EQUAL ExitVariableWithoutInitialization ==>> SEMICOLON COMMA ForceNoDiet ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super switch synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE RBRACE SEMICOLON COMMA AT BeginLambda BeginIntersectionCast AT308 RestrictedIdentifiersealed $eof VariableInitializer ==>> RPAREN RBRACE SEMICOLON COMMA RestoreDiet ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof ExitVariableWithInitialization ==>> RPAREN SEMICOLON COMMA Dimsopt ==>> abstract default final native non-sealed private protected public static strictfp synchronized throws transient volatile AND RPAREN LBRACE SEMICOLON COLON COMMA EQUAL AT COLON_COLON RestrictedIdentifiersealed $eof AbstractMethodDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof MethodHeader ==>> LBRACE SEMICOLON DefaultMethodHeader ==>> LBRACE SEMICOLON MethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed FormalParameterListopt ==>> RPAREN MethodHeaderRightParen ==>> abstract default final native non-sealed private IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 95 protected public static strictfp synchronized throws transient volatile LBRACE LBRACKET SEMICOLON AT AT308 RestrictedIdentifiersealed $eof MethodHeaderExtendedDims ==>> abstract default final native non-sealed private protected public static strictfp synchronized throws transient volatile LBRACE SEMICOLON AT RestrictedIdentifiersealed $eof MethodHeaderThrowsClauseopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON AT RestrictedIdentifiersealed $eof DefaultMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed ModifiersWithDefault ==>> Identifier boolean byte char double float int long short void LESS AT308 MethodHeaderThrowsClause ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON AT RestrictedIdentifiersealed $eof ClassTypeList ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof ConstructorHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed FormalParameterList ==>> RPAREN COMMA FormalParameter ==>> RPAREN COMMA CatchType ==>> Identifier UnionType ==>> Identifier OR ClassTypeElt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof StaticOnly ==>> LBRACE ExplicitConstructorInvocation ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 96 LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ArgumentListopt ==>> RPAREN OnlyTypeArguments ==>> Identifier new super this AND RPAREN LBRACKET DOT COLON_COLON AT308 $eof Primary ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InterfaceBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof InterfaceHeaderName ==>> abstract extends final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceHeaderExtendsopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof InterfaceHeaderName1 ==>> abstract extends final native non-sealed private protected public static strictfp synchronized transient volatile LESS LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceHeaderExtends ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed RestrictedIdentifierpermits $eof InterfaceMemberDeclarationsopt ==>> RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 97 InterfaceMemberDeclarations ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed InterfaceMemberDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ConstantDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof InvalidConstructorDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed InvalidInitializer ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed RecordBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof RecordHeaderName ==>> LPAREN RecordHeader ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof RecordHeaderName1 ==>> LESS LPAREN RecordComponentHeaderRightParen ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 98 RecordComponentsopt ==>> RPAREN RecordComponents ==>> RPAREN COMMA RecordComponent ==>> RPAREN COMMA VariableArityRecordComponent ==>> RPAREN COMMA RecordBodyDeclarationopt ==>> RBRACE RecordBodyDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof CompactConstructorDeclaration ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof CompactConstructorHeader ==>> LBRACE CompactConstructorHeaderName ==>> throws LBRACE InstanceofExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof RelationalExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InstanceofRHS ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InstanceofClassic ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InstanceofPrimaryTypePattern ==>> abstract final instanceof native non-sealed IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 99 private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InstanceofPrimaryParenPattern ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ParenthesizedPattern ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PrimaryPattern ==>> AND_AND RPAREN COLON COMMA BeginCaseExpr $eof GuardedPattern ==>> RPAREN COLON COMMA BeginCaseExpr $eof TypePattern ==>> AND_AND RPAREN COLON COMMA BeginCaseExpr $eof PushLPAREN ==>> Identifier abstract boolean byte char double false final float int long native new non-sealed null private protected public short static strictfp super switch synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN RPAREN AT BeginLambda BeginIntersectionCast AT308 RestrictedIdentifiersealed PushRPAREN ==>> Identifier abstract boolean byte char double false final float instanceof int long native new non-sealed null private protected public short static strictfp super switch synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS NOT REMAINDER XOR AND MULTIPLY OR TWIDDLE DIVIDE GREATER LESS LPAREN RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ARROW COLON_COLON BeginLambda BeginIntersectionCast ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifiersealed $eof ConditionalAndExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PushLeftBrace ==>> Identifier boolean byte char double false float int long IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 100 new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE RBRACE COMMA AT BeginLambda BeginIntersectionCast AT308 ,opt ==>> RBRACE VariableInitializers ==>> RBRACE COMMA OpenBlock ==>> LBRACE BlockStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof BlockStatementopt0 ==>> $eof LocalVariableDeclarationStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $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 non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof LocalVariableDeclaration ==>> SEMICOLON PushModifiers ==>> Identifier PushModifiersForHeader ==>> interface StatementWithoutTrailingSubstatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 101 final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof LabeledStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof IfThenStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof IfThenElseStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof WhileStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ForStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 102 short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof EnhancedForStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof StatementNoShortIf ==>> else LabeledStatementNoShortIf ==>> else IfThenElseStatementNoShortIf ==>> else WhileStatementNoShortIf ==>> else ForStatementNoShortIf ==>> else EnhancedForStatementNoShortIf ==>> else AssertStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof EmptyStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ExpressionStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 103 int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SwitchStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof DoStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof BreakStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ContinueStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ReturnStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 104 short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SynchronizedStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ThrowStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof TryStatement ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof TryStatementWithResources ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Label ==>> COLON StatementExpression ==>> RPAREN SEMICOLON COMMA IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 105 Assignment ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof PreIncrementExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PreDecrementExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PostIncrementExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA EQUAL AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PostDecrementExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA EQUAL AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof MethodInvocation ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ClassInstanceCreationExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 106 volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof SwitchBlock ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if instanceof int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS LPAREN RPAREN LBRACE RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT BeginLambda ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SwitchBlockStatements ==>> case default RBRACE SwitchLabels ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed SwitchBlockStatement ==>> case default RBRACE SwitchLabeledRule ==>> case default RBRACE SwitchLabel ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed UnaryExpressionNotPlusMinus ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 107 UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof SwitchExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof UnaryExpressionNotPlusMinus_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof SwitchLabeledExpression ==>> case default RBRACE SwitchLabeledBlock ==>> case default RBRACE SwitchLabeledThrowStatement ==>> case default RBRACE SwitchLabelExpr ==>> Identifier boolean byte char double false float int long new null short super switch this throw true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 ThrowExpression ==>> SEMICOLON CaseLabelElements ==>> COLON COMMA BeginCaseExpr $eof CaseLabelElement ==>> COLON COMMA BeginCaseExpr $eof ConstantExpression ==>> COLON COMMA BeginCaseExpr $eof ForInitopt ==>> SEMICOLON Expressionopt ==>> SEMICOLON ForUpdateopt ==>> RPAREN ForInit ==>> SEMICOLON StatementExpressionList ==>> RPAREN SEMICOLON COMMA ForUpdate ==>> RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 108 OnlySynchronized ==>> LPAREN TryBlock ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Catches ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Catchesopt ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof Finally ==>> Identifier abstract assert boolean break byte case char class continue default do double else enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof ResourceSpecification ==>> LBRACE Resources ==>> RPAREN SEMICOLON ;opt ==>> RPAREN Resource ==>> RPAREN SEMICOLON TrailingSemiColon ==>> Identifier abstract boolean byte char double false IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 109 final float int long native new non-sealed null private protected public short static strictfp super synchronized this transient true void volatile IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock LPAREN AT BeginLambda AT308 RestrictedIdentifiersealed FieldAccess ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ExitTryBlock ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof CatchClause ==>> Identifier abstract assert boolean break byte case catch char class continue default do double else enum false final finally float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof PrimaryNoNewArray ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ArrayCreationWithArrayInitializer ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 110 REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ArrayCreationWithoutArrayInitializer ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof Expression_NotName ==>> RPAREN QualifiedSuperReceiver ==>> DOT COLON_COLON ArrayAccess ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof LambdaExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ReferenceExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 111 ReferenceExpressionTypeArgumentsAndTrunk0 ==>> COLON_COLON $eof NonWildTypeArgumentsopt ==>> Identifier new IdentifierOrNew ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof LambdaParameters ==>> ARROW LambdaBody ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof NestedLambda ==>> LPAREN ARROW LambdaParameterList ==>> ARROW $eof TypeElidedFormalParameterList ==>> RPAREN COMMA TypeElidedFormalParameter ==>> RPAREN COMMA ElidedLeftBraceAndReturn ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 EnterInstanceCreationArgumentList ==>> LPAREN UnqualifiedClassBodyopt ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 112 RestrictedIdentifiersealed $eof QualifiedClassBodyopt ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ClassInstanceCreationExpressionName ==>> Identifier LESS AT308 UnqualifiedEnterAnonymousClassBody ==>> LBRACE QualifiedEnterAnonymousClassBody ==>> LBRACE ArgumentList ==>> RPAREN COMMA DimWithOrWithOutExprs ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifiersealed $eof DimWithOrWithOutExpr ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT COLON_COLON ElidedSemicolonAndRightBrace AT308 BeginCaseExpr RestrictedIdentifiersealed $eof DimsLoop ==>> Identifier abstract default final instanceof native non-sealed private protected public static strictfp synchronized this throws transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 113 OneDimLoop ==>> Identifier abstract default final instanceof native non-sealed private protected public static strictfp synchronized this throws transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT EQUAL AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed $eof PostfixExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile PLUS_PLUS MINUS_MINUS EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT PLUS_EQUAL MINUS_EQUAL MULTIPLY_EQUAL DIVIDE_EQUAL AND_EQUAL OR_EQUAL XOR_EQUAL REMAINDER_EQUAL LEFT_SHIFT_EQUAL RIGHT_SHIFT_EQUAL UNSIGNED_RIGHT_SHIFT_EQUAL OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA EQUAL AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof PushPosition ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 UnaryExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof CastExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof AdditionalBoundsListOpt ==>> RPAREN InsideCastExpression ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 OnlyTypeArgumentsForCastExpression ==>> AND RPAREN LBRACKET DOT AT308 InsideCastExpressionWithQualifiedGenerics ==>> Identifier boolean byte char IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 114 double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 InsideCastExpressionLL1 ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 CastNameAndBounds ==>> RPAREN InsideCastExpressionLL1WithBounds ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock NOT TWIDDLE LPAREN BeginLambda BeginIntersectionCast AT308 AdditionalBoundList ==>> AND RPAREN COMMA MultiplicativeExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof AdditiveExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS XOR AND OR GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ShiftExpression ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LESS RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof EqualityExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof AndExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR AND OR IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 115 RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ExclusiveOrExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof InclusiveOrExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ConditionalOrExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR RPAREN RBRACE RBRACKET SEMICOLON QUESTION COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof ConditionalExpression ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA AT ElidedSemicolonAndRightBrace BeginCaseExpr RestrictedIdentifiersealed $eof AssignmentExpression ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof AssignmentOperator ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE BeginLambda BeginIntersectionCast AT308 InvalidArrayInitializerAssignement ==>> RPAREN RBRACE RBRACKET SEMICOLON COLON COMMA ElidedSemicolonAndRightBrace BeginCaseExpr $eof NestedType ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS LBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed ClassHeaderPermittedSubclasses ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof InterfaceHeaderPermittedSubClassesAndSubInterfaces ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof EnumBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 116 long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof EnumHeaderName ==>> abstract final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof EnumBodyDeclarationsopt ==>> RBRACE EnumConstants ==>> RBRACE SEMICOLON COMMA EnumConstant ==>> RBRACE SEMICOLON COMMA EnumConstantHeaderName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LPAREN LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof Argumentsopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof Arguments ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile LBRACE RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof EnumDeclarations ==>> RBRACE EnhancedForStatementHeader ==>> Identifier assert boolean break byte char continue do double false float for if int long new null return short super switch synchronized this throw true try void while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE SEMICOLON BeginLambda AT308 RestrictedIdentifierYield EnhancedForStatementHeaderInit ==>> COLON SingleStaticImportDeclarationName ==>> SEMICOLON StaticImportOnDemandDeclarationName ==>> SEMICOLON TypeArgumentList1 ==>> Identifier abstract final implements instanceof native new non-sealed private protected public static strictfp super synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 117 BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeArgument1 ==>> Identifier abstract final implements instanceof native new non-sealed private protected public static strictfp super synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeArgumentList ==>> COMMA TypeArgument ==>> COMMA Wildcard ==>> COMMA ReferenceType1 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof Wildcard1 ==>> Identifier abstract final implements instanceof native new non-sealed private protected public static strictfp super synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeArgumentList2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeArgument2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 118 ReferenceType2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof Wildcard2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeArgumentList3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeArgument3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof ReferenceType3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof Wildcard3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 119 ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof WildcardBounds ==>> COMMA WildcardBounds1 ==>> Identifier abstract final implements instanceof native new non-sealed private protected public static strictfp super synchronized this transient volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof WildcardBounds2 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof WildcardBounds3 ==>> Identifier abstract boolean byte char double extends final float implements instanceof int long native new non-sealed private protected public short static strictfp super synchronized this transient void volatile EQUAL_EQUAL NOT_EQUAL RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LPAREN RPAREN LBRACE RBRACE LBRACKET RBRACKET SEMICOLON QUESTION COLON COMMA DOT AT ELLIPSIS COLON_COLON ElidedSemicolonAndRightBrace AT308 AT308DOTDOTDOT BeginCaseExpr RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeParameterHeader ==>> extends GREATER COMMA TypeParameterList1 ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof TypeParameterList ==>> COMMA TypeParameter ==>> COMMA AdditionalBound ==>> AND RPAREN COMMA TypeParameter1 ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof AdditionalBoundList1 ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 120 protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof AdditionalBound1 ==>> Identifier abstract boolean byte char double extends final float implements int long native non-sealed private protected public short static strictfp synchronized transient void volatile LPAREN LBRACE AT AT308 RestrictedIdentifiersealed RestrictedIdentifierpermits $eof PostfixExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof UnaryExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof MultiplicativeExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS REMAINDER XOR AND MULTIPLY OR DIVIDE GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof AdditiveExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND PLUS MINUS XOR AND OR GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ShiftExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL LEFT_SHIFT RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT OR_OR AND_AND XOR AND OR GREATER LESS RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof RelationalExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL LESS_EQUAL GREATER_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof InstanceofExpression_NotName ==>> abstract final instanceof native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 121 EqualityExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile EQUAL_EQUAL NOT_EQUAL OR_OR AND_AND XOR AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof AndExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ExclusiveOrExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND XOR OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof InclusiveOrExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ConditionalAndExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR AND_AND RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ConditionalOrExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile OR_OR RPAREN RBRACE SEMICOLON QUESTION COMMA AT RestrictedIdentifiersealed $eof ConditionalExpression_NotName ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof AssignmentExpression_NotName ==>> RPAREN AnnotationTypeDeclarationHeaderName ==>> abstract extends final implements native non-sealed private protected public static strictfp synchronized transient volatile LBRACE AT RestrictedIdentifiersealed $eof AnnotationTypeBody ==>> Identifier abstract assert boolean break byte case char class continue default do double enum false final float for if int interface long native new non-sealed null private protected public return short static strictfp super switch synchronized this throw transient true try void volatile while IntegerLiteral LongLiteral FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS LESS LPAREN LBRACE RBRACE SEMICOLON AT BeginLambda AT308 RestrictedIdentifierYield RestrictedIdentifierrecord RestrictedIdentifiersealed $eof AnnotationTypeMemberDeclarationsopt ==>> RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 122 AnnotationTypeMemberDeclarations ==>> Identifier abstract boolean byte char class double enum final float int interface long native non-sealed private protected public short static strictfp synchronized transient void volatile LESS RBRACE SEMICOLON AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed AnnotationMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed AnnotationMethodHeaderDefaultValueopt ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifiersealed $eof DefaultValue ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile SEMICOLON AT RestrictedIdentifiersealed $eof AnnotationMethodHeader ==>> SEMICOLON NormalAnnotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof MarkerAnnotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof SingleMemberAnnotation ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof AnnotationName ==>> Identifier abstract boolean byte char class default double enum final float int interface long native non-sealed package private protected public short static strictfp synchronized transient void volatile module open LESS LPAREN RPAREN RBRACE SEMICOLON COMMA AT AT308 RestrictedIdentifierrecord RestrictedIdentifiersealed $eof MemberValuePairs ==>> RPAREN COMMA MemberValuePair ==>> RPAREN COMMA EnterMemberValue ==>> Identifier boolean byte char double false float int long new null short super switch this true void IntegerLiteral LongLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 123 FloatingPointLiteral DoubleLiteral CharacterLiteral StringLiteral TextBlock PLUS_PLUS MINUS_MINUS PLUS MINUS NOT TWIDDLE LPAREN LBRACE AT BeginLambda BeginIntersectionCast AT308 ExitMemberValue ==>> RPAREN COMMA MemberValueArrayInitializer ==>> abstract final native non-sealed private protected public static strictfp synchronized transient volatile RPAREN RBRACE SEMICOLON COMMA AT RestrictedIdentifiersealed $eof EnterMemberValueArrayInitializer ==>> LBRACE MemberValues ==>> RBRACE COMMA RecoveryMethodHeaderName ==>> Identifier abstract boolean byte char double final float int long native non-sealed private protected public short static strictfp synchronized transient void volatile RPAREN AT AT308 RestrictedIdentifiersealed IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 124 Name map: $empty ::= $empty Identifier ::= Identifier abstract ::= abstract assert ::= assert boolean ::= boolean break ::= break byte ::= byte case ::= case catch ::= catch char ::= char class ::= class continue ::= continue const ::= const default ::= default do ::= do double ::= double else ::= else enum ::= enum extends ::= extends false ::= false final ::= final finally ::= finally float ::= float for ::= for goto ::= goto if ::= if implements ::= implements import ::= import instanceof ::= instanceof int ::= int interface ::= interface long ::= long native ::= native new ::= new non-sealed ::= non-sealed null ::= null package ::= package private ::= private protected ::= protected public ::= public return ::= return short ::= short static ::= static strictfp ::= strictfp super ::= super switch ::= switch synchronized ::= synchronized this ::= this throw ::= throw IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 125 throws ::= throws transient ::= transient true ::= true try ::= try void ::= void volatile ::= volatile while ::= while module ::= module open ::= open requires ::= requires transitive ::= transitive exports ::= exports opens ::= opens to ::= to uses ::= uses provides ::= provides with ::= with IntegerLiteral ::= IntegerLiteral LongLiteral ::= LongLiteral FloatingPointLiteral ::= FloatingPointLiteral DoubleLiteral ::= DoubleLiteral CharacterLiteral ::= CharacterLiteral StringLiteral ::= StringLiteral TextBlock ::= TextBlock PLUS_PLUS ::= ++ MINUS_MINUS ::= -- EQUAL_EQUAL ::= == LESS_EQUAL ::= <= GREATER_EQUAL ::= >= NOT_EQUAL ::= != LEFT_SHIFT ::= << RIGHT_SHIFT ::= >> UNSIGNED_RIGHT_SHIFT ::= >>> PLUS_EQUAL ::= += MINUS_EQUAL ::= -= MULTIPLY_EQUAL ::= *= DIVIDE_EQUAL ::= /= AND_EQUAL ::= &= OR_EQUAL ::= |= XOR_EQUAL ::= ^= REMAINDER_EQUAL ::= %= LEFT_SHIFT_EQUAL ::= <<= RIGHT_SHIFT_EQUAL ::= >>= UNSIGNED_RIGHT_SHIFT_EQUAL ::= >>>= OR_OR ::= || AND_AND ::= && PLUS ::= + MINUS ::= - NOT ::= ! REMAINDER ::= % XOR ::= ^ IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 126 AND ::= & MULTIPLY ::= * OR ::= '|' TWIDDLE ::= ~ DIVIDE ::= / GREATER ::= > LESS ::= < LPAREN ::= ( RPAREN ::= ) LBRACE ::= { RBRACE ::= } LBRACKET ::= [ RBRACKET ::= ] SEMICOLON ::= ; QUESTION ::= ? COLON ::= : COMMA ::= , DOT ::= . EQUAL ::= = AT ::= @ ELLIPSIS ::= ... ARROW ::= -> COLON_COLON ::= :: BeginLambda ::= BeginLambda BeginIntersectionCast ::= BeginIntersectionCast BeginTypeArguments ::= BeginTypeArguments ElidedSemicolonAndRightBrace ::= ElidedSemicolonAndRightBrace AT308 ::= @ AT308DOTDOTDOT ::= @ BeginCaseExpr ::= BeginCaseExpr RestrictedIdentifierYield ::= RestrictedIdentifierYield RestrictedIdentifierrecord ::= RestrictedIdentifierrecord RestrictedIdentifiersealed ::= RestrictedIdentifiersealed RestrictedIdentifierpermits ::= RestrictedIdentifierpermits BeginCaseElement ::= BeginCaseElement $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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 127 GenericMethodDeclaration ::= GenericMethodDeclaration ClassBodyDeclarations ::= ClassBodyDeclarations RecordBodyDeclarations ::= RecordBodyDeclarations Expression ::= Expression ArrayInitializer ::= ArrayInitializer BlockStatementsopt ::= BlockStatementsopt BlockStatementopt ::= BlockStatementopt MemberValue ::= MemberValue AnnotationTypeMemberDeclaration ::= AnnotationTypeMemberDeclaration ParenthesizedLambdaParameterList ::= ParenthesizedLambdaParameterList ParenthesizedCastNameAndBounds ::= ParenthesizedCastNameAndBounds ReferenceExpressionTypeArgumentsAndTrunk ::= ReferenceExpressionTypeArgumentsAndTrunk TypeAnnotations ::= TypeAnnotations YieldStatement ::= YieldStatement SwitchLabelCaseLhs ::= SwitchLabelCaseLhs PermittedSubclasses ::= PermittedSubclasses Pattern ::= Pattern Literal ::= Literal BooleanLiteral ::= BooleanLiteral Type ::= Type PrimitiveType ::= PrimitiveType ReferenceType ::= ReferenceType TypeAnnotationsopt ::= TypeAnnotationsopt NumericType ::= NumericType IntegralType ::= IntegralType FloatingPointType ::= FloatingPointType ClassOrInterfaceType ::= ClassOrInterfaceType ArrayType ::= ArrayType ClassOrInterface ::= ClassOrInterface GenericType ::= GenericType Name ::= Name TypeArguments ::= TypeArguments ArrayTypeWithTypeArgumentsName ::= ArrayTypeWithTypeArgumentsName Dims ::= Dims ClassType ::= ClassType SimpleName ::= SimpleName QualifiedName ::= QualifiedName UnannotatableName ::= UnannotatableName TypeAnnotations0 ::= TypeAnnotations0 TypeAnnotation ::= TypeAnnotation NormalTypeAnnotation ::= NormalTypeAnnotation MarkerTypeAnnotation ::= MarkerTypeAnnotation SingleMemberTypeAnnotation ::= SingleMemberTypeAnnotation TypeAnnotationName ::= TypeAnnotationName MemberValuePairsopt ::= MemberValuePairsopt SingleMemberAnnotationMemberValue ::= SingleMemberAnnotationMemberValue RejectTypeAnnotations ::= RejectTypeAnnotations PushZeroTypeAnnotations ::= PushZeroTypeAnnotations VariableDeclaratorIdOrThis ::= VariableDeclaratorIdOrThis VariableDeclaratorId ::= VariableDeclaratorId IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 128 EnterCompilationUnit ::= EnterCompilationUnit InternalCompilationUnit ::= InternalCompilationUnit ImportDeclarations ::= ImportDeclarations ReduceImports ::= ReduceImports TypeDeclarations ::= TypeDeclarations ModuleDeclaration ::= ModuleDeclaration ModuleHeader ::= ModuleHeader ModuleBody ::= ModuleBody ModuleModifieropt ::= ModuleModifieropt ModuleModifier ::= ModuleModifier ModuleStatementsOpt ::= ModuleStatementsOpt ModuleStatements ::= ModuleStatements ModuleStatement ::= ModuleStatement RequiresStatement ::= RequiresStatement ExportsStatement ::= ExportsStatement OpensStatement ::= OpensStatement UsesStatement ::= UsesStatement ProvidesStatement ::= ProvidesStatement SingleRequiresModuleName ::= SingleRequiresModuleName RequiresModifiersopt ::= RequiresModifiersopt RequiresModifiers ::= RequiresModifiers RequiresModifier ::= RequiresModifier ExportsHeader ::= ExportsHeader TargetModuleListopt ::= TargetModuleListopt SinglePkgName ::= SinglePkgName TargetModuleNameList ::= TargetModuleNameList TargetModuleName ::= TargetModuleName OpensHeader ::= OpensHeader UsesHeader ::= UsesHeader ProvidesInterface ::= ProvidesInterface WithClause ::= WithClause ServiceImplName ::= ServiceImplName ServiceImplNameList ::= ServiceImplNameList Header ::= Header ClassHeader ::= ClassHeader InterfaceHeader ::= InterfaceHeader EnumHeader ::= EnumHeader RecordHeaderPart ::= RecordHeaderPart AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeader RecoveryMethodHeader ::= RecoveryMethodHeader AllocationHeader ::= AllocationHeader ArrayCreationHeader ::= ArrayCreationHeader ConstructorHeader ::= ConstructorHeader EnumConstantHeader ::= EnumConstantHeader CatchFormalParameter ::= CatchFormalParameter PackageDeclarationName ::= PackageDeclarationName Modifiers ::= Modifiers PushRealModifiers ::= PushRealModifiers PackageComment ::= PackageComment SingleTypeImportDeclaration ::= SingleTypeImportDeclaration TypeImportOnDemandDeclaration ::= TypeImportOnDemandDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 129 SingleStaticImportDeclaration ::= SingleStaticImportDeclaration StaticImportOnDemandDeclaration ::= StaticImportOnDemandDeclaration SingleTypeImportDeclarationName ::= SingleTypeImportDeclarationName TypeImportOnDemandDeclarationName ::= TypeImportOnDemandDeclarationName ClassDeclaration ::= ClassDeclaration InterfaceDeclaration ::= InterfaceDeclaration EnumDeclaration ::= EnumDeclaration AnnotationTypeDeclaration ::= AnnotationTypeDeclaration RecordDeclaration ::= RecordDeclaration Modifier ::= Modifier Annotation ::= Annotation ClassBody ::= ClassBody ClassHeaderName ::= ClassHeaderName ClassHeaderExtendsopt ::= ClassHeaderExtendsopt ClassHeaderImplementsopt ::= ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ::= ClassHeaderPermittedSubclassesopt ClassHeaderName1 ::= ClassHeaderName1 TypeParameters ::= TypeParameters ClassHeaderExtends ::= ClassHeaderExtends ClassHeaderImplements ::= ClassHeaderImplements InterfaceTypeList ::= InterfaceTypeList InterfaceType ::= InterfaceType ClassBodyDeclarationsopt ::= ClassBodyDeclarationsopt ClassBodyDeclaration ::= ClassBodyDeclaration ClassMemberDeclaration ::= ClassMemberDeclaration ConstructorDeclaration ::= ConstructorDeclaration Diet ::= Diet NestedMethod ::= NestedMethod CreateInitializer ::= CreateInitializer Block ::= Block MethodDeclaration ::= MethodDeclaration VariableDeclarators ::= VariableDeclarators VariableDeclarator ::= VariableDeclarator EnterVariable ::= EnterVariable ExitVariableWithoutInitialization ::= ExitVariableWithoutInitialization ForceNoDiet ::= ForceNoDiet VariableInitializer ::= VariableInitializer RestoreDiet ::= RestoreDiet ExitVariableWithInitialization ::= ExitVariableWithInitialization Dimsopt ::= Dimsopt AbstractMethodDeclaration ::= AbstractMethodDeclaration MethodHeader ::= MethodHeader DefaultMethodHeader ::= DefaultMethodHeader MethodHeaderName ::= MethodHeaderName FormalParameterListopt ::= FormalParameterListopt MethodHeaderRightParen ::= MethodHeaderRightParen MethodHeaderExtendedDims ::= MethodHeaderExtendedDims MethodHeaderThrowsClauseopt ::= MethodHeaderThrowsClauseopt DefaultMethodHeaderName ::= DefaultMethodHeaderName ModifiersWithDefault ::= ModifiersWithDefault MethodHeaderThrowsClause ::= MethodHeaderThrowsClause IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 130 ClassTypeList ::= ClassTypeList ConstructorHeaderName ::= ConstructorHeaderName FormalParameterList ::= FormalParameterList FormalParameter ::= FormalParameter CatchType ::= CatchType UnionType ::= UnionType ClassTypeElt ::= ClassTypeElt StaticOnly ::= StaticOnly ExplicitConstructorInvocation ::= ExplicitConstructorInvocation ArgumentListopt ::= ArgumentListopt OnlyTypeArguments ::= OnlyTypeArguments Primary ::= Primary InterfaceBody ::= InterfaceBody InterfaceHeaderName ::= InterfaceHeaderName InterfaceHeaderExtendsopt ::= InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ::= InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName1 ::= InterfaceHeaderName1 InterfaceHeaderExtends ::= InterfaceHeaderExtends InterfaceMemberDeclarationsopt ::= InterfaceMemberDeclarationsopt InterfaceMemberDeclarations ::= InterfaceMemberDeclarations InterfaceMemberDeclaration ::= InterfaceMemberDeclaration ConstantDeclaration ::= ConstantDeclaration InvalidConstructorDeclaration ::= InvalidConstructorDeclaration InvalidInitializer ::= InvalidInitializer RecordBody ::= RecordBody RecordHeaderName ::= RecordHeaderName RecordHeader ::= RecordHeader RecordHeaderName1 ::= RecordHeaderName1 RecordComponentHeaderRightParen ::= RecordComponentHeaderRightParen RecordComponentsopt ::= RecordComponentsopt RecordComponents ::= RecordComponents RecordComponent ::= RecordComponent VariableArityRecordComponent ::= VariableArityRecordComponent RecordBodyDeclarationopt ::= RecordBodyDeclarationopt RecordBodyDeclaration ::= RecordBodyDeclaration CompactConstructorDeclaration ::= CompactConstructorDeclaration CompactConstructorHeader ::= CompactConstructorHeader CompactConstructorHeaderName ::= CompactConstructorHeaderName InstanceofExpression ::= InstanceofExpression RelationalExpression ::= RelationalExpression InstanceofRHS ::= InstanceofRHS InstanceofClassic ::= InstanceofClassic InstanceofPrimaryTypePattern ::= InstanceofPrimaryTypePattern InstanceofPrimaryParenPattern ::= InstanceofPrimaryParenPattern ParenthesizedPattern ::= ParenthesizedPattern PrimaryPattern ::= PrimaryPattern GuardedPattern ::= GuardedPattern TypePattern ::= TypePattern PushLPAREN ::= PushLPAREN PushRPAREN ::= PushRPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 131 ConditionalAndExpression ::= ConditionalAndExpression PushLeftBrace ::= PushLeftBrace ,opt ::= ,opt VariableInitializers ::= VariableInitializers OpenBlock ::= OpenBlock BlockStatement ::= BlockStatement BlockStatementopt0 ::= BlockStatementopt0 LocalVariableDeclarationStatement ::= LocalVariableDeclarationStatement Statement ::= Statement LocalVariableDeclaration ::= LocalVariableDeclaration PushModifiers ::= PushModifiers PushModifiersForHeader ::= PushModifiersForHeader StatementWithoutTrailingSubstatement ::= StatementWithoutTrailingSubstatement LabeledStatement ::= LabeledStatement IfThenStatement ::= IfThenStatement IfThenElseStatement ::= IfThenElseStatement WhileStatement ::= WhileStatement ForStatement ::= ForStatement EnhancedForStatement ::= EnhancedForStatement StatementNoShortIf ::= StatementNoShortIf LabeledStatementNoShortIf ::= LabeledStatementNoShortIf IfThenElseStatementNoShortIf ::= IfThenElseStatementNoShortIf WhileStatementNoShortIf ::= WhileStatementNoShortIf ForStatementNoShortIf ::= ForStatementNoShortIf EnhancedForStatementNoShortIf ::= EnhancedForStatementNoShortIf AssertStatement ::= AssertStatement EmptyStatement ::= EmptyStatement ExpressionStatement ::= ExpressionStatement SwitchStatement ::= SwitchStatement DoStatement ::= DoStatement BreakStatement ::= BreakStatement ContinueStatement ::= ContinueStatement ReturnStatement ::= ReturnStatement SynchronizedStatement ::= SynchronizedStatement ThrowStatement ::= ThrowStatement TryStatement ::= TryStatement TryStatementWithResources ::= TryStatementWithResources Label ::= Label StatementExpression ::= StatementExpression Assignment ::= Assignment PreIncrementExpression ::= PreIncrementExpression PreDecrementExpression ::= PreDecrementExpression PostIncrementExpression ::= PostIncrementExpression PostDecrementExpression ::= PostDecrementExpression MethodInvocation ::= MethodInvocation ClassInstanceCreationExpression ::= ClassInstanceCreationExpression SwitchBlock ::= SwitchBlock SwitchBlockStatements ::= SwitchBlockStatements SwitchLabels ::= SwitchLabels SwitchBlockStatement ::= SwitchBlockStatement SwitchLabeledRule ::= SwitchLabeledRule IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 132 SwitchLabel ::= SwitchLabel UnaryExpressionNotPlusMinus ::= UnaryExpressionNotPlusMinus SwitchExpression ::= SwitchExpression UnaryExpressionNotPlusMinus_NotName ::= UnaryExpressionNotPlusMinus_NotName SwitchLabeledExpression ::= SwitchLabeledExpression SwitchLabeledBlock ::= SwitchLabeledBlock SwitchLabeledThrowStatement ::= SwitchLabeledThrowStatement SwitchLabelExpr ::= SwitchLabelExpr ThrowExpression ::= ThrowExpression CaseLabelElements ::= CaseLabelElements CaseLabelElement ::= CaseLabelElement ConstantExpression ::= ConstantExpression ForInitopt ::= ForInitopt Expressionopt ::= Expressionopt ForUpdateopt ::= ForUpdateopt ForInit ::= ForInit StatementExpressionList ::= StatementExpressionList ForUpdate ::= ForUpdate OnlySynchronized ::= OnlySynchronized TryBlock ::= TryBlock Catches ::= Catches Catchesopt ::= Catchesopt Finally ::= Finally ResourceSpecification ::= ResourceSpecification Resources ::= Resources ;opt ::= ;opt Resource ::= Resource TrailingSemiColon ::= TrailingSemiColon FieldAccess ::= FieldAccess ExitTryBlock ::= ExitTryBlock CatchClause ::= CatchClause PrimaryNoNewArray ::= PrimaryNoNewArray ArrayCreationWithArrayInitializer ::= ArrayCreationWithArrayInitializer ArrayCreationWithoutArrayInitializer ::= ArrayCreationWithoutArrayInitializer Expression_NotName ::= Expression_NotName QualifiedSuperReceiver ::= QualifiedSuperReceiver ArrayAccess ::= ArrayAccess LambdaExpression ::= LambdaExpression ReferenceExpression ::= ReferenceExpression ReferenceExpressionTypeArgumentsAndTrunk0 ::= ReferenceExpressionTypeArgumentsAndTrunk0 NonWildTypeArgumentsopt ::= NonWildTypeArgumentsopt IdentifierOrNew ::= IdentifierOrNew LambdaParameters ::= LambdaParameters LambdaBody ::= LambdaBody NestedLambda ::= NestedLambda LambdaParameterList ::= LambdaParameterList TypeElidedFormalParameterList ::= TypeElidedFormalParameterList TypeElidedFormalParameter ::= TypeElidedFormalParameter ElidedLeftBraceAndReturn ::= ElidedLeftBraceAndReturn EnterInstanceCreationArgumentList ::= EnterInstanceCreationArgumentList IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 133 UnqualifiedClassBodyopt ::= UnqualifiedClassBodyopt QualifiedClassBodyopt ::= QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= ClassInstanceCreationExpressionName UnqualifiedEnterAnonymousClassBody ::= UnqualifiedEnterAnonymousClassBody QualifiedEnterAnonymousClassBody ::= QualifiedEnterAnonymousClassBody ArgumentList ::= ArgumentList DimWithOrWithOutExprs ::= DimWithOrWithOutExprs DimWithOrWithOutExpr ::= DimWithOrWithOutExpr DimsLoop ::= DimsLoop OneDimLoop ::= OneDimLoop PostfixExpression ::= PostfixExpression PushPosition ::= PushPosition UnaryExpression ::= UnaryExpression CastExpression ::= CastExpression AdditionalBoundsListOpt ::= AdditionalBoundsListOpt InsideCastExpression ::= InsideCastExpression OnlyTypeArgumentsForCastExpression ::= OnlyTypeArgumentsForCastExpression InsideCastExpressionWithQualifiedGenerics ::= InsideCastExpressionWithQualifiedGenerics InsideCastExpressionLL1 ::= InsideCastExpressionLL1 CastNameAndBounds ::= CastNameAndBounds InsideCastExpressionLL1WithBounds ::= InsideCastExpressionLL1WithBounds AdditionalBoundList ::= AdditionalBoundList MultiplicativeExpression ::= MultiplicativeExpression AdditiveExpression ::= AdditiveExpression ShiftExpression ::= ShiftExpression EqualityExpression ::= EqualityExpression AndExpression ::= AndExpression ExclusiveOrExpression ::= ExclusiveOrExpression InclusiveOrExpression ::= InclusiveOrExpression ConditionalOrExpression ::= ConditionalOrExpression ConditionalExpression ::= ConditionalExpression AssignmentExpression ::= AssignmentExpression AssignmentOperator ::= AssignmentOperator InvalidArrayInitializerAssignement ::= InvalidArrayInitializerAssignement NestedType ::= NestedType ClassHeaderPermittedSubclasses ::= ClassHeaderPermittedSubclasses InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= InterfaceHeaderPermittedSubClassesAndSubInterfaces EnumBody ::= EnumBody EnumHeaderName ::= EnumHeaderName EnumBodyDeclarationsopt ::= EnumBodyDeclarationsopt EnumConstants ::= EnumConstants EnumConstant ::= EnumConstant EnumConstantHeaderName ::= EnumConstantHeaderName Argumentsopt ::= Argumentsopt Arguments ::= Arguments EnumDeclarations ::= EnumDeclarations EnhancedForStatementHeader ::= EnhancedForStatementHeader EnhancedForStatementHeaderInit ::= EnhancedForStatementHeaderInit SingleStaticImportDeclarationName ::= SingleStaticImportDeclarationName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 134 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 135 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:11:53 2021 Page 136 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:11:53 2021 Page 137 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 VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations .ELLIPSIS VariableDeclaratorId ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 138 ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt .PushRPAREN UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt . PushRPAREN UnaryExpression ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN RPAREN ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN RPAREN Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable .EQUAL VariableInitializer ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments . ClassType LPAREN RPAREN SingleMemberAnnotation ::= AnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN NormalAnnotation ::= AnnotationName LPAREN MemberValuePairsopt .RPAREN TypeParameter1 ::= TypeParameterHeader extends ReferenceType . AdditionalBoundList1 TypeParameter ::= TypeParameterHeader extends ReferenceType . AdditionalBoundList EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON Expression .RPAREN EnumBody ::= LBRACE EnumConstants EnumBodyDeclarationsopt .RBRACE EnumBody ::= LBRACE COMMA EnumBodyDeclarationsopt .RBRACE ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET Expression . RBRACKET ArrayAccess ::= PrimaryNoNewArray LBRACKET Expression .RBRACKET ArrayAccess ::= Name LBRACKET Expression .RBRACKET MethodInvocation ::= Name LPAREN ArgumentListopt .RPAREN DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET Expression .RBRACKET ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs .ArrayInitializer ArrayCreationWithArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs .ArrayInitializer ReferenceExpression ::= super COLON_COLON NonWildTypeArgumentsopt .Identifier ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt .Identifier ReferenceExpression ::= Primary COLON_COLON NonWildTypeArgumentsopt . Identifier ResourceSpecification ::= LPAREN Resources ;opt .RPAREN TryStatement ::= try TryBlock Catchesopt .Finally SwitchBlock ::= LBRACE SwitchBlockStatements SwitchLabels .RBRACE LocalVariableDeclaration ::= Modifiers Type PushRealModifiers . VariableDeclarators Block ::= OpenBlock LBRACE BlockStatementsopt .RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 139 ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .RBRACE InstanceofPrimaryTypePattern ::= instanceof Modifiersopt Type .Identifier MethodBody ::= NestedMethod LBRACE BlockStatementsopt .RBRACE FieldDeclaration ::= Modifiersopt Type VariableDeclarators .SEMICOLON SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN NormalTypeAnnotation ::= TypeAnnotationName LPAREN MemberValuePairsopt .RPAREN QualifiedName ::= Name DOT TypeAnnotations .SimpleName AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN ConditionalExpression_NotName ::= Name QUESTION Expression .COLON ConditionalExpression ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression .COLON ConditionalExpression ConditionalExpression ::= ConditionalOrExpression QUESTION Expression .COLON ConditionalExpression CatchClause ::= catch LPAREN CatchFormalParameter .RPAREN Block SynchronizedStatement ::= OnlySynchronized LPAREN Expression .RPAREN Block WhileStatementNoShortIf ::= while LPAREN Expression .RPAREN StatementNoShortIf WhileStatement ::= while LPAREN Expression .RPAREN Statement IfThenStatement ::= if LPAREN Expression .RPAREN Statement ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .COMMA RBRACE VariableArityRecordComponent ::= Modifiersopt Type PushZeroTypeAnnotations . ELLIPSIS VariableDeclaratorId ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt .RPAREN SEMICOLON ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt .RPAREN SEMICOLON FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type . Identifier LPAREN MethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 140 EnterInstanceCreationArgumentList .LPAREN RPAREN IfThenElseStatementNoShortIf ::= if LPAREN Expression .RPAREN StatementNoShortIf else StatementNoShortIf IfThenElseStatement ::= if LPAREN Expression .RPAREN StatementNoShortIf else Statement ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments .this LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments .this LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments .super LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments .super LPAREN RPAREN SEMICOLON ForStatementNoShortIf ::= for LPAREN ForInitopt .SEMICOLON SEMICOLON RPAREN StatementNoShortIf ForStatement ::= for LPAREN ForInitopt .SEMICOLON SEMICOLON RPAREN Statement CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression .DOT ClassOrInterfaceType PushRPAREN UnaryExpressionNotPlusMinus Resource ::= Modifiers Type PushRealModifiers .VariableDeclaratorId EQUAL VariableInitializer AnnotationTypeBody ::= LBRACE AnnotationTypeMemberDeclarationsopt .RBRACE Arguments ::= LPAREN ArgumentListopt .RPAREN EnumBody ::= LBRACE EnumBodyDeclarationsopt .RBRACE ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType . DimWithOrWithOutExprs ArrayCreationWithoutArrayInitializer ::= new PrimitiveType . DimWithOrWithOutExprs LambdaBody ::= ElidedLeftBraceAndReturn Expression . ElidedSemicolonAndRightBrace LambdaParameterList ::= PushLPAREN TypeElidedFormalParameterList .PushRPAREN LambdaParameterList ::= PushLPAREN FormalParameterListopt .PushRPAREN PrimaryNoNewArray ::= PushLPAREN Name .PushRPAREN PrimaryNoNewArray ::= PushLPAREN Expression_NotName .PushRPAREN TryStatement ::= try TryBlock .Catches ThrowStatement ::= throw Expression .SEMICOLON ReturnStatement ::= return Expressionopt .SEMICOLON AssertStatement ::= assert Expression .SEMICOLON YieldStatement ::= RestrictedIdentifierYield Expression .SEMICOLON SwitchLabeledThrowStatement ::= SwitchLabelExpr ThrowExpression .SEMICOLON SwitchLabeledExpression ::= SwitchLabelExpr Expression .SEMICOLON SwitchBlock ::= LBRACE SwitchLabels .RBRACE SwitchBlock ::= LBRACE SwitchBlockStatements .RBRACE LocalVariableDeclaration ::= Type PushModifiers .VariableDeclarators TypePattern ::= Modifiersopt Type .Identifier ParenthesizedPattern ::= PushLPAREN Pattern .PushRPAREN InstanceofClassic ::= instanceof Modifiersopt .Type CompactConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier RecordBody ::= LBRACE RecordBodyDeclarationopt .RBRACE RecordComponent ::= Modifiersopt Type .VariableDeclaratorId RecordHeader ::= LPAREN RecordComponentsopt .RecordComponentHeaderRightParen IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 141 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 InstanceofPrimaryTypePattern ::= instanceof Modifiersopt .Type Identifier 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 VariableArityRecordComponent ::= Modifiersopt Type .AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId FormalParameter ::= Modifiersopt Type .AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis CastExpression ::= PushLPAREN Name .Dims PushRPAREN UnaryExpressionNotPlusMinus DoStatement ::= do Statement .while LPAREN Expression RPAREN SEMICOLON CastExpression ::= PushLPAREN Name .OnlyTypeArgumentsForCastExpression PushRPAREN UnaryExpressionNotPlusMinus ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments .ClassType LPAREN RPAREN ClassInstanceCreationExpression ::= new OnlyTypeArguments .ClassType LPAREN RPAREN Resource ::= Type PushModifiers .VariableDeclaratorId EQUAL VariableInitializer CastExpression ::= PushLPAREN Name .OnlyTypeArgumentsForCastExpression DOT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 142 ClassOrInterfaceType PushRPAREN UnaryExpressionNotPlusMinus AnnotationTypeMemberDeclaration ::= AnnotationMethodHeader .SEMICOLON AnnotationTypeDeclaration ::= AnnotationTypeDeclarationHeader . AnnotationTypeBody InstanceofExpression_NotName ::= Name .InstanceofRHS AdditionalBoundList1 ::= AdditionalBoundList .AdditionalBound1 TypeParameter1 ::= TypeParameterHeader .GREATER TypeParameterHeader ::= TypeAnnotationsopt .Identifier Wildcard ::= TypeAnnotationsopt .QUESTION ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType1 ::= ReferenceType .GREATER EnhancedForStatementNoShortIf ::= EnhancedForStatementHeader . StatementNoShortIf EnhancedForStatement ::= EnhancedForStatementHeader .Statement EnumConstantHeaderName ::= Modifiersopt .Identifier EnumDeclaration ::= EnumHeader .EnumBody CastNameAndBounds ::= Name .AdditionalBoundList TypeElidedFormalParameter ::= Modifiersopt .Identifier SwitchLabel ::= SwitchLabelCaseLhs .COLON SwitchBlockStatement ::= SwitchLabels .BlockStatements ExpressionStatement ::= StatementExpression .SEMICOLON LocalVariableDeclarationStatement ::= LocalVariableDeclaration .SEMICOLON CompactConstructorHeaderName ::= Modifiersopt .Identifier RecordDeclaration ::= RecordHeaderPart .RecordBody InvalidConstructorDeclaration ::= ConstructorHeader .SEMICOLON InterfaceMemberDeclaration ::= DefaultMethodHeader .SEMICOLON InterfaceDeclaration ::= InterfaceHeader .InterfaceBody ConstructorDeclaration ::= ConstructorHeader .SEMICOLON AbstractMethodDeclaration ::= MethodHeader .SEMICOLON ClassDeclaration ::= ClassHeader .ClassBody Name ::= TypeAnnotations .SimpleName ArrayType ::= ArrayTypeWithTypeArgumentsName .Dims ArrayType ::= PrimitiveType .Dims PrimitiveType ::= TypeAnnotationsopt .void PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .NumericType ConditionalOrExpression_NotName ::= Name .OR_OR ConditionalAndExpression ConditionalAndExpression_NotName ::= Name .AND_AND InclusiveOrExpression InclusiveOrExpression_NotName ::= Name .OR ExclusiveOrExpression ExclusiveOrExpression_NotName ::= Name .XOR AndExpression AndExpression_NotName ::= Name .AND EqualityExpression EqualityExpression_NotName ::= Name .NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= Name .EQUAL_EQUAL InstanceofExpression RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER ShiftExpression RelationalExpression_NotName ::= Name .LESS ShiftExpression ShiftExpression_NotName ::= Name .UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .LEFT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 143 AdditiveExpression_NotName ::= Name .MINUS MultiplicativeExpression AdditiveExpression_NotName ::= Name .PLUS MultiplicativeExpression MultiplicativeExpression_NotName ::= Name .REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= Name .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= Name .MULTIPLY UnaryExpression TypeParameter1 ::= TypeParameterHeader .extends ReferenceType1 TypeParameterList1 ::= TypeParameterList .COMMA TypeParameter1 Wildcard3 ::= TypeAnnotationsopt .QUESTION WildcardBounds3 Wildcard3 ::= TypeAnnotationsopt .QUESTION UNSIGNED_RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt .QUESTION WildcardBounds2 Wildcard2 ::= TypeAnnotationsopt .QUESTION RIGHT_SHIFT Wildcard1 ::= TypeAnnotationsopt .QUESTION WildcardBounds1 Wildcard1 ::= TypeAnnotationsopt .QUESTION GREATER Wildcard ::= TypeAnnotationsopt .QUESTION WildcardBounds TypeArgumentList3 ::= TypeArgumentList .COMMA TypeArgument3 ReferenceType2 ::= ClassOrInterface .LESS TypeArgumentList3 TypeArgumentList2 ::= TypeArgumentList .COMMA TypeArgument2 ReferenceType1 ::= ClassOrInterface .LESS TypeArgumentList2 TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 EnumHeaderName ::= Modifiersopt .enum Identifier InvalidArrayInitializerAssignement ::= PostfixExpression .AssignmentOperator ArrayInitializer Assignment ::= PostfixExpression .AssignmentOperator AssignmentExpression FieldAccess ::= QualifiedSuperReceiver .DOT Identifier OneDimLoop ::= TypeAnnotations .LBRACKET RBRACKET DimWithOrWithOutExpr ::= TypeAnnotationsopt .LBRACKET RBRACKET ClassInstanceCreationExpressionName ::= Name .DOT new LambdaExpression ::= LambdaParameters .ARROW LambdaBody PrimaryNoNewArray ::= PrimitiveType .DOT class PrimaryNoNewArray ::= Name .DOT class QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT this SwitchLabelExpr ::= SwitchLabelCaseLhs .BeginCaseExpr ARROW SwitchLabeledThrowStatement ::= SwitchLabelExpr .ThrowExpression SEMICOLON SwitchLabeledExpression ::= SwitchLabelExpr .Expression SEMICOLON TypePattern ::= Modifiersopt .Type Identifier CompactConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier RecordComponent ::= Modifiersopt .Type VariableDeclaratorId RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier RecordHeaderPart ::= RecordHeaderName .RecordHeader InterfaceHeaderName1 ::= Modifiersopt .interface Identifier CatchFormalParameter ::= Modifiersopt .CatchType VariableDeclaratorId FormalParameter ::= Modifiersopt .Type VariableDeclaratorIdOrThis ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default ClassHeaderName1 ::= Modifiersopt .class Identifier ArrayTypeWithTypeArgumentsName ::= GenericType .DOT Name AnnotationMethodHeaderName ::= Modifiersopt .Type Identifier LPAREN TypeParameter1 ::= TypeParameterHeader .extends ReferenceType AdditionalBoundList1 EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit .COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 144 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 VariableArityRecordComponent ::= Modifiersopt .Type ELLIPSIS VariableDeclaratorId FormalParameter ::= Modifiersopt .Type ELLIPSIS VariableDeclaratorIdOrThis DefaultMethodHeaderName ::= ModifiersWithDefault .TypeParameters Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN AnnotationTypeDeclarationHeaderName ::= Modifiers .AT interface Identifier TypeParameters MethodInvocation ::= QualifiedSuperReceiver .DOT Identifier LPAREN RPAREN ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON IdentifierOrNew VariableArityRecordComponent ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId ExplicitConstructorInvocation ::= OnlyTypeArguments .super LPAREN RPAREN SEMICOLON ExplicitConstructorInvocation ::= OnlyTypeArguments .this LPAREN RPAREN SEMICOLON FormalParameter ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis MethodInvocation ::= QualifiedSuperReceiver .DOT OnlyTypeArguments Identifier LPAREN RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN RPAREN ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName . ClassType LPAREN RPAREN ExplicitConstructorInvocation ::= Name .DOT this LPAREN RPAREN SEMICOLON 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 145 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:11:53 2021 Page 146 Number of Terminals: 136 Number of Nonterminals: 429 Number of Productions: 933 Number of Single Productions: 280 Number of Items: 2916 Number of Scopes: 319 Number of States: 1219 Number of Shift actions: 6085 Number of Goto actions: 10328 Number of Shift/Reduce actions: 757 Number of Goto/Reduce actions: 2572 Number of Reduce actions: 18648 Number of Shift-Reduce conflicts: 0 Number of Reduce-Reduce conflicts: 0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 147 Shift STATES: STATE 1 ------------------------------------------------------------------------ ( ) $acc ::= .Goal Goal ::= .PLUS_PLUS CompilationUnit Goal ::= .MINUS_MINUS MethodBody Goal ::= .RIGHT_SHIFT StaticInitializer Goal ::= .RIGHT_SHIFT Initializer Goal ::= .UNSIGNED_RIGHT_SHIFT Header1 Modifiersopt Goal ::= .NOT Header2 Modifiersopt Goal ::= .MULTIPLY BlockStatements Goal ::= .MULTIPLY CatchHeader Goal ::= .AND_AND FieldDeclaration Goal ::= .OR_OR ImportDeclaration Goal ::= .QUESTION PackageDeclaration Goal ::= .PLUS TypeDeclaration Goal ::= .DIVIDE GenericMethodDeclaration Goal ::= .AND ClassBodyDeclarations Goal ::= .MINUS RecordBodyDeclarations Goal ::= .REMAINDER Expression Goal ::= .REMAINDER ArrayInitializer Goal ::= .TWIDDLE BlockStatementsopt Goal ::= .LBRACE BlockStatementopt Goal ::= .OR_OR MemberValue Goal ::= .QUESTION AnnotationTypeMemberDeclaration Goal ::= .ARROW ParenthesizedLambdaParameterList Goal ::= .LPAREN ParenthesizedCastNameAndBounds Goal ::= .LESS ReferenceExpressionTypeArgumentsAndTrunk Goal ::= .AT TypeAnnotations Goal ::= .ARROW YieldStatement Goal ::= .ARROW SwitchLabelCaseLhs Goal ::= .RestrictedIdentifiersealed Modifiersopt Goal ::= .RestrictedIdentifierpermits PermittedSubclasses Goal ::= .BeginCaseElement Pattern BeginCaseElement Shift 3 RestrictedIdentifierpermits Shift 4 RestrictedIdentifiersealed Shift 5 AT Shift 6 LESS Shift 7 LPAREN Shift 8 ARROW Shift 9 LBRACE Shift 10 TWIDDLE Shift 11 REMAINDER Shift 12 MINUS Shift 13 AND Shift 14 DIVIDE Shift 15 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 148 PLUS Shift 16 QUESTION Shift 17 OR_OR Shift 18 AND_AND Shift 19 MULTIPLY Shift 20 NOT Shift 21 UNSIGNED_RIGHT_SHIFT Shift 22 RIGHT_SHIFT Shift 23 MINUS_MINUS Shift 24 PLUS_PLUS Shift 25 Goal Goto 2 STATE 2 ------------------------------------------------------------------------ ( 1 ) $acc ::= Goal . (0) $eof Accept STATE 3 ------------------------------------------------------------------------ ( 1 ) Goal ::= BeginCaseElement .Pattern Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Pattern ::= .PrimaryPattern PrimaryPattern ::= .TypePattern PrimaryPattern ::= .ParenthesizedPattern ParenthesizedPattern ::= .PushLPAREN Pattern PushRPAREN TypePattern ::= .Modifiersopt Type Identifier GuardedPattern ::= .PrimaryPattern AND_AND ConditionalAndExpression PushLPAREN ::= .LPAREN Modifiersopt ::= . (693) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 149 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 28 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 LPAREN Sh/Rd 509 TypePattern Goto 981 ParenthesizedPattern Goto 980 PushLPAREN Goto 31 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 27 PrimaryPattern Goto 26 GuardedPattern Gt/Rd 30 Pattern Gt/Rd 30 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 150 AT308 Reduce 693 Default reduction to rule 693 STATE 4 ------------------------------------------------------------------------ ( 1 ) Goal ::= RestrictedIdentifierpermits .PermittedSubclasses ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ClassTypeList ::= .ClassTypeElt ClassTypeList ::= .ClassTypeList COMMA ClassTypeElt ClassTypeElt ::= .ClassType PermittedSubclasses ::= .ClassTypeList AT308 Shift 33 Identifier Shift 982 ClassTypeElt Goto 986 ClassTypeList Goto 39 ClassOrInterfaceType Goto 985 Name Goto 38 GenericType Goto 37 ClassOrInterface Goto 36 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 151 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 983 ClassType Gt/Rd 281 PermittedSubclasses Gt/Rd 29 STATE 5 ------------------------------------------------------------------------ ( 1 ) Goal ::= RestrictedIdentifiersealed .Modifiersopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 152 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 Modifier Goto 978 Modifiers Goto 30 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifiersopt Gt/Rd 28 $eof Reduce 693 Default reduction to rule 693 STATE 6 ------------------------------------------------------------------------ ( 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 33 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotations Gt/Rd 25 STATE 7 ------------------------------------------------------------------------ ( 1 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 153 Goal ::= LESS .ReferenceExpressionTypeArgumentsAndTrunk ReferenceExpressionTypeArgumentsAndTrunk ::= . ReferenceExpressionTypeArgumentsAndTrunk0 ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments Dimsopt ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments DOT ClassOrInterfaceType Dimsopt OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 40 OnlyTypeArguments Goto 41 ReferenceExpressionTypeArgumentsAndTrunk0 Gt/Rd 530 ReferenceExpressionTypeArgumentsAndTrunk Gt/Rd 24 STATE 8 ------------------------------------------------------------------------ ( 1 ) Goal ::= LPAREN .ParenthesizedCastNameAndBounds ParenthesizedCastNameAndBounds ::= .LPAREN CastNameAndBounds RPAREN LPAREN Shift 42 ParenthesizedCastNameAndBounds Gt/Rd 23 STATE 9 ------------------------------------------------------------------------ ( 1 ) Goal ::= ARROW .ParenthesizedLambdaParameterList Goal ::= ARROW .YieldStatement Goal ::= ARROW .SwitchLabelCaseLhs SwitchLabelCaseLhs ::= .case CaseLabelElements YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON PushLPAREN ::= .LPAREN ParenthesizedLambdaParameterList ::= .LambdaParameterList LambdaParameterList ::= .PushLPAREN FormalParameterListopt PushRPAREN LambdaParameterList ::= .PushLPAREN TypeElidedFormalParameterList PushRPAREN LPAREN Sh/Rd 509 RestrictedIdentifierYield Shift 44 case Shift 45 PushLPAREN Goto 43 LambdaParameterList Gt/Rd 547 ParenthesizedLambdaParameterList Gt/Rd 22 YieldStatement Gt/Rd 26 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 154 SwitchLabelCaseLhs Gt/Rd 27 STATE 10 ----------------------------------------------------------------------- ( 1 ) Goal ::= LBRACE .BlockStatementopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 155 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 156 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) BlockStatementopt ::= .BlockStatementopt0 BlockStatementopt0 ::= . (379) BlockStatementopt0 ::= .BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 157 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 158 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 159 MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 160 ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RestrictedIdentifierYield Shift 44 try Shift 60 throw Shift 61 return Shift 63 continue Shift 64 break Shift 65 do Shift 66 switch Shift 67 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 BeginLambda Shift 75 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 super Shift 84 this Shift 86 LESS Shift 40 SEMICOLON Sh/Rd 421 assert Shift 89 if Shift 91 while Shift 92 for Shift 94 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 97 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 161 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 98 AT308 Shift 33 Identifier Shift 102 BlockStatement Goto 989 LocalVariableDeclaration Goto 107 PrimitiveType Goto 106 ReferenceType Goto 96 ClassOrInterface Goto 36 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 995 Name Goto 103 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 96 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 100 Modifier Goto 987 Modifiers Goto 99 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Type Goto 96 StatementWithoutTrailingSubstatement Goto 989 LabeledStatement Goto 989 IfThenStatement Goto 989 IfThenElseStatement Goto 989 WhileStatement Goto 989 ForStatement Goto 989 EnhancedForStatement Goto 989 EnhancedForStatementHeaderInit Goto 95 EnhancedForStatementHeader Goto 93 Label Goto 90 OpenBlock Goto 88 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OnlyTypeArguments Goto 85 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 162 Primary Goto 83 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 994 BooleanLiteral Goto 988 ClassInstanceCreationExpressionName Goto 78 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 Literal Goto 988 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 73 FieldAccess Goto 993 MethodInvocation Goto 72 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 OnlySynchronized Goto 62 AssertStatement Goto 989 Block Goto 989 EmptyStatement Goto 989 ExpressionStatement Goto 989 SwitchStatement Goto 989 DoStatement Goto 989 BreakStatement Goto 989 ContinueStatement Goto 989 ReturnStatement Goto 989 SynchronizedStatement Goto 989 ThrowStatement Goto 989 TryStatement Goto 989 TryStatementWithResources Goto 989 YieldStatement Goto 989 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiersopt Goto 57 ClassHeaderName Goto 56 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 EnumHeader Goto 47 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 163 EnumHeaderName Goto 46 LocalVariableDeclarationStatement Goto 989 Statement Goto 989 ClassDeclaration Goto 989 RecordDeclaration Goto 989 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 BlockStatementopt0 Gt/Rd 378 BlockStatementopt Gt/Rd 19 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 $eof Reduce 379 Default reduction to rule 78 STATE 11 ----------------------------------------------------------------------- ( 1 ) Goal ::= TWIDDLE .BlockStatementsopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 164 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 165 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 166 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 167 TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType 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:11:53 2021 Page 168 ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 169 ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers BlockStatementsopt ::= . (695) 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 RestrictedIdentifierYield Shift 44 try Shift 60 throw Shift 61 return Shift 63 continue Shift 64 break Shift 65 do Shift 66 switch Shift 67 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 BeginLambda Shift 75 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 170 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 super Shift 84 this Shift 86 LESS Shift 40 SEMICOLON Sh/Rd 421 assert Shift 89 if Shift 91 while Shift 92 for Shift 94 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 97 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 98 AT308 Shift 33 Identifier Shift 102 BlockStatement Gt/Rd 376 BlockStatements Goto 108 LocalVariableDeclaration Goto 107 PrimitiveType Goto 106 ReferenceType Goto 96 ClassOrInterface Goto 36 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 995 Name Goto 103 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 96 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 171 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 100 Modifier Goto 987 Modifiers Goto 99 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Type Goto 96 StatementWithoutTrailingSubstatement Goto 996 LabeledStatement Goto 996 IfThenStatement Goto 996 IfThenElseStatement Goto 996 WhileStatement Goto 996 ForStatement Goto 996 EnhancedForStatement Goto 996 EnhancedForStatementHeaderInit Goto 95 EnhancedForStatementHeader Goto 93 Label Goto 90 OpenBlock Goto 88 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OnlyTypeArguments Goto 85 Primary Goto 83 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 994 BooleanLiteral Goto 988 ClassInstanceCreationExpressionName Goto 78 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 Literal Goto 988 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 73 FieldAccess Goto 993 MethodInvocation Goto 72 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 172 PreDecrementExpression Gt/Rd 429 OnlySynchronized Goto 62 AssertStatement Goto 996 Block Goto 996 EmptyStatement Goto 996 ExpressionStatement Goto 996 SwitchStatement Goto 996 DoStatement Goto 996 BreakStatement Goto 996 ContinueStatement Goto 996 ReturnStatement Goto 996 SynchronizedStatement Goto 996 ThrowStatement Goto 996 TryStatement Goto 996 TryStatementWithResources Goto 996 YieldStatement Goto 996 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiersopt Goto 57 ClassHeaderName Goto 56 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 EnumHeader Goto 47 EnumHeaderName Goto 46 LocalVariableDeclarationStatement Goto 996 Statement Goto 996 ClassDeclaration Goto 996 RecordDeclaration Goto 996 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 BlockStatementsopt Gt/Rd 18 $eof Reduce 695 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 173 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 12 ----------------------------------------------------------------------- ( 1 ) Goal ::= REMAINDER .Expression Goal ::= REMAINDER .ArrayInitializer Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 174 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:11:53 2021 Page 175 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:11:53 2021 Page 176 UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 177 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 LBRACE Shift 133 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 178 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Gt/Rd 16 ArrayInitializer Gt/Rd 17 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 179 void Reduce 78 Default reduction to rule 78 STATE 13 ----------------------------------------------------------------------- ( 1 ) Goal ::= MINUS .RecordBodyDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (227) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 180 MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier RecordBodyDeclarations ::= .RecordBodyDeclaration RecordBodyDeclarations ::= .RecordBodyDeclarations RecordBodyDeclaration RecordBodyDeclaration ::= .ClassBodyDeclaration RecordBodyDeclaration ::= .CompactConstructorDeclaration CompactConstructorDeclaration ::= .CompactConstructorHeader MethodBody CompactConstructorHeader ::= .CompactConstructorHeaderName MethodHeaderThrowsClauseopt CompactConstructorHeaderName ::= .Modifiersopt Identifier CompactConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier Modifiersopt ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 181 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 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 139 private Shift 978 protected Shift 978 public Shift 978 AT Shift 98 SEMICOLON Sh/Rd 237 ClassBodyDeclaration Gt/Rd 346 CompactConstructorDeclaration Gt/Rd 347 CompactConstructorHeaderName Goto 148 Modifiersopt Goto 147 CompactConstructorHeader Goto 146 FieldDeclaration Goto 1010 MethodDeclaration Goto 1010 ClassDeclaration Goto 1010 InterfaceDeclaration Goto 1010 EnumDeclaration Goto 1010 AnnotationTypeDeclaration Goto 1010 RecordDeclaration Goto 1010 RecordHeaderName Goto 53 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 49 EnumHeaderName Goto 46 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 182 EnumHeader Goto 47 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 ClassHeaderName Goto 56 ClassHeaderName1 Goto 58 ClassHeader Goto 59 MethodHeader Goto 144 MethodHeaderName Goto 143 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 AbstractMethodDeclaration Goto 1010 DefaultMethodHeader Goto 140 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 StaticOnly Goto 138 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassMemberDeclaration Goto 1010 StaticInitializer Goto 1010 ConstructorDeclaration Goto 1010 Diet Goto 135 RecordBodyDeclaration Gt/Rd 344 RecordBodyDeclarations Goto 134 LBRACE Reduce 227 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 14 ----------------------------------------------------------------------- ( 1 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 183 Goal ::= AND .ClassBodyDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclarations ::= .ClassBodyDeclaration ClassBodyDeclarations ::= .ClassBodyDeclarations ClassBodyDeclaration ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (227) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 184 MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 185 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 139 private Shift 978 protected Shift 978 public Shift 978 AT Shift 98 SEMICOLON Sh/Rd 237 ClassMemberDeclaration Goto 1011 StaticInitializer Goto 1011 ConstructorDeclaration Goto 1011 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 150 ConstructorHeader Goto 137 StaticOnly Goto 138 Modifier Goto 978 Modifiers Goto 145 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 AbstractMethodDeclaration Goto 1011 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 59 ClassHeaderName1 Goto 58 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 186 FieldDeclaration Goto 1011 MethodDeclaration Goto 1011 ClassDeclaration Goto 1011 InterfaceDeclaration Goto 1011 EnumDeclaration Goto 1011 AnnotationTypeDeclaration Goto 1011 RecordDeclaration Goto 1011 ClassBodyDeclaration Gt/Rd 221 ClassBodyDeclarations Goto 149 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 227 Default reduction to rule 693 STATE 15 ----------------------------------------------------------------------- ( 1 ) Goal ::= DIVIDE .GenericMethodDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 187 Modifier ::= .strictfp Modifier ::= .Annotation MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 AbstractMethodDeclaration Gt/Rd 13 MethodHeader Goto 144 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 188 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 Modifiersopt Goto 151 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 MethodDeclaration Gt/Rd 13 ConstructorDeclaration Gt/Rd 13 GenericMethodDeclaration Gt/Rd 13 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 default Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 16 ----------------------------------------------------------------------- ( 1 ) Goal ::= PLUS .TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 189 Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 190 SEMICOLON Sh/Rd 190 AT Shift 98 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiers Goto 145 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 987 Modifiersopt Goto 57 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 ClassDeclaration Gt/Rd 12 InterfaceDeclaration Gt/Rd 12 EnumDeclaration Gt/Rd 12 AnnotationTypeDeclaration Gt/Rd 12 RecordDeclaration Gt/Rd 12 TypeDeclaration Gt/Rd 12 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 17 ----------------------------------------------------------------------- ( 1 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 191 Goal ::= QUESTION .PackageDeclaration Goal ::= QUESTION .AnnotationTypeMemberDeclaration PackageDeclaration ::= .PackageDeclarationName SEMICOLON PackageDeclarationName ::= .Modifiers package PushRealModifiers Name RejectTypeAnnotations PackageDeclarationName ::= .PackageComment package Name RejectTypeAnnotations PackageComment ::= . (179) TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 192 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 190 AT Shift 98 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AnnotationMethodHeaderName Goto 157 Modifiers Goto 156 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 193 Modifiersopt Goto 155 FieldDeclaration Gt/Rd 21 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassDeclaration Gt/Rd 21 InterfaceDeclaration Gt/Rd 21 EnumDeclaration Gt/Rd 21 AnnotationTypeDeclaration Gt/Rd 21 RecordDeclaration Gt/Rd 21 RecordHeaderName Goto 53 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 AnnotationTypeDeclarationHeaderName Goto 48 AnnotationTypeDeclarationHeader Goto 49 EnumHeaderName Goto 46 EnumHeader Goto 47 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 ClassHeaderName Goto 56 ClassHeaderName1 Goto 58 ClassHeader Goto 59 AnnotationMethodHeader Goto 154 ConstantDeclaration Gt/Rd 21 ConstructorDeclaration Gt/Rd 21 TypeDeclaration Gt/Rd 21 PackageComment Goto 153 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 PackageDeclarationName Goto 152 PackageDeclaration Gt/Rd 11 AnnotationTypeMemberDeclaration Gt/Rd 21 package Reduce 179 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 194 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 18 ----------------------------------------------------------------------- ( 1 ) Goal ::= OR_OR .ImportDeclaration Goal ::= OR_OR .MemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 195 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 ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 196 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 197 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 ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 198 AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 199 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 ::= . (921) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN import Shift 161 AT Shift 28 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 NOT Shift 164 TWIDDLE Shift 165 BeginIntersectionCast Shift 117 null Shift 1012 TextBlock Shift 1012 StringLiteral Shift 1012 CharacterLiteral Shift 1012 DoubleLiteral Shift 1012 FloatingPointLiteral Shift 1012 LongLiteral Shift 1012 IntegerLiteral Shift 1012 false Shift 1012 true Shift 1012 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 MINUS Shift 170 PLUS Shift 171 ConditionalOrExpression_NotName Goto 183 Name Goto 182 InclusiveOrExpression_NotName Goto 181 ConditionalAndExpression_NotName Goto 180 AndExpression_NotName Goto 179 ExclusiveOrExpression_NotName Goto 178 InstanceofExpression_NotName Goto 177 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 200 EqualityExpression_NotName Goto 176 ShiftExpression_NotName Goto 175 RelationalExpression_NotName Goto 174 MultiplicativeExpression_NotName Goto 173 AdditiveExpression_NotName Goto 172 PreIncrementExpression Goto 1013 PreDecrementExpression Goto 1013 UnaryExpressionNotPlusMinus_NotName Goto 1013 Primary Goto 169 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PostfixExpression Goto 166 Literal Goto 1012 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1021 FieldAccess Goto 1020 PrimitiveType Goto 112 MethodInvocation Goto 1019 ArrayAccess Goto 1018 LambdaExpression Goto 1017 ReferenceExpression Goto 1016 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1015 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1012 ArrayCreationWithoutArrayInitializer Goto 1014 SwitchExpression Goto 1013 PostfixExpression_NotName Goto 1013 CastExpression Goto 1013 UnaryExpression_NotName Goto 1013 NormalAnnotation Gt/Rd 20 MarkerAnnotation Gt/Rd 20 SingleMemberAnnotation Gt/Rd 20 AnnotationName Goto 29 EnterMemberValueArrayInitializer Goto 163 ConditionalExpression_NotName Gt/Rd 20 Annotation Gt/Rd 20 MemberValueArrayInitializer Gt/Rd 20 SingleTypeImportDeclarationName Goto 162 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 201 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Gt/Rd 10 TypeImportOnDemandDeclaration Gt/Rd 10 SingleStaticImportDeclaration Gt/Rd 10 StaticImportOnDemandDeclaration Gt/Rd 10 ImportDeclaration Gt/Rd 10 MemberValue Gt/Rd 20 LBRACE Reduce 921 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 19 ----------------------------------------------------------------------- ( 1 ) Goal ::= AND_AND .FieldDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 202 AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 184 FieldDeclaration Gt/Rd 9 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 20 ----------------------------------------------------------------------- ( 1 ) Goal ::= MULTIPLY .BlockStatements Goal ::= MULTIPLY .CatchHeader IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 203 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 204 Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 205 RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IfThenStatement ::= .if LPAREN Expression RPAREN Statement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 206 IfThenElseStatement ::= .if LPAREN Expression RPAREN StatementNoShortIf else Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 207 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:11:53 2021 Page 208 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 209 NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 strictfp Shift 987 volatile Shift 987 transient Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 for Shift 94 while Shift 92 if Shift 91 assert Shift 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 synchronized Shift 97 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 210 AT Shift 98 catch Shift 186 LocalVariableDeclarationStatement Goto 996 Statement Goto 996 ClassDeclaration Goto 996 RecordDeclaration Goto 996 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 EnumHeaderName Goto 46 Modifiersopt Goto 57 EnumHeader Goto 47 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 99 AnnotationTypeDeclarationHeader Goto 49 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 RecordHeaderName Goto 53 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 ClassHeaderName Goto 56 ClassHeaderName1 Goto 58 ClassHeader Goto 59 AssertStatement Goto 996 Block Goto 996 EmptyStatement Goto 996 ExpressionStatement Goto 996 SwitchStatement Goto 996 DoStatement Goto 996 BreakStatement Goto 996 ContinueStatement Goto 996 ReturnStatement Goto 996 SynchronizedStatement Goto 996 ThrowStatement Goto 996 TryStatement Goto 996 TryStatementWithResources Goto 996 YieldStatement Goto 996 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 103 PostfixExpression Goto 82 Literal Goto 988 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 211 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 106 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 Label Goto 90 EnhancedForStatementHeader Goto 93 EnhancedForStatementHeaderInit Goto 95 StatementWithoutTrailingSubstatement Goto 996 LabeledStatement Goto 996 IfThenStatement Goto 996 IfThenElseStatement Goto 996 WhileStatement Goto 996 ForStatement Goto 996 EnhancedForStatement Goto 996 Type Goto 96 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 987 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 96 GenericType Goto 105 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 995 ReferenceType Goto 96 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 212 LocalVariableDeclaration Goto 107 BlockStatement Gt/Rd 376 BlockStatements Goto 185 CatchHeader Gt/Rd 8 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 LBRACE Reduce 375 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 78 STATE 21 ----------------------------------------------------------------------- ( 1 ) Goal ::= NOT .Header2 Modifiersopt ModuleHeader ::= .Modifiersopt ModuleModifieropt module UnannotatableName RequiresStatement ::= .SingleRequiresModuleName SEMICOLON SingleRequiresModuleName ::= .requires RequiresModifiersopt UnannotatableName ExportsStatement ::= .ExportsHeader TargetModuleListopt SEMICOLON ExportsHeader ::= .exports SinglePkgName OpensStatement ::= .OpensHeader TargetModuleListopt SEMICOLON OpensHeader ::= .opens SinglePkgName UsesStatement ::= .UsesHeader SEMICOLON UsesHeader ::= .uses Name ProvidesStatement ::= .ProvidesInterface WithClause SEMICOLON ProvidesInterface ::= .provides Name PackageDeclaration ::= .PackageDeclarationName SEMICOLON PackageDeclarationName ::= .Modifiers package PushRealModifiers Name RejectTypeAnnotations PackageDeclarationName ::= .PackageComment package Name RejectTypeAnnotations PackageComment ::= . (179) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 213 Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ModifiersWithDefault ::= .Modifiersopt default Modifiersopt StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier AllocationHeader ::= .new ClassType LPAREN ArgumentListopt RPAREN ArrayCreationHeader ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationHeader ::= .new ClassOrInterfaceType DimWithOrWithOutExprs Modifiersopt ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 214 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RecoveryMethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= .Modifiersopt Type Identifier LPAREN RecoveryMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN RecoveryMethodHeader ::= .RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= .RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause import Shift 161 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 98 static Shift 139 new Shift 191 requires Shift 194 exports Shift 196 uses Shift 198 provides Shift 200 opens Shift 202 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 215 ImportDeclaration Goto 187 PackageDeclaration Goto 187 ClassHeader Goto 187 InterfaceHeader Goto 187 EnumHeader Goto 187 RecordHeaderPart Goto 187 AnnotationTypeDeclarationHeader Goto 187 StaticInitializer Goto 187 RecoveryMethodHeader Goto 187 FieldDeclaration Goto 187 AllocationHeader Goto 187 ArrayCreationHeader Goto 187 ModuleHeader Goto 187 RequiresStatement Goto 187 ExportsStatement Goto 187 UsesStatement Goto 187 ProvidesStatement Goto 187 OpensStatement Goto 187 OpensHeader Goto 201 ProvidesInterface Goto 199 UsesHeader Goto 197 ExportsHeader Goto 195 SingleRequiresModuleName Goto 193 Modifiersopt Goto 192 ModifiersWithDefault Goto 190 RecoveryMethodHeaderName Goto 189 StaticOnly Goto 138 Modifiers Goto 156 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 EnumHeaderName Goto 46 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 ClassHeaderName1 Goto 58 ClassHeaderName Goto 56 PackageComment Goto 153 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 PackageDeclarationName Goto 152 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Goto 187 TypeImportOnDemandDeclaration Goto 187 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 216 SingleStaticImportDeclaration Goto 187 StaticImportOnDemandDeclaration Goto 187 EnumConstantHeaderName Goto 188 Header Goto 187 EnumConstantHeader Goto 187 Header2 Goto 187 package Reduce 179 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 module Reduce 693 open Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 22 ----------------------------------------------------------------------- ( 1 ) Goal ::= UNSIGNED_RIGHT_SHIFT .Header1 Modifiersopt ModuleHeader ::= .Modifiersopt ModuleModifieropt module UnannotatableName RequiresStatement ::= .SingleRequiresModuleName SEMICOLON SingleRequiresModuleName ::= .requires RequiresModifiersopt UnannotatableName ExportsStatement ::= .ExportsHeader TargetModuleListopt SEMICOLON ExportsHeader ::= .exports SinglePkgName OpensStatement ::= .OpensHeader TargetModuleListopt SEMICOLON OpensHeader ::= .opens SinglePkgName UsesStatement ::= .UsesHeader SEMICOLON UsesHeader ::= .uses Name ProvidesStatement ::= .ProvidesInterface WithClause SEMICOLON ProvidesInterface ::= .provides Name PackageDeclaration ::= .PackageDeclarationName SEMICOLON PackageDeclarationName ::= .Modifiers package PushRealModifiers Name RejectTypeAnnotations PackageDeclarationName ::= .PackageComment package Name RejectTypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 217 PackageComment ::= . (179) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier AllocationHeader ::= .new ClassType LPAREN ArgumentListopt RPAREN ArrayCreationHeader ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationHeader ::= .new ClassOrInterfaceType DimWithOrWithOutExprs Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 218 EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RecoveryMethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= .Modifiersopt Type Identifier LPAREN RecoveryMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN RecoveryMethodHeader ::= .RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= .RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause import Shift 161 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 private Shift 978 protected Shift 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 219 public Shift 978 AT Shift 98 static Shift 139 new Shift 191 requires Shift 194 exports Shift 196 uses Shift 198 provides Shift 200 opens Shift 202 ImportDeclaration Goto 203 PackageDeclaration Goto 203 ClassHeader Goto 203 InterfaceHeader Goto 203 EnumHeader Goto 203 RecordHeaderPart Goto 203 AnnotationTypeDeclarationHeader Goto 203 StaticInitializer Goto 203 RecoveryMethodHeader Goto 203 FieldDeclaration Goto 203 AllocationHeader Goto 203 ArrayCreationHeader Goto 203 ModuleHeader Goto 203 RequiresStatement Goto 203 ExportsStatement Goto 203 UsesStatement Goto 203 ProvidesStatement Goto 203 OpensStatement Goto 203 OpensHeader Goto 201 ProvidesInterface Goto 199 UsesHeader Goto 197 ExportsHeader Goto 195 SingleRequiresModuleName Goto 193 Modifiersopt Goto 204 ModifiersWithDefault Goto 190 RecoveryMethodHeaderName Goto 189 StaticOnly Goto 138 Modifiers Goto 156 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 EnumHeaderName Goto 46 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 ClassHeaderName1 Goto 58 ClassHeaderName Goto 56 PackageComment Goto 153 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 220 SingleMemberAnnotation Goto 979 Modifier Goto 978 PackageDeclarationName Goto 152 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Goto 203 TypeImportOnDemandDeclaration Goto 203 SingleStaticImportDeclaration Goto 203 StaticImportOnDemandDeclaration Goto 203 ConstructorHeaderName Goto 136 Header Goto 203 ConstructorHeader Goto 203 Header1 Goto 203 package Reduce 179 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 module Reduce 693 open Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 23 ----------------------------------------------------------------------- ( 1 ) Goal ::= RIGHT_SHIFT .StaticInitializer Goal ::= RIGHT_SHIFT .Initializer Diet ::= . (227) Initializer ::= .Diet NestedMethod CreateInitializer Block StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 221 static Sh/Rd 285 Diet Goto 205 StaticOnly Goto 138 StaticInitializer Gt/Rd 3 Initializer Gt/Rd 4 LBRACE Reduce 227 Default reduction to rule 227 STATE 24 ----------------------------------------------------------------------- ( 1 ) Goal ::= MINUS_MINUS .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (283) NestedMethod Goto 206 MethodBody Gt/Rd 2 LBRACE Reduce 283 Default reduction to rule 283 STATE 25 ----------------------------------------------------------------------- ( 1 ) Goal ::= PLUS_PLUS .CompilationUnit CompilationUnit ::= .EnterCompilationUnit InternalCompilationUnit EnterCompilationUnit ::= . (148) EnterCompilationUnit Goto 207 CompilationUnit Gt/Rd 1 abstract Reduce 148 class Reduce 148 enum Reduce 148 final Reduce 148 import Reduce 148 interface Reduce 148 native Reduce 148 non-sealed Reduce 148 package Reduce 148 private Reduce 148 protected Reduce 148 public Reduce 148 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 222 static Reduce 148 strictfp Reduce 148 synchronized Reduce 148 transient Reduce 148 volatile Reduce 148 module Reduce 148 open Reduce 148 SEMICOLON Reduce 148 AT Reduce 148 RestrictedIdentifierrecord Reduce 148 RestrictedIdentifiersealed Reduce 148 $eof Reduce 148 Default reduction to rule 148 STATE 26 ----------------------------------------------------------------------- ( 3 31 238 ) Pattern ::= PrimaryPattern . (360) GuardedPattern ::= PrimaryPattern .AND_AND ConditionalAndExpression AND_AND Shift 208 RPAREN Reduce 360 COLON Reduce 360 COMMA Reduce 360 BeginCaseExpr Reduce 360 $eof Reduce 360 Default reduction to rule 360 STATE 27 ----------------------------------------------------------------------- ( 3 31 238 ) TypePattern ::= Modifiersopt .Type Identifier Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 223 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 209 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 209 Type Goto 209 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 224 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 28 ----------------------------------------------------------------------- ( 3 5 15 18 19 30 31 43 136 142 143 157 187 189 203 213 216 238 240 249 260 299 334 355 416 464 465 502 540 611 686 697 703 704 796 859 861 894 ) AnnotationName ::= AT .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 212 SimpleName Goto 212 UnannotatableName Goto 212 STATE 29 ----------------------------------------------------------------------- ( 3 5 10 11 13 14 15 16 17 18 19 20 21 22 30 31 43 99 108 134 136 142 143 145 149 156 157 185 187 189 203 207 213 216 238 240 249 250 260 294 299 334 355 416 440 441 444 464 465 477 484 489 493 502 540 611 667 669 686 688 692 697 699 703 704 791 794 796 859 861 863 894 923 947 952 ) NormalAnnotation ::= AnnotationName .LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= AnnotationName . (924) SingleMemberAnnotation ::= AnnotationName .LPAREN SingleMemberAnnotationMemberValue RPAREN LPAREN Shift 213 Identifier Reduce 924 abstract Reduce 924 boolean Reduce 924 byte Reduce 924 char Reduce 924 class Reduce 924 default Reduce 924 double Reduce 924 enum Reduce 924 final Reduce 924 float Reduce 924 int Reduce 924 interface Reduce 924 long Reduce 924 native Reduce 924 non-sealed Reduce 924 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 225 package Reduce 924 private Reduce 924 protected Reduce 924 public Reduce 924 short Reduce 924 static Reduce 924 strictfp Reduce 924 synchronized Reduce 924 transient Reduce 924 void Reduce 924 volatile Reduce 924 module Reduce 924 open Reduce 924 LESS Reduce 924 RPAREN Reduce 924 RBRACE Reduce 924 SEMICOLON Reduce 924 COMMA Reduce 924 AT Reduce 924 AT308 Reduce 924 RestrictedIdentifierrecord Reduce 924 RestrictedIdentifiersealed Reduce 924 $eof Reduce 924 Default reduction to rule 924 STATE 30 ----------------------------------------------------------------------- ( 3 5 15 19 31 43 136 142 143 157 187 189 203 238 240 249 334 355 416 464 465 686 697 703 ) Modifiers ::= Modifiers .Modifier Modifiersopt ::= Modifiers . (694) 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 195 volatile Sh/Rd 195 transient Sh/Rd 195 synchronized Sh/Rd 195 RestrictedIdentifiersealed Sh/Rd 195 non-sealed Sh/Rd 195 native Sh/Rd 195 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 226 final Sh/Rd 195 abstract Sh/Rd 195 static Sh/Rd 195 private Sh/Rd 195 protected Sh/Rd 195 public Sh/Rd 195 AT Shift 28 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifier Gt/Rd 195 Identifier Reduce 694 boolean Reduce 694 byte Reduce 694 char Reduce 694 default Reduce 694 double Reduce 694 float Reduce 694 int Reduce 694 long Reduce 694 short Reduce 694 void Reduce 694 LESS Reduce 694 AT308 Reduce 694 $eof Reduce 694 Default reduction to rule 694 STATE 31 ----------------------------------------------------------------------- ( 3 31 238 334 ) ParenthesizedPattern ::= PushLPAREN .Pattern PushRPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 227 Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Pattern ::= .PrimaryPattern PrimaryPattern ::= .TypePattern PrimaryPattern ::= .ParenthesizedPattern ParenthesizedPattern ::= .PushLPAREN Pattern PushRPAREN TypePattern ::= .Modifiersopt Type Identifier GuardedPattern ::= .PrimaryPattern AND_AND ConditionalAndExpression PushLPAREN ::= .LPAREN Modifiersopt ::= . (693) 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 28 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 LPAREN Sh/Rd 509 TypePattern Goto 981 ParenthesizedPattern Goto 980 PushLPAREN Goto 31 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 27 PrimaryPattern Goto 26 GuardedPattern Goto 214 Pattern Goto 214 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 228 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 32 ----------------------------------------------------------------------- ( 4 42 78 161 198 200 218 220 226 239 242 245 277 281 311 321 359 363 368 435 478 522 607 683 698 722 759 790 ) Name ::= TypeAnnotations .SimpleName Identifier Sh/Rd 71 SimpleName Gt/Rd 71 STATE 33 ----------------------------------------------------------------------- ( 4 6 10 11 12 18 20 27 35 40 41 42 44 45 61 63 66 74 78 79 89 93 99 101 103 105 106 108 112 115 118 141 147 150 151 155 161 182 184 185 190 191 192 198 200 204 208 210 211 213 216 217 218 219 220 224 226 229 235 239 242 245 246 260 262 267 268 269 270 272 277 279 281 282 283 284 285 290 293 294 296 297 298 299 300 305 308 309 311 314 315 316 318 321 322 323 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 350 352 356 359 360 363 364 368 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 421 423 424 435 438 440 457 458 460 463 468 478 486 501 502 507 513 517 522 531 532 535 540 541 545 567 570 576 595 596 600 606 607 608 610 611 647 649 650 653 654 655 657 676 677 679 681 683 690 691 698 704 710 714 716 717 718 720 722 723 727 729 731 736 737 738 741 749 753 759 761 763 765 766 774 778 779 790 796 797 798 808 816 818 822 827 828 829 831 837 843 849 850 851 854 856 859 861 862 868 869 872 885 893 894 895 896 897 898 900 901 907 910 911 920 923 929 942 943 944 946 947 950 952 957 958 959 960 965 970 973 974 977 ) TypeAnnotationName ::= AT308 .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 215 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 229 SimpleName Goto 215 UnannotatableName Goto 215 STATE 34 ----------------------------------------------------------------------- ( 4 6 10 11 12 18 20 27 35 40 41 42 44 45 61 63 66 74 78 79 89 93 99 101 103 105 106 108 112 115 118 141 147 150 151 155 161 182 184 185 190 191 192 198 200 204 208 210 211 213 216 217 218 219 220 224 226 229 235 239 242 245 246 260 262 267 268 269 270 272 277 279 281 282 283 284 285 290 293 294 296 297 298 299 300 305 308 309 311 314 315 316 318 321 322 323 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 350 352 356 359 360 363 364 368 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 421 423 424 435 438 440 457 458 460 463 468 478 486 501 502 507 513 517 522 531 532 535 540 541 545 567 570 576 595 596 600 606 607 608 610 611 647 649 650 653 654 655 657 676 677 679 681 683 690 691 698 704 710 714 716 717 718 720 722 723 727 729 731 736 737 738 741 749 753 759 761 763 765 766 774 778 779 790 796 797 798 808 816 818 822 827 828 829 831 837 843 849 850 851 854 856 859 861 862 868 869 872 885 893 894 895 896 897 898 900 901 907 910 911 920 923 929 942 943 944 946 947 950 952 957 958 959 960 965 970 973 974 977 ) NormalTypeAnnotation ::= TypeAnnotationName .LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= TypeAnnotationName . (88) SingleMemberTypeAnnotation ::= TypeAnnotationName .LPAREN SingleMemberAnnotationMemberValue RPAREN LPAREN Shift 216 Identifier Reduce 88 boolean Reduce 88 byte Reduce 88 char Reduce 88 double Reduce 88 float Reduce 88 int Reduce 88 long Reduce 88 short Reduce 88 void Reduce 88 LBRACKET Reduce 88 QUESTION Reduce 88 ELLIPSIS Reduce 88 AT308 Reduce 88 $eof Reduce 88 Default reduction to rule 88 STATE 35 ----------------------------------------------------------------------- ( 4 6 10 11 12 18 20 27 40 41 42 44 45 61 63 66 74 78 79 89 93 99 101 103 105 106 108 112 115 118 141 147 150 151 155 161 182 184 185 190 191 192 198 200 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 230 204 208 210 211 213 216 217 218 219 220 224 226 229 235 239 242 245 246 260 262 267 268 269 270 272 277 279 281 282 283 284 285 290 293 294 296 297 298 299 300 305 308 309 311 314 315 316 318 321 322 323 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 350 352 356 359 360 363 364 368 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 421 423 424 435 438 440 457 458 460 463 468 478 486 501 502 507 513 517 522 531 532 535 540 541 545 567 570 576 595 596 600 606 607 608 610 611 647 649 650 653 654 655 657 676 677 679 681 683 690 691 698 704 710 714 716 717 718 720 722 723 727 729 731 736 737 738 741 749 753 759 761 763 765 766 774 778 779 790 796 797 798 808 816 818 822 827 828 829 831 837 843 849 850 851 854 856 859 861 862 868 869 872 885 893 894 895 896 897 898 900 901 907 910 911 920 923 929 942 943 944 946 947 950 952 957 958 959 960 965 970 973 974 977 ) TypeAnnotations ::= TypeAnnotations0 . (80) 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 33 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotation Gt/Rd 82 Identifier Reduce 80 boolean Reduce 80 byte Reduce 80 char Reduce 80 double Reduce 80 float Reduce 80 int Reduce 80 long Reduce 80 short Reduce 80 void Reduce 80 LBRACKET Reduce 80 QUESTION Reduce 80 ELLIPSIS Reduce 80 $eof Reduce 80 Default reduction to rule 80 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 231 STATE 36 ----------------------------------------------------------------------- ( 4 10 11 20 27 78 79 99 108 141 147 150 151 155 184 185 190 191 192 204 220 226 235 239 242 245 260 277 281 294 299 350 352 356 359 360 364 420 424 438 440 463 478 486 502 522 540 576 647 683 698 704 722 759 862 894 923 947 952 ) ClassOrInterfaceType ::= ClassOrInterface . (58) GenericType ::= ClassOrInterface .TypeArguments GenericType ::= ClassOrInterface .LESS GREATER TypeArguments ::= .LESS TypeArgumentList1 LESS Shift 217 TypeArguments Gt/Rd 62 Identifier Reduce 58 abstract Reduce 58 final Reduce 58 implements Reduce 58 instanceof Reduce 58 native Reduce 58 non-sealed Reduce 58 private Reduce 58 protected Reduce 58 public Reduce 58 static Reduce 58 strictfp Reduce 58 synchronized Reduce 58 this Reduce 58 transient Reduce 58 volatile Reduce 58 EQUAL_EQUAL Reduce 58 NOT_EQUAL Reduce 58 OR_OR Reduce 58 AND_AND Reduce 58 XOR Reduce 58 AND Reduce 58 OR Reduce 58 LPAREN Reduce 58 RPAREN Reduce 58 LBRACE Reduce 58 RBRACE Reduce 58 LBRACKET Reduce 58 RBRACKET Reduce 58 SEMICOLON Reduce 58 QUESTION Reduce 58 COLON Reduce 58 COMMA Reduce 58 AT Reduce 58 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 232 ELLIPSIS Reduce 58 COLON_COLON Reduce 58 ElidedSemicolonAndRightBrace Reduce 58 AT308 Reduce 58 AT308DOTDOTDOT Reduce 58 BeginCaseExpr Reduce 58 RestrictedIdentifiersealed Reduce 58 RestrictedIdentifierpermits Reduce 58 $eof Reduce 58 Default reduction to rule 58 STATE 37 ----------------------------------------------------------------------- ( 4 78 79 191 220 226 239 242 245 277 281 359 478 522 683 698 722 759 ) ClassOrInterfaceType ::= GenericType . (59) ClassOrInterface ::= GenericType .DOT Name DOT Shift 218 abstract Reduce 59 final Reduce 59 implements Reduce 59 native Reduce 59 non-sealed Reduce 59 private Reduce 59 protected Reduce 59 public Reduce 59 static Reduce 59 strictfp Reduce 59 synchronized Reduce 59 transient Reduce 59 volatile Reduce 59 AND Reduce 59 LPAREN Reduce 59 RPAREN Reduce 59 LBRACE Reduce 59 LBRACKET Reduce 59 SEMICOLON Reduce 59 COMMA Reduce 59 AT Reduce 59 COLON_COLON Reduce 59 AT308 Reduce 59 RestrictedIdentifiersealed Reduce 59 RestrictedIdentifierpermits Reduce 59 $eof Reduce 59 Default reduction to rule 59 STATE 38 ----------------------------------------------------------------------- ( 4 78 79 191 220 226 239 242 245 277 281 359 478 522 683 698 722 759 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 233 ClassOrInterface ::= Name . (60) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName DOT Shift 219 abstract Reduce 60 final Reduce 60 implements Reduce 60 native Reduce 60 non-sealed Reduce 60 private Reduce 60 protected Reduce 60 public Reduce 60 static Reduce 60 strictfp Reduce 60 synchronized Reduce 60 transient Reduce 60 volatile Reduce 60 AND Reduce 60 LESS Reduce 60 LPAREN Reduce 60 RPAREN Reduce 60 LBRACE Reduce 60 LBRACKET Reduce 60 SEMICOLON Reduce 60 COMMA Reduce 60 AT Reduce 60 COLON_COLON Reduce 60 AT308 Reduce 60 RestrictedIdentifiersealed Reduce 60 RestrictedIdentifierpermits Reduce 60 $eof Reduce 60 Default reduction to rule 60 STATE 39 ----------------------------------------------------------------------- ( 4 ) ClassTypeList ::= ClassTypeList .COMMA ClassTypeElt PermittedSubclasses ::= ClassTypeList . (709) COMMA Shift 220 $eof Reduce 709 Default reduction to rule 709 STATE 40 ----------------------------------------------------------------------- ( 7 10 11 20 66 78 79 93 108 185 275 276 286 287 288 289 294 296 306 308 318 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 234 320 440 522 552 559 736 737 747 837 893 897 923 947 952 958 959 960 974 977 ) OnlyTypeArguments ::= LESS .TypeArgumentList1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 235 ReferenceType1 Gt/Rd 755 Wildcard1 Gt/Rd 755 TypeAnnotationsopt Goto 225 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 1022 TypeAnnotations Goto 104 GenericType Goto 105 PrimitiveType Goto 224 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 223 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 222 TypeArgument Goto 221 TypeArgumentList Goto 221 Wildcard Goto 221 TypeArgument1 Gt/Rd 755 TypeArgumentList1 Gt/Rd 755 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 QUESTION Reduce 78 Default reduction to rule 78 STATE 41 ----------------------------------------------------------------------- ( 7 306 ) ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments .Dimsopt ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments .DOT ClassOrInterfaceType Dimsopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 236 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 ::= . (697) DOT Shift 226 AT308 Shift 33 LBRACKET Shift 228 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Gt/Rd 531 Dimsopt Gt/Rd 531 COLON_COLON Reduce 697 $eof Reduce 697 Default reduction to rule 697 STATE 42 ----------------------------------------------------------------------- ( 8 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 237 TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN CastNameAndBounds ::= .Name AdditionalBoundList AT308 Shift 33 Identifier Shift 982 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 231 Name Goto 231 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 CastNameAndBounds Goto 230 STATE 43 ----------------------------------------------------------------------- ( 9 273 ) LambdaParameterList ::= PushLPAREN .FormalParameterListopt PushRPAREN LambdaParameterList ::= PushLPAREN .TypeElidedFormalParameterList PushRPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 238 VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis TypeElidedFormalParameterList ::= .TypeElidedFormalParameterList COMMA TypeElidedFormalParameter TypeElidedFormalParameter ::= .Modifiersopt Identifier Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (703) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 Modifiersopt Goto 235 TypeElidedFormalParameter Goto 234 TypeElidedFormalParameterList Goto 234 FormalParameter Goto 1024 FormalParameterList Goto 233 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 FormalParameterListopt Goto 232 RPAREN Reduce 703 Identifier Reduce 693 boolean Reduce 693 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 239 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 44 ----------------------------------------------------------------------- ( 9 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) YieldStatement ::= RestrictedIdentifierYield .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 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:11:53 2021 Page 240 SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 241 ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 242 UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 243 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 244 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 236 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 245 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 45 ----------------------------------------------------------------------- ( 9 879 919 923 947 ) SwitchLabelCaseLhs ::= case .CaseLabelElements Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock CaseLabelElements ::= .CaseLabelElements COMMA CaseLabelElement CaseLabelElement ::= .ConstantExpression CaseLabelElement ::= .default IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 246 CaseLabelElement ::= .BeginCaseElement Pattern PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 247 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:11:53 2021 Page 248 UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 249 ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ConstantExpression ::= .Expression PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 NOT Shift 119 TWIDDLE Shift 120 BeginIntersectionCast Shift 117 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 false Shift 997 true Shift 997 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 MINUS Shift 109 PLUS Shift 110 BeginCaseElement Shift 238 default Sh/Rd 465 ConstantExpression Gt/Rd 464 AssignmentExpression Gt/Rd 683 ConditionalOrExpression Goto 130 InclusiveOrExpression Goto 128 ConditionalAndExpression Goto 131 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 250 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PostfixExpression Goto 132 Literal Goto 997 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 PrimitiveType Goto 112 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 997 ArrayCreationWithoutArrayInitializer Goto 1008 SwitchExpression Goto 998 CastExpression Goto 998 UnaryExpression Goto 998 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalExpression Goto 1009 Assignment Goto 1009 Expression Goto 1025 CaseLabelElement Goto 237 CaseLabelElements Goto 237 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 251 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 46 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 21 22 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) EnumHeader ::= EnumHeaderName .ClassHeaderImplementsopt ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (705) implements Shift 239 ClassHeaderImplements Gt/Rd 726 ClassHeaderImplementsopt Gt/Rd 726 abstract Reduce 705 final Reduce 705 native Reduce 705 non-sealed Reduce 705 private Reduce 705 protected Reduce 705 public Reduce 705 static Reduce 705 strictfp Reduce 705 synchronized Reduce 705 transient Reduce 705 volatile Reduce 705 LBRACE Reduce 705 AT Reduce 705 RestrictedIdentifiersealed Reduce 705 $eof Reduce 705 Default reduction to rule 705 STATE 47 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) EnumDeclaration ::= EnumHeader .EnumBody EnumBody ::= .LBRACE EnumBodyDeclarationsopt RBRACE EnumBody ::= .LBRACE COMMA EnumBodyDeclarationsopt RBRACE EnumBody ::= .LBRACE EnumConstants COMMA EnumBodyDeclarationsopt RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 252 EnumBody ::= .LBRACE EnumConstants EnumBodyDeclarationsopt RBRACE LBRACE Shift 240 EnumBody Gt/Rd 725 STATE 48 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 21 22 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeaderName . ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderExtends ::= .extends ClassType ClassHeaderExtendsopt ::= . (684) extends Shift 242 ClassHeaderExtends Goto 241 ClassHeaderExtendsopt Goto 241 abstract Reduce 684 final Reduce 684 implements Reduce 684 native Reduce 684 non-sealed Reduce 684 private Reduce 684 protected Reduce 684 public Reduce 684 static Reduce 684 strictfp Reduce 684 synchronized Reduce 684 transient Reduce 684 volatile Reduce 684 LBRACE Reduce 684 AT Reduce 684 RestrictedIdentifiersealed Reduce 684 $eof Reduce 684 Default reduction to rule 684 STATE 49 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) AnnotationTypeDeclaration ::= AnnotationTypeDeclarationHeader . AnnotationTypeBody IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 253 AnnotationTypeBody ::= .LBRACE AnnotationTypeMemberDeclarationsopt RBRACE LBRACE Shift 243 AnnotationTypeBody Gt/Rd 885 STATE 50 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 21 22 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) InterfaceHeader ::= InterfaceHeaderName .InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderExtends ::= .extends InterfaceTypeList InterfaceHeaderExtendsopt ::= . (721) extends Shift 245 InterfaceHeaderExtends Goto 244 InterfaceHeaderExtendsopt Goto 244 abstract Reduce 721 final Reduce 721 native Reduce 721 non-sealed Reduce 721 private Reduce 721 protected Reduce 721 public Reduce 721 static Reduce 721 strictfp Reduce 721 synchronized Reduce 721 transient Reduce 721 volatile Reduce 721 LBRACE Reduce 721 AT Reduce 721 RestrictedIdentifiersealed Reduce 721 RestrictedIdentifierpermits Reduce 721 $eof Reduce 721 Default reduction to rule 721 STATE 51 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 21 22 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) InterfaceHeaderName ::= InterfaceHeaderName1 .TypeParameters InterfaceHeaderName ::= InterfaceHeaderName1 . (303) TypeParameters ::= .LESS TypeParameterList1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 254 LESS Shift 246 TypeParameters Gt/Rd 302 abstract Reduce 303 extends Reduce 303 final Reduce 303 native Reduce 303 non-sealed Reduce 303 private Reduce 303 protected Reduce 303 public Reduce 303 static Reduce 303 strictfp Reduce 303 synchronized Reduce 303 transient Reduce 303 volatile Reduce 303 LBRACE Reduce 303 AT Reduce 303 RestrictedIdentifiersealed Reduce 303 RestrictedIdentifierpermits Reduce 303 $eof Reduce 303 Default reduction to rule 303 STATE 52 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) InterfaceDeclaration ::= InterfaceHeader .InterfaceBody InterfaceBody ::= .LBRACE InterfaceMemberDeclarationsopt RBRACE LBRACE Shift 247 InterfaceBody Gt/Rd 300 STATE 53 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 21 22 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) RecordHeaderPart ::= RecordHeaderName .RecordHeader ClassHeaderImplementsopt RecordHeader ::= .LPAREN RecordComponentsopt RecordComponentHeaderRightParen LPAREN Shift 249 RecordHeader Goto 248 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 255 STATE 54 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 21 22 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) RecordHeaderName ::= RecordHeaderName1 .TypeParameters RecordHeaderName ::= RecordHeaderName1 . (329) TypeParameters ::= .LESS TypeParameterList1 LESS Shift 246 TypeParameters Gt/Rd 328 LPAREN Reduce 329 Default reduction to rule 329 STATE 55 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) RecordDeclaration ::= RecordHeaderPart .RecordBody RecordBody ::= .LBRACE RecordBodyDeclarationopt RBRACE LBRACE Shift 250 RecordBody Gt/Rd 326 STATE 56 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 21 22 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) ClassHeader ::= ClassHeaderName .ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderExtends ::= .extends ClassType ClassHeaderExtendsopt ::= . (684) extends Shift 242 ClassHeaderExtends Goto 251 ClassHeaderExtendsopt Goto 251 abstract Reduce 684 final Reduce 684 implements Reduce 684 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 256 native Reduce 684 non-sealed Reduce 684 private Reduce 684 protected Reduce 684 public Reduce 684 static Reduce 684 strictfp Reduce 684 synchronized Reduce 684 transient Reduce 684 volatile Reduce 684 LBRACE Reduce 684 AT Reduce 684 RestrictedIdentifiersealed Reduce 684 RestrictedIdentifierpermits Reduce 684 $eof Reduce 684 Default reduction to rule 684 STATE 57 ----------------------------------------------------------------------- ( 10 11 16 20 108 185 294 440 441 444 667 791 794 863 923 947 952 ) ClassHeaderName1 ::= Modifiersopt .class Identifier InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters enum Shift 252 RestrictedIdentifierrecord Shift 253 interface Shift 254 class Shift 255 STATE 58 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 21 22 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) ClassHeaderName ::= ClassHeaderName1 .TypeParameters ClassHeaderName ::= ClassHeaderName1 . (213) TypeParameters ::= .LESS TypeParameterList1 LESS Shift 246 TypeParameters Gt/Rd 212 abstract Reduce 213 extends Reduce 213 final Reduce 213 implements Reduce 213 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 257 native Reduce 213 non-sealed Reduce 213 private Reduce 213 protected Reduce 213 public Reduce 213 static Reduce 213 strictfp Reduce 213 synchronized Reduce 213 transient Reduce 213 volatile Reduce 213 LBRACE Reduce 213 AT Reduce 213 RestrictedIdentifiersealed Reduce 213 RestrictedIdentifierpermits Reduce 213 $eof Reduce 213 Default reduction to rule 213 STATE 59 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) ClassDeclaration ::= ClassHeader .ClassBody ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 256 ClassBody Gt/Rd 210 STATE 60 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) 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 ::= . (375) ResourceSpecification ::= .LPAREN Resources ;opt RPAREN TryBlock ::= .Block ExitTryBlock LPAREN Shift 260 OpenBlock Goto 88 Block Goto 259 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 258 TryBlock Goto 258 ResourceSpecification Goto 257 LBRACE Reduce 375 Default reduction to rule 375 STATE 61 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) ThrowStatement ::= throw .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 259 PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 260 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:11:53 2021 Page 261 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 262 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 263 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 261 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 62 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 264 960 974 977 ) SynchronizedStatement ::= OnlySynchronized .LPAREN Expression RPAREN Block LPAREN Shift 262 STATE 63 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) ReturnStatement ::= return .Expressionopt SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 265 Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 266 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:11:53 2021 Page 267 UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 268 ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression Expressionopt ::= . (686) MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AssignmentExpression Gt/Rd 683 ConditionalOrExpression Goto 130 InclusiveOrExpression Goto 128 ConditionalAndExpression Goto 131 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 269 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PostfixExpression Goto 132 Literal Goto 997 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 PrimitiveType Goto 112 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 997 ArrayCreationWithoutArrayInitializer Goto 1008 SwitchExpression Goto 998 CastExpression Goto 998 UnaryExpression Goto 998 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalExpression Goto 1009 Assignment Goto 1009 Expression Goto 263 Expressionopt Goto 263 SEMICOLON Reduce 686 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 270 STATE 64 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) ContinueStatement ::= continue .SEMICOLON ContinueStatement ::= continue .Identifier SEMICOLON Identifier Shift 264 SEMICOLON Sh/Rd 482 STATE 65 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) BreakStatement ::= break .SEMICOLON BreakStatement ::= break .Identifier SEMICOLON Identifier Shift 265 SEMICOLON Sh/Rd 480 STATE 66 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) DoStatement ::= do .Statement while LPAREN Expression RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 271 TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (375) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 272 Statement SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 273 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:11:53 2021 Page 274 LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 94 while Shift 92 if Shift 91 assert Shift 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 275 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 AssertStatement Goto 266 Block Goto 266 EmptyStatement Goto 266 ExpressionStatement Goto 266 SwitchStatement Goto 266 DoStatement Goto 266 BreakStatement Goto 266 ContinueStatement Goto 266 ReturnStatement Goto 266 SynchronizedStatement Goto 266 ThrowStatement Goto 266 TryStatement Goto 266 TryStatementWithResources Goto 266 YieldStatement Goto 266 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 276 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 Label Goto 90 EnhancedForStatementHeader Goto 93 EnhancedForStatementHeaderInit Goto 95 StatementWithoutTrailingSubstatement Goto 266 LabeledStatement Goto 266 IfThenStatement Goto 266 IfThenElseStatement Goto 266 WhileStatement Goto 266 ForStatement Goto 266 EnhancedForStatement Goto 266 Statement Goto 266 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 67 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) SwitchStatement ::= switch .LPAREN Expression RPAREN OpenBlock SwitchBlock LPAREN Shift 268 STATE 68 ----------------------------------------------------------------------- ( 10 11 12 18 20 44 45 61 63 66 74 89 93 108 118 185 208 213 216 262 268 269 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 277 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 468 507 531 532 535 570 611 649 654 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 859 861 885 893 894 895 896 897 898 901 907 920 923 929 946 947 950 952 957 958 959 960 965 973 974 977 ) PreDecrementExpression ::= MINUS_MINUS .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 269 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 null Reduce 608 short Reduce 608 super Reduce 608 switch Reduce 608 this Reduce 608 true Reduce 608 void Reduce 608 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 278 STATE 69 ----------------------------------------------------------------------- ( 10 11 12 18 20 44 45 61 63 66 74 89 93 108 118 185 208 213 216 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 468 507 531 532 535 570 611 649 654 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 859 861 885 893 894 895 896 897 898 901 907 920 923 929 946 947 950 952 957 958 959 960 965 973 974 977 ) PreIncrementExpression ::= PLUS_PLUS .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 270 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 null Reduce 608 short Reduce 608 super Reduce 608 switch Reduce 608 this Reduce 608 true Reduce 608 void Reduce 608 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 279 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 STATE 70 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) StatementExpression ::= PostDecrementExpression . (431) PostfixExpression ::= PostDecrementExpression . (605) PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 PLUS_EQUAL Reduce 605 MINUS_EQUAL Reduce 605 MULTIPLY_EQUAL Reduce 605 DIVIDE_EQUAL Reduce 605 AND_EQUAL Reduce 605 OR_EQUAL Reduce 605 XOR_EQUAL Reduce 605 REMAINDER_EQUAL Reduce 605 LEFT_SHIFT_EQUAL Reduce 605 RIGHT_SHIFT_EQUAL Reduce 605 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 605 EQUAL Reduce 605 RPAREN Reduce 431 SEMICOLON Reduce 431 COMMA Reduce 431 Default reduction to rule 605 STATE 71 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) StatementExpression ::= PostIncrementExpression . (430) PostfixExpression ::= PostIncrementExpression . (604) PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 PLUS_EQUAL Reduce 604 MINUS_EQUAL Reduce 604 MULTIPLY_EQUAL Reduce 604 DIVIDE_EQUAL Reduce 604 AND_EQUAL Reduce 604 OR_EQUAL Reduce 604 XOR_EQUAL Reduce 604 REMAINDER_EQUAL Reduce 604 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 280 LEFT_SHIFT_EQUAL Reduce 604 RIGHT_SHIFT_EQUAL Reduce 604 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 604 EQUAL Reduce 604 RPAREN Reduce 430 SEMICOLON Reduce 430 COMMA Reduce 430 Default reduction to rule 604 STATE 72 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) StatementExpression ::= MethodInvocation . (432) PrimaryNoNewArray ::= MethodInvocation . (526) PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 LBRACKET Reduce 526 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 RPAREN Reduce 432 SEMICOLON Reduce 432 COMMA Reduce 432 Default reduction to rule 526 STATE 73 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) StatementExpression ::= ClassInstanceCreationExpression . (433) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 281 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 LBRACKET Reduce 518 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 RPAREN Reduce 433 SEMICOLON Reduce 433 COMMA Reduce 433 Default reduction to rule 518 STATE 74 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 260 294 296 299 440 704 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) PrimaryNoNewArray ::= PushLPAREN .Expression_NotName PushRPAREN PrimaryNoNewArray ::= PushLPAREN .Name PushRPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 282 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ArgumentListopt RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 283 ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 284 PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement PostfixExpression_NotName ::= .Primary PostfixExpression_NotName ::= .PostIncrementExpression PostfixExpression_NotName ::= .PostDecrementExpression UnaryExpression_NotName ::= .PreIncrementExpression UnaryExpression_NotName ::= .PreDecrementExpression UnaryExpression_NotName ::= .PLUS PushPosition UnaryExpression UnaryExpression_NotName ::= .MINUS PushPosition UnaryExpression UnaryExpression_NotName ::= .UnaryExpressionNotPlusMinus_NotName UnaryExpressionNotPlusMinus_NotName ::= .PostfixExpression_NotName UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 285 AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 286 ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression MINUS Shift 170 PLUS Shift 171 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1026 true Shift 1026 null Shift 1026 TextBlock Shift 1026 StringLiteral Shift 1026 CharacterLiteral Shift 1026 DoubleLiteral Shift 1026 FloatingPointLiteral Shift 1026 LongLiteral Shift 1026 IntegerLiteral Shift 1026 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression_NotName Goto 271 Assignment Goto 271 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 Name Goto 272 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 ShiftExpression_NotName Goto 175 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 287 UnaryExpression_NotName Goto 1027 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1027 PostfixExpression_NotName Goto 1027 CastExpression Goto 1027 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1035 BooleanLiteral Goto 1026 Primary Goto 169 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1034 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1026 ClassInstanceCreationExpression Goto 1033 FieldAccess Goto 1032 MethodInvocation Goto 1031 ArrayAccess Goto 1030 LambdaExpression Goto 1029 ReferenceExpression Goto 1028 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1027 PreDecrementExpression Goto 1027 UnaryExpressionNotPlusMinus_NotName Goto 1027 AssignmentExpression_NotName Goto 271 Expression_NotName Goto 271 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 288 STATE 75 ----------------------------------------------------------------------- ( 10 11 12 18 20 44 45 61 63 66 74 89 93 108 118 185 208 213 216 260 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 468 507 531 532 535 570 611 649 654 704 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 854 859 861 885 893 894 895 896 897 898 901 907 910 920 923 929 942 946 947 950 952 957 958 959 960 965 970 973 974 977 ) LambdaParameters ::= BeginLambda .NestedLambda LambdaParameterList NestedLambda ::= . (544) NestedLambda Goto 273 LPAREN Reduce 544 Default reduction to rule 544 STATE 76 ----------------------------------------------------------------------- ( 10 11 12 18 20 44 45 61 63 66 74 89 93 108 118 185 208 213 216 260 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 468 507 531 532 535 570 611 649 654 704 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 854 859 861 885 893 894 895 896 897 898 901 907 910 920 923 929 942 946 947 950 952 957 958 959 960 965 970 973 974 977 ) LambdaExpression ::= LambdaParameters .ARROW LambdaBody ARROW Shift 274 STATE 77 ----------------------------------------------------------------------- ( 10 11 12 18 20 44 45 61 63 66 74 89 93 108 118 185 208 213 216 260 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 468 507 531 532 535 570 611 649 654 704 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 854 859 861 885 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 289 893 894 895 896 897 898 901 907 910 920 923 929 942 946 947 950 952 957 958 959 960 965 970 973 974 977 ) ReferenceExpression ::= QualifiedSuperReceiver .COLON_COLON NonWildTypeArgumentsopt Identifier FieldAccess ::= QualifiedSuperReceiver .DOT Identifier MethodInvocation ::= QualifiedSuperReceiver .DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= QualifiedSuperReceiver .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN DOT Shift 275 COLON_COLON Shift 276 STATE 78 ----------------------------------------------------------------------- ( 10 11 12 18 20 44 45 61 63 66 74 89 93 108 118 185 208 213 216 260 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 468 507 531 532 535 570 611 649 654 704 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 854 859 861 885 893 894 895 896 897 898 901 907 910 920 923 929 942 946 947 950 952 957 958 959 960 965 970 973 974 977 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 290 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 982 AT308 Shift 33 LESS Shift 40 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 983 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 278 ClassType Goto 278 OnlyTypeArguments Goto 277 STATE 79 ----------------------------------------------------------------------- ( 10 11 12 18 20 44 45 61 63 66 74 89 93 108 118 185 208 213 216 260 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 468 507 531 532 535 570 611 649 654 704 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 854 859 861 885 893 894 895 896 897 898 901 907 910 920 923 929 942 946 947 950 952 957 958 959 960 965 970 973 974 977 ) 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:11:53 2021 Page 291 UnqualifiedClassBodyopt ArrayCreationWithoutArrayInitializer ::= new .PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new .PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= new .ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new .ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ClassOrInterfaceType ::= .ClassOrInterface 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 982 AT308 Shift 33 LESS Shift 40 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 QualifiedName Goto 1036 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 292 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 282 OnlyTypeArguments Goto 281 ClassType Goto 280 PrimitiveType Goto 279 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 80 ----------------------------------------------------------------------- ( 10 11 12 18 20 44 45 61 63 66 74 89 93 108 118 185 208 213 216 260 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 468 507 531 532 535 570 611 649 654 704 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 854 859 861 885 893 894 895 896 897 898 901 907 910 920 923 929 942 946 947 950 952 957 958 959 960 965 970 973 974 977 ) Primary ::= ArrayCreationWithArrayInitializer . (512) ArrayAccess ::= ArrayCreationWithArrayInitializer .LBRACKET Expression RBRACKET LBRACKET Shift 283 abstract Reduce 512 final Reduce 512 instanceof Reduce 512 native Reduce 512 non-sealed Reduce 512 private Reduce 512 protected Reduce 512 public Reduce 512 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 293 static Reduce 512 strictfp Reduce 512 synchronized Reduce 512 transient Reduce 512 volatile Reduce 512 PLUS_PLUS Reduce 512 MINUS_MINUS Reduce 512 EQUAL_EQUAL Reduce 512 LESS_EQUAL Reduce 512 GREATER_EQUAL Reduce 512 NOT_EQUAL Reduce 512 LEFT_SHIFT Reduce 512 RIGHT_SHIFT Reduce 512 UNSIGNED_RIGHT_SHIFT Reduce 512 PLUS_EQUAL Reduce 512 MINUS_EQUAL Reduce 512 MULTIPLY_EQUAL Reduce 512 DIVIDE_EQUAL Reduce 512 AND_EQUAL Reduce 512 OR_EQUAL Reduce 512 XOR_EQUAL Reduce 512 REMAINDER_EQUAL Reduce 512 LEFT_SHIFT_EQUAL Reduce 512 RIGHT_SHIFT_EQUAL Reduce 512 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 512 OR_OR Reduce 512 AND_AND Reduce 512 PLUS Reduce 512 MINUS Reduce 512 REMAINDER Reduce 512 XOR Reduce 512 AND Reduce 512 MULTIPLY Reduce 512 OR Reduce 512 DIVIDE Reduce 512 GREATER Reduce 512 LESS Reduce 512 RPAREN Reduce 512 RBRACE Reduce 512 RBRACKET Reduce 512 SEMICOLON Reduce 512 QUESTION Reduce 512 COLON Reduce 512 COMMA Reduce 512 DOT Reduce 512 EQUAL Reduce 512 AT Reduce 512 COLON_COLON Reduce 512 ElidedSemicolonAndRightBrace Reduce 512 BeginCaseExpr Reduce 512 RestrictedIdentifiersealed Reduce 512 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 294 $eof Reduce 512 Default reduction to rule 512 STATE 81 ----------------------------------------------------------------------- ( 10 11 12 18 20 44 45 61 63 66 74 89 93 108 118 185 208 213 216 260 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 440 468 507 531 532 535 570 611 649 654 704 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 854 859 861 885 893 894 895 896 897 898 901 907 910 920 923 929 942 946 947 950 952 957 958 959 960 965 970 973 974 977 ) Primary ::= PrimaryNoNewArray . (511) ArrayAccess ::= PrimaryNoNewArray .LBRACKET Expression RBRACKET LBRACKET Shift 284 abstract Reduce 511 final Reduce 511 instanceof Reduce 511 native Reduce 511 non-sealed Reduce 511 private Reduce 511 protected Reduce 511 public Reduce 511 static Reduce 511 strictfp Reduce 511 synchronized Reduce 511 transient Reduce 511 volatile Reduce 511 PLUS_PLUS Reduce 511 MINUS_MINUS Reduce 511 EQUAL_EQUAL Reduce 511 LESS_EQUAL Reduce 511 GREATER_EQUAL Reduce 511 NOT_EQUAL Reduce 511 LEFT_SHIFT Reduce 511 RIGHT_SHIFT Reduce 511 UNSIGNED_RIGHT_SHIFT Reduce 511 PLUS_EQUAL Reduce 511 MINUS_EQUAL Reduce 511 MULTIPLY_EQUAL Reduce 511 DIVIDE_EQUAL Reduce 511 AND_EQUAL Reduce 511 OR_EQUAL Reduce 511 XOR_EQUAL Reduce 511 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 295 REMAINDER_EQUAL Reduce 511 LEFT_SHIFT_EQUAL Reduce 511 RIGHT_SHIFT_EQUAL Reduce 511 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 511 OR_OR Reduce 511 AND_AND Reduce 511 PLUS Reduce 511 MINUS Reduce 511 REMAINDER Reduce 511 XOR Reduce 511 AND Reduce 511 MULTIPLY Reduce 511 OR Reduce 511 DIVIDE Reduce 511 GREATER Reduce 511 LESS Reduce 511 RPAREN Reduce 511 RBRACE Reduce 511 RBRACKET Reduce 511 SEMICOLON Reduce 511 QUESTION Reduce 511 COLON Reduce 511 COMMA Reduce 511 DOT Reduce 511 EQUAL Reduce 511 AT Reduce 511 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 511 BeginCaseExpr Reduce 511 RestrictedIdentifiersealed Reduce 511 $eof Reduce 511 Default reduction to rule 511 STATE 82 ----------------------------------------------------------------------- ( 10 11 20 66 74 93 108 118 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 296 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 607 PLUS_PLUS Sh/Rd 606 OR_EQUAL Sh/Rd 682 XOR_EQUAL Sh/Rd 681 AND_EQUAL Sh/Rd 680 UNSIGNED_RIGHT_SHIFT_EQUAL Sh/Rd 679 RIGHT_SHIFT_EQUAL Sh/Rd 678 LEFT_SHIFT_EQUAL Sh/Rd 677 MINUS_EQUAL Sh/Rd 676 PLUS_EQUAL Sh/Rd 675 REMAINDER_EQUAL Sh/Rd 674 DIVIDE_EQUAL Sh/Rd 673 MULTIPLY_EQUAL Sh/Rd 672 EQUAL Sh/Rd 671 AssignmentOperator Goto 285 STATE 83 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 297 PostfixExpression ::= Primary . (602) COLON_COLON Shift 286 DOT Shift 287 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 EQUAL Reduce 602 Default reduction to rule 602 STATE 84 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) 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 288 COLON_COLON Shift 289 LPAREN Shift 290 STATE 85 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) ExplicitConstructorInvocation ::= OnlyTypeArguments .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= OnlyTypeArguments .super LPAREN ArgumentListopt RPAREN SEMICOLON super Shift 291 this Shift 292 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 298 STATE 86 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) ExplicitConstructorInvocation ::= this .LPAREN ArgumentListopt RPAREN SEMICOLON PrimaryNoNewArray ::= this . (515) LPAREN Shift 293 PLUS_PLUS Reduce 515 MINUS_MINUS 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 LBRACKET Reduce 515 DOT Reduce 515 EQUAL Reduce 515 COLON_COLON Reduce 515 Default reduction to rule 515 STATE 87 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) ExpressionStatement ::= StatementExpression .SEMICOLON SEMICOLON Sh/Rd 425 STATE 88 ----------------------------------------------------------------------- ( 10 11 20 60 66 93 108 138 185 257 274 294 296 440 591 664 702 709 736 737 837 875 893 897 920 923 947 952 958 959 960 974 977 ) Block ::= OpenBlock .LBRACE BlockStatementsopt RBRACE LBRACE Shift 294 STATE 89 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 299 960 974 977 ) AssertStatement ::= assert .Expression SEMICOLON AssertStatement ::= assert .Expression COLON Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 300 PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 301 ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 302 PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 303 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 304 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 295 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 90 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 737 893 923 947 952 960 ) LabeledStatement ::= Label .COLON Statement COLON Shift 296 STATE 91 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 737 893 923 947 952 960 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 305 IfThenStatement ::= if .LPAREN Expression RPAREN Statement IfThenElseStatement ::= if .LPAREN Expression RPAREN StatementNoShortIf else Statement LPAREN Shift 297 STATE 92 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 737 893 923 947 952 960 ) WhileStatement ::= while .LPAREN Expression RPAREN Statement LPAREN Shift 298 STATE 93 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 737 893 923 947 952 960 ) EnhancedForStatement ::= EnhancedForStatementHeader .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .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:11:53 2021 Page 306 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 ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 307 BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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:11:53 2021 Page 308 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 309 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 94 while Shift 92 if Shift 91 assert Shift 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 310 RestrictedIdentifierYield Shift 44 AssertStatement Gt/Rd 745 Block Gt/Rd 745 EmptyStatement Gt/Rd 745 ExpressionStatement Gt/Rd 745 SwitchStatement Gt/Rd 745 DoStatement Gt/Rd 745 BreakStatement Gt/Rd 745 ContinueStatement Gt/Rd 745 ReturnStatement Gt/Rd 745 SynchronizedStatement Gt/Rd 745 ThrowStatement Gt/Rd 745 TryStatement Gt/Rd 745 TryStatementWithResources Gt/Rd 745 YieldStatement Gt/Rd 745 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 311 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 Label Goto 90 EnhancedForStatementHeader Goto 93 EnhancedForStatementHeaderInit Goto 95 StatementWithoutTrailingSubstatement Gt/Rd 745 LabeledStatement Gt/Rd 745 IfThenStatement Gt/Rd 745 IfThenElseStatement Gt/Rd 745 WhileStatement Gt/Rd 745 ForStatement Gt/Rd 745 EnhancedForStatement Gt/Rd 745 Statement Gt/Rd 745 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 94 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 737 893 923 947 952 960 ) 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 299 STATE 95 ----------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit .COLON Expression RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 312 COLON Shift 300 STATE 96 ----------------------------------------------------------------------- ( 10 11 20 108 185 294 440 923 947 952 ) LocalVariableDeclaration ::= Type .PushModifiers VariableDeclarators PushModifiers ::= . (391) PushModifiers Goto 301 Identifier Reduce 391 Default reduction to rule 391 STATE 97 ----------------------------------------------------------------------- ( 10 11 20 108 185 294 440 923 947 952 ) Modifier ::= synchronized . (205) OnlySynchronized ::= synchronized . (488) LPAREN Reduce 488 Identifier Reduce 194 abstract Reduce 194 boolean Reduce 194 byte Reduce 194 char Reduce 194 class Reduce 694 double Reduce 194 enum Reduce 694 final Reduce 194 float Reduce 194 int Reduce 194 interface Reduce 694 long Reduce 194 native Reduce 194 non-sealed Reduce 194 private Reduce 194 protected Reduce 194 public Reduce 194 short Reduce 194 static Reduce 194 strictfp Reduce 194 synchronized Reduce 194 transient Reduce 194 void Reduce 194 volatile Reduce 194 AT Reduce 194 AT308 Reduce 194 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 313 RestrictedIdentifierrecord Reduce 694 RestrictedIdentifiersealed Reduce 194 Default reduction to rule 205 STATE 98 ----------------------------------------------------------------------- ( 10 11 13 14 16 17 20 21 22 108 134 149 185 207 250 294 440 441 444 477 484 489 493 667 669 688 692 699 791 794 863 923 947 952 ) AnnotationTypeDeclarationHeaderName ::= AT .PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= AT .PushModifiersForHeader interface Identifier AnnotationName ::= AT .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName PushModifiersForHeader ::= . (392) Identifier Shift 212 SimpleName Goto 212 UnannotatableName Goto 212 PushModifiersForHeader Goto 302 interface Reduce 392 Default reduction to rule 392 STATE 99 ----------------------------------------------------------------------- ( 10 11 20 108 185 294 440 923 947 952 ) Modifiers ::= Modifiers .Modifier LocalVariableDeclaration ::= Modifiers .Type PushRealModifiers VariableDeclarators Modifiersopt ::= Modifiers . (694) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 314 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 195 volatile Sh/Rd 195 transient Sh/Rd 195 synchronized Sh/Rd 195 RestrictedIdentifiersealed Sh/Rd 195 non-sealed Sh/Rd 195 native Sh/Rd 195 final Sh/Rd 195 abstract Sh/Rd 195 static Sh/Rd 195 private Sh/Rd 195 protected Sh/Rd 195 public Sh/Rd 195 AT Shift 304 Identifier Shift 982 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 315 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 303 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 303 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifier Gt/Rd 195 Type Goto 303 class Reduce 694 enum Reduce 694 interface Reduce 694 RestrictedIdentifierrecord Reduce 694 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 100 ---------------------------------------------------------------------- ( 10 11 12 18 20 27 44 45 61 63 66 74 79 89 93 99 108 118 141 147 150 151 155 184 185 190 191 192 204 208 213 216 235 260 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 350 352 356 360 364 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 316 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 424 438 440 463 468 486 502 507 531 532 535 540 576 611 647 649 654 676 677 691 704 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 854 859 861 862 868 869 872 885 893 894 895 896 897 898 901 907 910 920 923 929 942 943 944 946 947 950 952 957 958 959 960 965 970 973 974 977 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void void Sh/Rd 48 boolean Sh/Rd 47 double Sh/Rd 44 float Sh/Rd 44 char Sh/Rd 44 long Sh/Rd 44 int Sh/Rd 44 short Sh/Rd 44 byte Sh/Rd 44 IntegralType Gt/Rd 44 FloatingPointType Gt/Rd 44 NumericType Gt/Rd 44 STATE 101 ---------------------------------------------------------------------- ( 10 11 20 27 40 99 108 141 147 150 151 155 184 185 190 192 204 217 235 260 294 299 350 352 356 360 364 420 424 438 440 457 458 463 486 502 540 570 576 647 676 677 691 704 797 798 862 868 869 872 894 911 923 943 944 947 952 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 317 LBRACKET Shift 228 AT308 Shift 33 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dims Gt/Rd 67 STATE 102 ---------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 440 736 737 837 893 897 923 947 952 958 959 960 974 977 ) SimpleName ::= Identifier . (73) Label ::= Identifier . (424) LambdaParameters ::= Identifier .NestedLambda NestedLambda ::= . (544) NestedLambda Gt/Rd 545 COLON Reduce 424 Identifier Reduce 70 PLUS_PLUS Reduce 70 MINUS_MINUS Reduce 70 PLUS_EQUAL Reduce 70 MINUS_EQUAL Reduce 70 MULTIPLY_EQUAL Reduce 70 DIVIDE_EQUAL Reduce 70 AND_EQUAL Reduce 70 OR_EQUAL Reduce 70 XOR_EQUAL Reduce 70 REMAINDER_EQUAL Reduce 70 LEFT_SHIFT_EQUAL Reduce 70 RIGHT_SHIFT_EQUAL Reduce 70 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 70 LESS Reduce 70 LPAREN Reduce 70 LBRACKET Reduce 70 DOT Reduce 70 EQUAL Reduce 70 COLON_COLON Reduce 70 BeginTypeArguments Reduce 70 AT308 Reduce 70 ARROW Reduce 544 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 318 Default reduction to rule 73 STATE 103 ---------------------------------------------------------------------- ( 10 11 20 108 185 294 440 923 947 952 ) ClassOrInterface ::= Name . (60) ArrayType ::= Name .Dims QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName ExplicitConstructorInvocation ::= Name .DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= Name .DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON PrimaryNoNewArray ::= Name .DOT this QualifiedSuperReceiver ::= Name .DOT super PrimaryNoNewArray ::= Name .DOT class PrimaryNoNewArray ::= Name .Dims DOT class ReferenceExpression ::= Name .Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= Name .BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ClassInstanceCreationExpressionName ::= Name .DOT new MethodInvocation ::= Name .LPAREN ArgumentListopt RPAREN MethodInvocation ::= Name .DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= Name .LBRACKET Expression RBRACKET PostfixExpression ::= Name . (603) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 319 Dimsopt ::= . (697) Dimsopt ::= .Dims LPAREN Shift 305 BeginTypeArguments Shift 306 DOT Shift 308 LBRACKET Shift 309 AT308 Shift 33 Dims Goto 310 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dimsopt Goto 307 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 PLUS_EQUAL Reduce 603 MINUS_EQUAL Reduce 603 MULTIPLY_EQUAL Reduce 603 DIVIDE_EQUAL Reduce 603 AND_EQUAL Reduce 603 OR_EQUAL Reduce 603 XOR_EQUAL Reduce 603 REMAINDER_EQUAL Reduce 603 LEFT_SHIFT_EQUAL Reduce 603 RIGHT_SHIFT_EQUAL Reduce 603 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 603 EQUAL Reduce 603 Identifier Reduce 60 LESS Reduce 60 COLON_COLON Reduce 697 Default reduction to rule 603 STATE 104 ---------------------------------------------------------------------- ( 10 11 12 18 20 27 40 44 45 61 63 66 74 79 89 93 99 108 118 141 147 150 151 155 184 185 190 191 192 204 208 213 216 217 235 260 262 268 269 270 283 284 285 290 293 294 296 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 350 352 356 360 364 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 424 438 440 457 458 463 468 486 502 507 531 532 535 540 570 576 611 647 649 654 676 677 691 704 710 714 716 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 320 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 797 798 816 818 822 827 828 829 831 837 849 850 851 854 859 861 862 868 869 872 885 893 894 895 896 897 898 901 907 910 911 920 923 929 942 943 944 946 947 950 952 957 958 959 960 965 970 973 974 977 ) Name ::= TypeAnnotations .SimpleName TypeAnnotationsopt ::= TypeAnnotations . (79) Identifier Sh/Rd 71 SimpleName Gt/Rd 71 boolean Reduce 79 byte Reduce 79 char Reduce 79 double Reduce 79 float Reduce 79 int Reduce 79 long Reduce 79 short Reduce 79 void Reduce 79 QUESTION Reduce 79 Default reduction to rule 79 STATE 105 ---------------------------------------------------------------------- ( 10 11 20 27 40 99 108 141 147 150 151 155 184 185 190 192 204 217 235 260 294 299 350 352 356 360 364 420 424 438 440 457 458 463 486 502 540 570 576 647 676 677 691 704 797 798 862 868 869 872 894 911 923 943 944 947 952 ) ClassOrInterfaceType ::= GenericType . (59) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 321 OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET DOT Shift 311 LBRACKET Shift 228 AT308 Shift 33 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dims Gt/Rd 68 Identifier Reduce 56 abstract Reduce 56 final Reduce 56 instanceof Reduce 56 native Reduce 56 non-sealed Reduce 56 private Reduce 56 protected Reduce 56 public Reduce 56 static Reduce 56 strictfp Reduce 56 synchronized Reduce 56 this Reduce 56 transient Reduce 56 volatile Reduce 56 EQUAL_EQUAL Reduce 56 NOT_EQUAL Reduce 56 RIGHT_SHIFT Reduce 56 UNSIGNED_RIGHT_SHIFT Reduce 56 OR_OR Reduce 56 AND_AND Reduce 56 XOR Reduce 56 AND Reduce 56 OR Reduce 56 GREATER Reduce 56 RPAREN Reduce 56 RBRACE Reduce 56 RBRACKET Reduce 56 SEMICOLON Reduce 56 QUESTION Reduce 56 COLON Reduce 56 COMMA Reduce 56 AT Reduce 56 ELLIPSIS Reduce 56 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 322 ElidedSemicolonAndRightBrace Reduce 56 AT308DOTDOTDOT Reduce 56 BeginCaseExpr Reduce 56 RestrictedIdentifiersealed Reduce 56 $eof Reduce 56 Default reduction to rule 59 STATE 106 ---------------------------------------------------------------------- ( 10 11 20 108 185 260 294 299 440 704 894 923 947 952 ) Type ::= PrimitiveType . (42) 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 312 LBRACKET Shift 228 AT308 Shift 33 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dims Goto 313 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 323 Identifier Reduce 42 Default reduction to rule 42 STATE 107 ---------------------------------------------------------------------- ( 10 11 20 108 185 294 440 923 947 952 ) LocalVariableDeclarationStatement ::= LocalVariableDeclaration .SEMICOLON SEMICOLON Sh/Rd 388 STATE 108 ---------------------------------------------------------------------- ( 11 294 440 ) BlockStatements ::= BlockStatements .BlockStatement BlockStatementsopt ::= BlockStatements . (696) Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 324 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 325 ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 326 BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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:11:53 2021 Page 327 ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 328 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 ::= . (693) 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 RestrictedIdentifierYield Shift 44 try Shift 60 throw Shift 61 return Shift 63 continue Shift 64 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 329 break Shift 65 do Shift 66 switch Shift 67 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 BeginLambda Shift 75 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 super Shift 84 this Shift 86 LESS Shift 40 SEMICOLON Sh/Rd 421 assert Shift 89 if Shift 91 while Shift 92 for Shift 94 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 97 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 98 AT308 Shift 33 Identifier Shift 102 LocalVariableDeclaration Goto 107 PrimitiveType Goto 106 ReferenceType Goto 96 ClassOrInterface Goto 36 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 995 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 330 Name Goto 103 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 96 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 100 Modifier Goto 987 Modifiers Goto 99 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Type Goto 96 StatementWithoutTrailingSubstatement Gt/Rd 377 LabeledStatement Gt/Rd 377 IfThenStatement Gt/Rd 377 IfThenElseStatement Gt/Rd 377 WhileStatement Gt/Rd 377 ForStatement Gt/Rd 377 EnhancedForStatement Gt/Rd 377 EnhancedForStatementHeaderInit Goto 95 EnhancedForStatementHeader Goto 93 Label Goto 90 OpenBlock Goto 88 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OnlyTypeArguments Goto 85 Primary Goto 83 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 994 BooleanLiteral Goto 988 ClassInstanceCreationExpressionName Goto 78 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 Literal Goto 988 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 73 FieldAccess Goto 993 MethodInvocation Goto 72 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 331 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 OnlySynchronized Goto 62 AssertStatement Gt/Rd 377 Block Gt/Rd 377 EmptyStatement Gt/Rd 377 ExpressionStatement Gt/Rd 377 SwitchStatement Gt/Rd 377 DoStatement Gt/Rd 377 BreakStatement Gt/Rd 377 ContinueStatement Gt/Rd 377 ReturnStatement Gt/Rd 377 SynchronizedStatement Gt/Rd 377 ThrowStatement Gt/Rd 377 TryStatement Gt/Rd 377 TryStatementWithResources Gt/Rd 377 YieldStatement Gt/Rd 377 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiersopt Goto 57 ClassHeaderName Goto 56 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 EnumHeader Goto 47 EnumHeaderName Goto 46 LocalVariableDeclarationStatement Gt/Rd 377 Statement Gt/Rd 377 ClassDeclaration Gt/Rd 377 RecordDeclaration Gt/Rd 377 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 BlockStatement Gt/Rd 377 RBRACE Reduce 696 $eof Reduce 696 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 375 boolean Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 332 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 109 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 269 270 283 284 285 290 293 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 907 920 929 946 950 957 965 ) UnaryExpression ::= MINUS .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 314 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 null Reduce 608 short Reduce 608 super Reduce 608 switch Reduce 608 this Reduce 608 true Reduce 608 void Reduce 608 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 333 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 STATE 110 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 269 270 283 284 285 290 293 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 907 920 929 946 950 957 965 ) UnaryExpression ::= PLUS .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 315 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 null Reduce 608 short Reduce 608 super Reduce 608 switch Reduce 608 this Reduce 608 true Reduce 608 void Reduce 608 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 334 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 STATE 111 ---------------------------------------------------------------------- ( 12 18 44 45 61 63 74 89 118 208 213 216 262 268 269 270 283 284 285 290 293 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 611 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 849 850 851 854 859 861 885 895 896 901 907 910 920 929 942 946 950 957 965 970 ) SwitchExpression ::= switch .LPAREN Expression RPAREN OpenBlock SwitchBlock LPAREN Shift 316 STATE 112 ---------------------------------------------------------------------- ( 12 18 44 45 61 63 66 74 89 93 208 213 216 262 268 269 270 283 284 285 290 293 296 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 611 649 654 710 714 716 717 718 720 723 727 729 731 736 737 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 837 849 850 851 854 859 861 885 893 895 896 897 898 901 907 910 920 929 942 946 950 957 958 959 960 965 970 973 974 977 ) PrimaryNoNewArray ::= PrimitiveType .Dims DOT class PrimaryNoNewArray ::= PrimitiveType .DOT class ReferenceExpression ::= PrimitiveType .Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 335 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 312 LBRACKET Shift 228 AT308 Shift 33 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dims Goto 317 STATE 113 ---------------------------------------------------------------------- ( 12 18 44 45 61 63 74 89 118 208 213 216 260 262 268 269 270 283 284 285 290 293 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 611 649 654 704 710 714 716 717 718 720 723 727 729 731 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 849 850 851 854 859 861 885 894 895 896 898 901 907 910 920 929 942 946 950 957 965 970 973 ) 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 288 COLON_COLON Shift 289 STATE 114 ---------------------------------------------------------------------- ( 12 18 44 45 61 63 74 89 118 208 213 216 260 262 268 269 270 283 284 285 290 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 336 293 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 611 649 654 704 710 714 716 717 718 720 723 727 729 731 738 741 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 849 850 851 854 859 861 885 894 895 896 898 901 907 910 920 929 942 946 950 957 965 970 973 ) SimpleName ::= Identifier . (73) LambdaParameters ::= Identifier .NestedLambda NestedLambda ::= . (544) NestedLambda Gt/Rd 545 Identifier Reduce 70 abstract Reduce 70 final Reduce 70 instanceof Reduce 70 native Reduce 70 non-sealed Reduce 70 private Reduce 70 protected Reduce 70 public Reduce 70 static Reduce 70 strictfp Reduce 70 synchronized Reduce 70 transient Reduce 70 volatile Reduce 70 PLUS_PLUS Reduce 70 MINUS_MINUS Reduce 70 EQUAL_EQUAL Reduce 70 LESS_EQUAL Reduce 70 GREATER_EQUAL Reduce 70 NOT_EQUAL Reduce 70 LEFT_SHIFT Reduce 70 RIGHT_SHIFT Reduce 70 UNSIGNED_RIGHT_SHIFT Reduce 70 PLUS_EQUAL Reduce 70 MINUS_EQUAL Reduce 70 MULTIPLY_EQUAL Reduce 70 DIVIDE_EQUAL Reduce 70 AND_EQUAL Reduce 70 OR_EQUAL Reduce 70 XOR_EQUAL Reduce 70 REMAINDER_EQUAL Reduce 70 LEFT_SHIFT_EQUAL Reduce 70 RIGHT_SHIFT_EQUAL Reduce 70 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 70 OR_OR Reduce 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 337 AND_AND Reduce 70 PLUS Reduce 70 MINUS Reduce 70 REMAINDER Reduce 70 XOR Reduce 70 AND Reduce 70 MULTIPLY Reduce 70 OR Reduce 70 DIVIDE Reduce 70 GREATER Reduce 70 LESS Reduce 70 LPAREN Reduce 70 RPAREN Reduce 70 RBRACE Reduce 70 LBRACKET Reduce 70 RBRACKET Reduce 70 SEMICOLON Reduce 70 QUESTION Reduce 70 COLON Reduce 70 COMMA Reduce 70 DOT Reduce 70 EQUAL Reduce 73 AT Reduce 70 COLON_COLON Reduce 70 BeginTypeArguments Reduce 70 ElidedSemicolonAndRightBrace Reduce 70 AT308 Reduce 70 BeginCaseExpr Reduce 70 RestrictedIdentifiersealed Reduce 70 $eof Reduce 70 ARROW Reduce 544 Default reduction to rule 73 STATE 115 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 269 270 283 284 285 290 293 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 741 749 753 761 765 766 778 779 816 818 822 827 828 829 831 849 850 851 854 885 895 896 898 901 907 910 920 929 942 946 950 957 965 970 973 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 338 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 . (603) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (697) Dimsopt ::= .Dims LPAREN Shift 305 BeginTypeArguments Shift 306 DOT Shift 318 LBRACKET Shift 309 AT308 Shift 33 Dims Goto 319 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dimsopt Goto 307 abstract Reduce 603 final Reduce 603 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 339 instanceof Reduce 603 native Reduce 603 non-sealed Reduce 603 private Reduce 603 protected Reduce 603 public Reduce 603 static Reduce 603 strictfp Reduce 603 synchronized Reduce 603 transient Reduce 603 volatile Reduce 603 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 EQUAL_EQUAL Reduce 603 LESS_EQUAL Reduce 603 GREATER_EQUAL Reduce 603 NOT_EQUAL Reduce 603 LEFT_SHIFT Reduce 603 RIGHT_SHIFT Reduce 603 UNSIGNED_RIGHT_SHIFT Reduce 603 PLUS_EQUAL Reduce 603 MINUS_EQUAL Reduce 603 MULTIPLY_EQUAL Reduce 603 DIVIDE_EQUAL Reduce 603 AND_EQUAL Reduce 603 OR_EQUAL Reduce 603 XOR_EQUAL Reduce 603 REMAINDER_EQUAL Reduce 603 LEFT_SHIFT_EQUAL Reduce 603 RIGHT_SHIFT_EQUAL Reduce 603 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 603 OR_OR Reduce 603 AND_AND Reduce 603 PLUS Reduce 603 MINUS Reduce 603 REMAINDER Reduce 603 XOR Reduce 603 AND Reduce 603 MULTIPLY Reduce 603 OR Reduce 603 DIVIDE Reduce 603 GREATER Reduce 603 LESS Reduce 603 RPAREN Reduce 603 RBRACE Reduce 603 RBRACKET Reduce 603 SEMICOLON Reduce 603 QUESTION Reduce 603 COLON Reduce 603 COMMA Reduce 603 EQUAL Reduce 603 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 340 AT Reduce 603 ElidedSemicolonAndRightBrace Reduce 603 BeginCaseExpr Reduce 603 RestrictedIdentifiersealed Reduce 603 $eof Reduce 603 COLON_COLON Reduce 697 Default reduction to rule 603 STATE 116 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 269 270 283 284 285 290 293 297 298 299 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 649 654 710 714 716 717 718 720 723 727 729 731 738 741 749 753 761 765 766 778 779 816 818 822 827 828 829 831 849 850 851 854 885 894 895 896 898 901 907 910 920 929 942 946 950 957 965 970 973 ) 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 . (602) DOT Shift 320 COLON_COLON Shift 286 abstract Reduce 602 final Reduce 602 instanceof Reduce 602 native Reduce 602 non-sealed Reduce 602 private Reduce 602 protected Reduce 602 public Reduce 602 static Reduce 602 strictfp Reduce 602 synchronized Reduce 602 transient Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 341 volatile Reduce 602 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 602 LESS_EQUAL Reduce 602 GREATER_EQUAL Reduce 602 NOT_EQUAL Reduce 602 LEFT_SHIFT Reduce 602 RIGHT_SHIFT Reduce 602 UNSIGNED_RIGHT_SHIFT Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 602 AND_AND Reduce 602 PLUS Reduce 602 MINUS Reduce 602 REMAINDER Reduce 602 XOR Reduce 602 AND Reduce 602 MULTIPLY Reduce 602 OR Reduce 602 DIVIDE Reduce 602 GREATER Reduce 602 LESS Reduce 602 RPAREN Reduce 602 RBRACE Reduce 602 RBRACKET Reduce 602 SEMICOLON Reduce 602 QUESTION Reduce 602 COLON Reduce 602 COMMA Reduce 602 EQUAL Reduce 602 AT Reduce 602 ElidedSemicolonAndRightBrace Reduce 602 BeginCaseExpr Reduce 602 RestrictedIdentifiersealed Reduce 602 $eof Reduce 602 Default reduction to rule 602 STATE 117 ---------------------------------------------------------------------- ( 12 18 44 45 61 63 74 89 118 208 213 216 262 268 269 270 283 284 285 290 293 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 342 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 611 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 849 850 851 854 859 861 885 895 896 901 907 910 920 929 942 946 950 957 965 970 ) CastExpression ::= BeginIntersectionCast .PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus PushLPAREN ::= .LPAREN LPAREN Sh/Rd 509 PushLPAREN Goto 321 STATE 118 ---------------------------------------------------------------------- ( 12 18 44 45 61 63 74 89 118 208 213 216 262 268 269 270 283 284 285 290 293 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 611 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 761 765 766 778 779 796 816 818 822 827 828 829 831 849 850 851 854 859 861 885 895 896 901 907 910 920 929 942 946 950 957 965 970 ) PrimaryNoNewArray ::= PushLPAREN .Expression_NotName PushRPAREN PrimaryNoNewArray ::= PushLPAREN .Name PushRPAREN CastExpression ::= PushLPAREN .PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= PushLPAREN .Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN .Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN .Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN .Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 343 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 344 ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 345 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 346 UnaryExpressionNotPlusMinus_NotName ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 347 EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression MINUS Shift 170 PLUS Shift 171 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1026 true Shift 1026 null Shift 1026 TextBlock Shift 1026 StringLiteral Shift 1026 CharacterLiteral Shift 1026 DoubleLiteral Shift 1026 FloatingPointLiteral Shift 1026 LongLiteral Shift 1026 IntegerLiteral Shift 1026 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 348 ConditionalExpression_NotName Goto 271 Assignment Goto 271 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 Name Goto 323 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 ShiftExpression_NotName Goto 175 UnaryExpression_NotName Goto 1027 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1027 PostfixExpression_NotName Goto 1027 CastExpression Goto 1027 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1035 BooleanLiteral Goto 1026 Primary Goto 169 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1034 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 322 Literal Goto 1026 ClassInstanceCreationExpression Goto 1033 FieldAccess Goto 1032 MethodInvocation Goto 1031 ArrayAccess Goto 1030 LambdaExpression Goto 1029 ReferenceExpression Goto 1028 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1027 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 349 PreDecrementExpression Goto 1027 UnaryExpressionNotPlusMinus_NotName Goto 1027 AssignmentExpression_NotName Goto 271 Expression_NotName Goto 271 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 119 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 269 270 283 284 285 290 293 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 761 765 766 778 779 816 818 822 827 828 829 831 849 850 851 854 885 895 896 901 907 910 920 929 942 946 950 957 965 970 ) UnaryExpressionNotPlusMinus ::= NOT .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 324 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 null Reduce 608 short Reduce 608 super Reduce 608 switch Reduce 608 this Reduce 608 true Reduce 608 void Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 350 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 STATE 120 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 269 270 283 284 285 290 293 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 570 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 761 765 766 778 779 816 818 822 827 828 829 831 849 850 851 854 885 895 896 901 907 910 920 929 942 946 950 957 965 970 ) UnaryExpressionNotPlusMinus ::= TWIDDLE .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 325 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 null Reduce 608 short Reduce 608 super Reduce 608 switch Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 351 this Reduce 608 true Reduce 608 void Reduce 608 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 STATE 121 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 283 284 285 290 293 297 298 300 305 309 316 329 330 331 335 336 337 338 339 340 341 342 343 344 345 346 347 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 413 414 468 507 531 532 535 570 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression ::= MultiplicativeExpression . (639) REMAINDER Shift 326 DIVIDE Shift 327 MULTIPLY Shift 328 abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 352 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 XOR Reduce 639 AND Reduce 639 OR Reduce 639 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 AT Reduce 639 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 122 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 283 284 285 290 293 297 298 300 305 309 316 339 340 341 342 343 344 345 346 347 387 388 389 390 391 392 393 394 395 396 397 398 399 400 413 414 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= ShiftExpression . (646) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 353 LEFT_SHIFT Shift 331 abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 OR_OR Reduce 352 AND_AND Reduce 352 XOR Reduce 352 AND Reduce 352 OR Reduce 352 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 AT Reduce 352 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 646 STATE 123 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 283 284 285 290 293 297 298 300 305 309 316 335 336 337 338 339 340 341 342 343 344 345 346 347 380 381 382 383 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 413 414 468 507 531 532 535 570 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 354 AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= AdditiveExpression . (642) MINUS Shift 332 PLUS Shift 333 abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 XOR Reduce 642 AND Reduce 642 OR Reduce 642 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 AT Reduce 642 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 124 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 283 284 285 290 293 297 298 300 305 309 316 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 355 339 342 343 344 345 346 347 389 390 391 392 393 394 395 396 397 398 413 414 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression ::= InstanceofExpression . (651) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern instanceof Shift 334 InstanceofClassic Gt/Rd 353 InstanceofPrimaryTypePattern Gt/Rd 353 InstanceofPrimaryParenPattern Gt/Rd 353 InstanceofRHS Gt/Rd 353 abstract Reduce 651 final Reduce 651 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 EQUAL_EQUAL Reduce 651 NOT_EQUAL Reduce 651 OR_OR Reduce 651 AND_AND Reduce 651 XOR Reduce 651 AND Reduce 651 OR Reduce 651 RPAREN Reduce 651 RBRACE Reduce 651 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 AT Reduce 651 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 356 STATE 125 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 283 284 285 290 293 297 298 300 305 309 316 339 340 341 342 343 344 345 346 347 387 388 389 390 391 392 393 394 395 396 397 398 399 400 413 414 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) InstanceofExpression ::= RelationalExpression . (352) RelationalExpression ::= RelationalExpression .LESS ShiftExpression RelationalExpression ::= RelationalExpression .GREATER ShiftExpression RelationalExpression ::= RelationalExpression .LESS_EQUAL ShiftExpression RelationalExpression ::= RelationalExpression .GREATER_EQUAL ShiftExpression GREATER_EQUAL Shift 335 LESS_EQUAL Shift 336 GREATER Shift 337 LESS Shift 338 abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 EQUAL_EQUAL Reduce 352 NOT_EQUAL Reduce 352 OR_OR Reduce 352 AND_AND Reduce 352 XOR Reduce 352 AND Reduce 352 OR Reduce 352 RPAREN Reduce 352 RBRACE Reduce 352 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 AT Reduce 352 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 357 $eof Reduce 352 Default reduction to rule 352 STATE 126 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 283 284 285 290 293 297 298 300 305 309 316 342 344 345 346 347 391 392 393 394 395 396 413 414 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression ::= AndExpression . (656) AND Shift 339 abstract Reduce 656 final Reduce 656 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 OR_OR Reduce 656 AND_AND Reduce 656 XOR Reduce 656 OR Reduce 656 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 AT Reduce 656 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 127 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 283 284 285 290 293 297 298 300 305 309 316 342 343 344 345 346 347 389 391 392 393 394 395 396 397 413 414 468 507 531 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 358 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression ::= EqualityExpression . (654) NOT_EQUAL Shift 340 EQUAL_EQUAL Shift 341 abstract Reduce 654 final Reduce 654 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 OR_OR Reduce 654 AND_AND Reduce 654 XOR Reduce 654 AND Reduce 654 OR Reduce 654 RPAREN Reduce 654 RBRACE Reduce 654 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 AT Reduce 654 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 128 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 283 284 285 290 293 297 298 300 305 309 316 344 345 347 393 394 413 414 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 359 ConditionalAndExpression ::= InclusiveOrExpression . (660) OR Shift 342 abstract Reduce 660 final Reduce 660 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 OR_OR Reduce 660 AND_AND Reduce 660 RPAREN Reduce 660 RBRACE Reduce 660 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 AT Reduce 660 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 129 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 208 262 268 283 284 285 290 293 297 298 300 305 309 316 344 345 346 347 391 393 394 395 413 414 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression ::= ExclusiveOrExpression . (658) XOR Shift 343 abstract Reduce 658 final Reduce 658 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 360 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 OR_OR Reduce 658 AND_AND Reduce 658 OR Reduce 658 RPAREN Reduce 658 RBRACE Reduce 658 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 AT Reduce 658 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 130 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 285 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) ConditionalOrExpression ::= ConditionalOrExpression .OR_OR ConditionalAndExpression ConditionalExpression ::= ConditionalOrExpression . (664) ConditionalExpression ::= ConditionalOrExpression .QUESTION Expression COLON ConditionalExpression QUESTION Shift 344 OR_OR Shift 345 abstract Reduce 664 final Reduce 664 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 361 volatile Reduce 664 RPAREN Reduce 664 RBRACE Reduce 664 RBRACKET Reduce 664 SEMICOLON Reduce 664 COLON Reduce 664 COMMA Reduce 664 AT Reduce 664 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 131 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 285 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 765 766 778 779 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression ::= ConditionalAndExpression . (662) AND_AND Shift 346 abstract Reduce 664 final Reduce 664 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 OR_OR Reduce 662 RPAREN Reduce 664 RBRACE Reduce 664 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 AT Reduce 664 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 362 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 662 STATE 132 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 285 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS UnaryExpressionNotPlusMinus ::= PostfixExpression . (616) 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 607 PLUS_PLUS Sh/Rd 606 OR_EQUAL Sh/Rd 682 XOR_EQUAL Sh/Rd 681 AND_EQUAL Sh/Rd 680 UNSIGNED_RIGHT_SHIFT_EQUAL Sh/Rd 679 RIGHT_SHIFT_EQUAL Sh/Rd 678 LEFT_SHIFT_EQUAL Sh/Rd 677 MINUS_EQUAL Sh/Rd 676 PLUS_EQUAL Sh/Rd 675 REMAINDER_EQUAL Sh/Rd 674 DIVIDE_EQUAL Sh/Rd 673 MULTIPLY_EQUAL Sh/Rd 672 EQUAL Sh/Rd 671 AssignmentOperator Goto 285 instanceof Reduce 352 EQUAL_EQUAL Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 363 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 616 STATE 133 ---------------------------------------------------------------------- ( 12 285 347 513 517 766 901 946 965 ) ArrayInitializer ::= LBRACE .PushLeftBrace ,opt RBRACE ArrayInitializer ::= LBRACE .PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= LBRACE .PushLeftBrace VariableInitializers COMMA RBRACE PushLeftBrace ::= . (368) PushLeftBrace Goto 347 Identifier Reduce 368 boolean Reduce 368 byte Reduce 368 char Reduce 368 double Reduce 368 false Reduce 368 float Reduce 368 int Reduce 368 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 364 long Reduce 368 new Reduce 368 null Reduce 368 short Reduce 368 super Reduce 368 switch Reduce 368 this Reduce 368 true Reduce 368 void Reduce 368 IntegerLiteral Reduce 368 LongLiteral Reduce 368 FloatingPointLiteral Reduce 368 DoubleLiteral Reduce 368 CharacterLiteral Reduce 368 StringLiteral Reduce 368 TextBlock Reduce 368 PLUS_PLUS Reduce 368 MINUS_MINUS Reduce 368 PLUS Reduce 368 MINUS Reduce 368 NOT Reduce 368 TWIDDLE Reduce 368 LPAREN Reduce 368 LBRACE Reduce 368 RBRACE Reduce 368 COMMA Reduce 368 BeginLambda Reduce 368 BeginIntersectionCast Reduce 368 AT308 Reduce 368 Default reduction to rule 368 STATE 134 ---------------------------------------------------------------------- ( 13 ) Goal ::= MINUS RecordBodyDeclarations . (15) RecordBodyDeclarations ::= RecordBodyDeclarations .RecordBodyDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 365 Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (227) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 366 InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier RecordBodyDeclaration ::= .ClassBodyDeclaration RecordBodyDeclaration ::= .CompactConstructorDeclaration CompactConstructorDeclaration ::= .CompactConstructorHeader MethodBody CompactConstructorHeader ::= .CompactConstructorHeaderName MethodHeaderThrowsClauseopt CompactConstructorHeaderName ::= .Modifiersopt Identifier CompactConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier Modifiersopt ::= . (693) 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 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 367 abstract Shift 978 static Shift 139 private Shift 978 protected Shift 978 public Shift 978 AT Shift 98 SEMICOLON Sh/Rd 237 ClassMemberDeclaration Goto 1010 StaticInitializer Goto 1010 ConstructorDeclaration Goto 1010 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 147 ConstructorHeader Goto 137 StaticOnly Goto 138 Modifier Goto 978 Modifiers Goto 145 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 AbstractMethodDeclaration Goto 1010 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 59 ClassHeaderName1 Goto 58 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 FieldDeclaration Goto 1010 MethodDeclaration Goto 1010 ClassDeclaration Goto 1010 InterfaceDeclaration Goto 1010 EnumDeclaration Goto 1010 AnnotationTypeDeclaration Goto 1010 RecordDeclaration Goto 1010 CompactConstructorHeader Goto 146 CompactConstructorHeaderName Goto 148 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 368 ClassBodyDeclaration Gt/Rd 346 CompactConstructorDeclaration Gt/Rd 347 RecordBodyDeclaration Gt/Rd 345 $eof Reduce 15 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 227 Default reduction to rule 693 STATE 135 ---------------------------------------------------------------------- ( 13 14 134 149 250 489 493 699 ) ClassBodyDeclaration ::= Diet .NestedMethod CreateInitializer Block NestedMethod ::= . (283) NestedMethod Goto 348 LBRACE Reduce 283 Default reduction to rule 283 STATE 136 ---------------------------------------------------------------------- ( 13 14 15 17 22 134 149 250 477 484 489 493 688 692 699 ) ConstructorHeader ::= ConstructorHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 369 Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (703) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 FormalParameter Goto 1024 FormalParameterList Goto 233 Modifiers Goto 30 Annotation Gt/Rd 209 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 370 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 350 FormalParameterListopt Goto 349 RPAREN Reduce 703 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 137 ---------------------------------------------------------------------- ( 13 14 15 17 134 149 250 477 489 493 688 699 ) ConstructorDeclaration ::= ConstructorHeader .MethodBody ConstructorDeclaration ::= ConstructorHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (283) SEMICOLON Sh/Rd 287 NestedMethod Goto 206 MethodBody Gt/Rd 286 LBRACE Reduce 283 Default reduction to rule 283 STATE 138 ---------------------------------------------------------------------- ( 13 14 21 22 23 134 149 250 484 489 493 692 699 ) StaticInitializer ::= StaticOnly .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 371 OpenBlock Goto 88 Block Gt/Rd 284 LBRACE Reduce 375 Default reduction to rule 375 STATE 139 ---------------------------------------------------------------------- ( 13 14 21 22 134 149 250 484 489 493 692 699 ) Modifier ::= static . (199) StaticOnly ::= static . (285) LBRACE Reduce 285 Identifier Reduce 694 abstract Reduce 194 boolean Reduce 694 byte Reduce 694 char Reduce 694 class Reduce 694 default Reduce 694 double Reduce 694 enum Reduce 694 final Reduce 194 float Reduce 694 int Reduce 694 interface Reduce 694 long Reduce 694 native Reduce 194 non-sealed Reduce 194 package Reduce 194 private Reduce 194 protected Reduce 194 public Reduce 194 short Reduce 694 static Reduce 194 strictfp Reduce 194 synchronized Reduce 194 transient Reduce 194 void Reduce 694 volatile Reduce 194 module Reduce 694 open Reduce 694 LESS Reduce 694 AT Reduce 194 AT308 Reduce 694 RestrictedIdentifierrecord Reduce 694 RestrictedIdentifiersealed Reduce 194 Default reduction to rule 199 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 372 STATE 140 ---------------------------------------------------------------------- ( 13 14 15 134 149 250 489 493 699 ) MethodDeclaration ::= DefaultMethodHeader .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (283) NestedMethod Goto 206 MethodBody Gt/Rd 255 LBRACE Reduce 283 Default reduction to rule 283 STATE 141 ---------------------------------------------------------------------- ( 13 14 15 134 149 250 484 489 493 692 699 ) DefaultMethodHeaderName ::= ModifiersWithDefault .TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= ModifiersWithDefault .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 373 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 246 Identifier Shift 982 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 351 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 351 TypeParameters Goto 352 Type Goto 351 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 142 ---------------------------------------------------------------------- ( 13 14 15 134 149 250 484 489 493 692 699 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 374 DefaultMethodHeader ::= DefaultMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (703) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 375 protected Shift 978 public Shift 978 AT Shift 28 FormalParameter Goto 1024 FormalParameterList Goto 233 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 350 FormalParameterListopt Goto 353 RPAREN Reduce 703 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 143 ---------------------------------------------------------------------- ( 13 14 15 134 149 250 484 489 493 692 699 ) 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 ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 376 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 ::= . (693) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (703) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 FormalParameter Goto 1024 FormalParameterList Goto 233 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 350 FormalParameterListopt Goto 354 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 377 RPAREN Reduce 703 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 144 ---------------------------------------------------------------------- ( 13 14 15 134 149 250 489 493 699 ) MethodDeclaration ::= MethodHeader .MethodBody AbstractMethodDeclaration ::= MethodHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (283) SEMICOLON Sh/Rd 256 NestedMethod Goto 206 MethodBody Gt/Rd 254 LBRACE Reduce 283 Default reduction to rule 283 STATE 145 ---------------------------------------------------------------------- ( 13 14 16 134 149 250 441 444 477 484 489 493 667 669 688 692 699 791 794 863 ) Modifiers ::= Modifiers .Modifier Modifiersopt ::= Modifiers . (694) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 378 MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Sh/Rd 195 volatile Sh/Rd 195 transient Sh/Rd 195 synchronized Sh/Rd 195 RestrictedIdentifiersealed Sh/Rd 195 non-sealed Sh/Rd 195 native Sh/Rd 195 final Sh/Rd 195 abstract Sh/Rd 195 static Sh/Rd 195 private Sh/Rd 195 protected Sh/Rd 195 public Sh/Rd 195 AT Shift 304 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifier Gt/Rd 195 Identifier Reduce 694 boolean Reduce 694 byte Reduce 694 char Reduce 694 class Reduce 694 default Reduce 694 double Reduce 694 enum Reduce 694 float Reduce 694 int Reduce 694 interface Reduce 694 long Reduce 694 short Reduce 694 void Reduce 694 module Reduce 694 open Reduce 694 LESS Reduce 694 AT308 Reduce 694 RestrictedIdentifierrecord Reduce 694 Default reduction to rule 694 STATE 146 ---------------------------------------------------------------------- ( 13 134 250 489 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 379 CompactConstructorDeclaration ::= CompactConstructorHeader .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (283) NestedMethod Goto 206 MethodBody Gt/Rd 348 LBRACE Reduce 283 Default reduction to rule 283 STATE 147 ---------------------------------------------------------------------- ( 13 134 250 489 ) ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON MethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .Type Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default Modifiersopt ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier CompactConstructorHeaderName ::= Modifiersopt .Identifier CompactConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 380 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 252 RestrictedIdentifierrecord Shift 253 interface Shift 254 default Shift 355 class Shift 255 Identifier Shift 358 AT308 Shift 33 LESS Shift 246 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 357 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 357 Type Goto 357 TypeParameters Goto 356 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 381 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 148 ---------------------------------------------------------------------- ( 13 134 250 489 ) CompactConstructorHeader ::= CompactConstructorHeaderName . MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (701) throws Shift 359 MethodHeaderThrowsClause Gt/Rd 349 MethodHeaderThrowsClauseopt Gt/Rd 349 LBRACE Reduce 701 Default reduction to rule 701 STATE 149 ---------------------------------------------------------------------- ( 14 ) Goal ::= AND ClassBodyDeclarations . (14) ClassBodyDeclarations ::= ClassBodyDeclarations .ClassBodyDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 382 ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (227) ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 383 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 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 139 private Shift 978 protected Shift 978 public Shift 978 AT Shift 98 SEMICOLON Sh/Rd 237 FieldDeclaration Gt/Rd 222 MethodDeclaration Gt/Rd 222 ClassDeclaration Gt/Rd 222 InterfaceDeclaration Gt/Rd 222 EnumDeclaration Gt/Rd 222 AnnotationTypeDeclaration Gt/Rd 222 RecordDeclaration Gt/Rd 222 RecordHeaderName Goto 53 Modifiersopt Goto 150 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 49 EnumHeaderName Goto 46 EnumHeader Goto 47 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 384 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 ClassHeaderName Goto 56 ClassHeaderName1 Goto 58 ClassHeader Goto 59 MethodHeader Goto 144 MethodHeaderName Goto 143 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 AbstractMethodDeclaration Gt/Rd 222 DefaultMethodHeader Goto 140 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 StaticOnly Goto 138 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassMemberDeclaration Gt/Rd 222 StaticInitializer Gt/Rd 222 ConstructorDeclaration Gt/Rd 222 Diet Goto 135 ClassBodyDeclaration Gt/Rd 222 $eof Reduce 14 LBRACE Reduce 227 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 150 ---------------------------------------------------------------------- ( 14 149 484 493 692 699 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 385 ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON MethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN MethodHeaderName ::= Modifiersopt .Type Identifier LPAREN ModifiersWithDefault ::= Modifiersopt .default Modifiersopt ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 252 RestrictedIdentifierrecord Shift 253 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 386 interface Shift 254 default Shift 355 class Shift 255 Identifier Shift 361 AT308 Shift 33 LESS Shift 246 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 357 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 357 Type Goto 357 TypeParameters Goto 360 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 151 ---------------------------------------------------------------------- ( 15 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 387 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameters ::= .LESS TypeParameterList1 default Shift 355 LESS Shift 246 Identifier Shift 361 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 362 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 388 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 362 TypeParameters Goto 360 Type Goto 362 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 152 ---------------------------------------------------------------------- ( 17 21 22 207 ) PackageDeclaration ::= PackageDeclarationName .SEMICOLON SEMICOLON Sh/Rd 176 STATE 153 ---------------------------------------------------------------------- ( 17 21 22 207 ) PackageDeclarationName ::= PackageComment .package Name RejectTypeAnnotations package Shift 363 STATE 154 ---------------------------------------------------------------------- ( 17 477 688 ) AnnotationTypeMemberDeclaration ::= AnnotationMethodHeader .SEMICOLON SEMICOLON Sh/Rd 896 STATE 155 ---------------------------------------------------------------------- ( 17 477 688 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 389 ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON ConstructorHeaderName ::= Modifiersopt .TypeParameters Identifier LPAREN ConstructorHeaderName ::= Modifiersopt .Identifier LPAREN InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters AnnotationMethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN AnnotationMethodHeaderName ::= Modifiersopt .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 252 RestrictedIdentifierrecord Shift 253 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 390 interface Shift 254 class Shift 255 Identifier Shift 361 AT308 Shift 33 LESS Shift 246 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 365 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 365 Type Goto 365 TypeParameters Goto 364 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 156 ---------------------------------------------------------------------- ( 17 21 22 207 ) PackageDeclarationName ::= Modifiers .package PushRealModifiers Name RejectTypeAnnotations Modifiers ::= Modifiers .Modifier Modifiersopt ::= Modifiers . (694) AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers .AT PushRealModifiers interface Identifier TypeParameters IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 391 Modifier ::= .Annotation Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN package Shift 366 strictfp Sh/Rd 195 volatile Sh/Rd 195 transient Sh/Rd 195 synchronized Sh/Rd 195 RestrictedIdentifiersealed Sh/Rd 195 non-sealed Sh/Rd 195 native Sh/Rd 195 final Sh/Rd 195 abstract Sh/Rd 195 static Sh/Rd 195 private Sh/Rd 195 protected Sh/Rd 195 public Sh/Rd 195 AT Shift 304 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifier Gt/Rd 195 Identifier Reduce 694 boolean Reduce 694 byte Reduce 694 char Reduce 694 class Reduce 694 default Reduce 694 double Reduce 694 enum Reduce 694 float Reduce 694 int Reduce 694 interface Reduce 694 long Reduce 694 short Reduce 694 void Reduce 694 module Reduce 694 open Reduce 694 LESS Reduce 694 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 392 AT308 Reduce 694 RestrictedIdentifierrecord Reduce 694 Default reduction to rule 694 STATE 157 ---------------------------------------------------------------------- ( 17 477 688 ) AnnotationMethodHeader ::= AnnotationMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (703) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 393 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 FormalParameter Goto 1024 FormalParameterList Goto 233 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 350 FormalParameterListopt Goto 367 RPAREN Reduce 703 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 158 ---------------------------------------------------------------------- ( 18 21 22 207 441 445 666 ) StaticImportOnDemandDeclaration ::= StaticImportOnDemandDeclarationName . SEMICOLON SEMICOLON Sh/Rd 752 STATE 159 ---------------------------------------------------------------------- ( 18 21 22 207 441 445 666 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 394 SingleStaticImportDeclaration ::= SingleStaticImportDeclarationName .SEMICOLON SEMICOLON Sh/Rd 750 STATE 160 ---------------------------------------------------------------------- ( 18 21 22 207 441 445 666 ) TypeImportOnDemandDeclaration ::= TypeImportOnDemandDeclarationName .SEMICOLON SEMICOLON Sh/Rd 186 STATE 161 ---------------------------------------------------------------------- ( 18 21 22 207 441 445 666 ) SingleTypeImportDeclarationName ::= import .Name RejectTypeAnnotations TypeImportOnDemandDeclarationName ::= import .Name DOT RejectTypeAnnotations MULTIPLY SingleStaticImportDeclarationName ::= import .static Name RejectTypeAnnotations StaticImportOnDemandDeclarationName ::= import .static Name DOT RejectTypeAnnotations MULTIPLY Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN static Shift 368 AT308 Shift 33 Identifier Shift 982 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 395 Name Goto 369 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 369 STATE 162 ---------------------------------------------------------------------- ( 18 21 22 207 441 445 666 ) SingleTypeImportDeclaration ::= SingleTypeImportDeclarationName .SEMICOLON SEMICOLON Sh/Rd 184 STATE 163 ---------------------------------------------------------------------- ( 18 213 216 611 796 859 861 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer .LBRACE PushLeftBrace RBRACE LBRACE Shift 370 STATE 164 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) UnaryExpressionNotPlusMinus_NotName ::= NOT .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 371 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 null Reduce 608 short Reduce 608 super Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 396 switch Reduce 608 this Reduce 608 true Reduce 608 void Reduce 608 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 STATE 165 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) UnaryExpressionNotPlusMinus_NotName ::= TWIDDLE .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 372 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 null Reduce 608 short Reduce 608 super Reduce 608 switch Reduce 608 this Reduce 608 true Reduce 608 void Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 397 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 STATE 166 ---------------------------------------------------------------------- ( 18 213 216 611 796 859 861 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS MINUS_MINUS Sh/Rd 607 PLUS_PLUS Sh/Rd 606 STATE 167 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) PostfixExpression ::= PostDecrementExpression . (605) PostfixExpression_NotName ::= PostDecrementExpression . (813) abstract Reduce 874 final Reduce 874 instanceof Reduce 851 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 EQUAL_EQUAL Reduce 854 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 398 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 PLUS_EQUAL Reduce 605 MINUS_EQUAL Reduce 605 MULTIPLY_EQUAL Reduce 605 DIVIDE_EQUAL Reduce 605 AND_EQUAL Reduce 605 OR_EQUAL Reduce 605 XOR_EQUAL Reduce 605 REMAINDER_EQUAL Reduce 605 LEFT_SHIFT_EQUAL Reduce 605 RIGHT_SHIFT_EQUAL Reduce 605 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 605 EQUAL Reduce 605 Default reduction to rule 813 STATE 168 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) PostfixExpression ::= PostIncrementExpression . (604) PostfixExpression_NotName ::= PostIncrementExpression . (812) abstract Reduce 874 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 399 final Reduce 874 instanceof Reduce 851 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 PLUS_EQUAL Reduce 604 MINUS_EQUAL Reduce 604 MULTIPLY_EQUAL Reduce 604 DIVIDE_EQUAL Reduce 604 AND_EQUAL Reduce 604 OR_EQUAL Reduce 604 XOR_EQUAL Reduce 604 REMAINDER_EQUAL Reduce 604 LEFT_SHIFT_EQUAL Reduce 604 RIGHT_SHIFT_EQUAL Reduce 604 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 400 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 604 EQUAL Reduce 604 Default reduction to rule 812 STATE 169 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) 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 . (602) PostfixExpression_NotName ::= Primary . (811) DOT Shift 320 COLON_COLON Shift 286 abstract Reduce 874 final Reduce 874 instanceof Reduce 851 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 401 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 EQUAL Reduce 602 Default reduction to rule 811 STATE 170 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) UnaryExpression_NotName ::= MINUS .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 373 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 402 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 null Reduce 608 short Reduce 608 super Reduce 608 switch Reduce 608 this Reduce 608 true Reduce 608 void Reduce 608 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 STATE 171 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) UnaryExpression_NotName ::= PLUS .PushPosition UnaryExpression PushPosition ::= . (608) PushPosition Goto 374 Identifier Reduce 608 boolean Reduce 608 byte Reduce 608 char Reduce 608 double Reduce 608 false Reduce 608 float Reduce 608 int Reduce 608 long Reduce 608 new Reduce 608 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 403 null Reduce 608 short Reduce 608 super Reduce 608 switch Reduce 608 this Reduce 608 true Reduce 608 void Reduce 608 IntegerLiteral Reduce 608 LongLiteral Reduce 608 FloatingPointLiteral Reduce 608 DoubleLiteral Reduce 608 CharacterLiteral Reduce 608 StringLiteral Reduce 608 TextBlock Reduce 608 PLUS_PLUS Reduce 608 MINUS_MINUS Reduce 608 PLUS Reduce 608 MINUS Reduce 608 NOT Reduce 608 TWIDDLE Reduce 608 LPAREN Reduce 608 BeginLambda Reduce 608 BeginIntersectionCast Reduce 608 AT308 Reduce 608 Default reduction to rule 608 STATE 172 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) AdditiveExpression_NotName ::= AdditiveExpression_NotName .PLUS MultiplicativeExpression AdditiveExpression_NotName ::= AdditiveExpression_NotName .MINUS MultiplicativeExpression ShiftExpression_NotName ::= AdditiveExpression_NotName . (835) MINUS Shift 375 PLUS Shift 376 abstract Reduce 874 final Reduce 874 instanceof Reduce 851 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 404 transient Reduce 874 volatile Reduce 874 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 XOR Reduce 862 AND Reduce 859 OR Reduce 865 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 835 STATE 173 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName . MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName . REMAINDER UnaryExpression AdditiveExpression_NotName ::= MultiplicativeExpression_NotName . (830) REMAINDER Shift 377 DIVIDE Shift 378 MULTIPLY Shift 379 abstract Reduce 874 final Reduce 874 instanceof Reduce 851 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 405 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 XOR Reduce 862 AND Reduce 859 OR Reduce 865 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 830 STATE 174 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) RelationalExpression_NotName ::= RelationalExpression_NotName .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= RelationalExpression_NotName .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= RelationalExpression_NotName . (851) GREATER_EQUAL Shift 380 LESS_EQUAL Shift 381 abstract Reduce 874 final Reduce 874 instanceof Reduce 851 native Reduce 874 non-sealed Reduce 874 private Reduce 874 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 406 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 EQUAL_EQUAL Reduce 854 NOT_EQUAL Reduce 854 OR_OR Reduce 871 AND_AND Reduce 868 XOR Reduce 862 AND Reduce 859 OR Reduce 865 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 851 STATE 175 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) 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 . (842) RelationalExpression_NotName ::= ShiftExpression_NotName .LESS ShiftExpression RelationalExpression_NotName ::= ShiftExpression_NotName .GREATER ShiftExpression GREATER Shift 382 LESS Shift 383 UNSIGNED_RIGHT_SHIFT Shift 384 RIGHT_SHIFT Shift 385 LEFT_SHIFT Shift 386 abstract Reduce 874 final Reduce 874 instanceof Reduce 851 native Reduce 874 non-sealed Reduce 874 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 407 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 OR_OR Reduce 871 AND_AND Reduce 868 XOR Reduce 862 AND Reduce 859 OR Reduce 865 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 842 STATE 176 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) EqualityExpression_NotName ::= EqualityExpression_NotName .EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= EqualityExpression_NotName .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= EqualityExpression_NotName . (859) NOT_EQUAL Shift 387 EQUAL_EQUAL Shift 388 abstract Reduce 874 final Reduce 874 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 408 transient Reduce 874 volatile Reduce 874 OR_OR Reduce 871 AND_AND Reduce 868 XOR Reduce 862 AND Reduce 859 OR Reduce 865 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 859 STATE 177 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) InstanceofExpression_NotName ::= InstanceofExpression_NotName .InstanceofRHS EqualityExpression_NotName ::= InstanceofExpression_NotName . (854) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern instanceof Shift 334 InstanceofClassic Gt/Rd 853 InstanceofPrimaryTypePattern Gt/Rd 853 InstanceofPrimaryParenPattern Gt/Rd 853 InstanceofRHS Gt/Rd 853 abstract Reduce 874 final Reduce 874 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 EQUAL_EQUAL Reduce 854 NOT_EQUAL Reduce 854 OR_OR Reduce 871 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 409 AND_AND Reduce 868 XOR Reduce 862 AND Reduce 859 OR Reduce 865 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 854 STATE 178 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName .XOR AndExpression InclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName . (865) XOR Shift 389 abstract Reduce 874 final Reduce 874 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 OR_OR Reduce 871 AND_AND Reduce 868 OR Reduce 865 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 865 STATE 179 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 410 AndExpression_NotName ::= AndExpression_NotName .AND EqualityExpression ExclusiveOrExpression_NotName ::= AndExpression_NotName . (862) AND Shift 390 abstract Reduce 874 final Reduce 874 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 OR_OR Reduce 871 AND_AND Reduce 868 XOR Reduce 862 OR Reduce 865 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 862 STATE 180 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= ConditionalAndExpression_NotName . (871) AND_AND Shift 391 abstract Reduce 874 final Reduce 874 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 411 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 OR_OR Reduce 871 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 871 STATE 181 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= InclusiveOrExpression_NotName . (868) OR Shift 392 abstract Reduce 874 final Reduce 874 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 OR_OR Reduce 871 AND_AND Reduce 868 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 QUESTION Reduce 871 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 868 STATE 182 ---------------------------------------------------------------------- ( 18 213 216 611 796 859 861 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 412 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 . (603) MultiplicativeExpression_NotName ::= Name .MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= Name .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= Name .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name .PLUS MultiplicativeExpression AdditiveExpression_NotName ::= Name .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name .LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name .LESS ShiftExpression RelationalExpression_NotName ::= Name .GREATER ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= Name .InstanceofRHS EqualityExpression_NotName ::= Name .EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= Name .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= Name .AND EqualityExpression ExclusiveOrExpression_NotName ::= Name .XOR AndExpression InclusiveOrExpression_NotName ::= Name .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= Name .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= Name .OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= Name .QUESTION Expression COLON ConditionalExpression MemberValue ::= Name . (914) TypeAnnotations ::= .TypeAnnotations0 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:11:53 2021 Page 413 SingleMemberAnnotationMemberValue RPAREN InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) Dimsopt ::= .Dims QUESTION Shift 393 OR_OR Shift 394 AND_AND Shift 395 OR Shift 396 XOR Shift 397 AND Shift 398 NOT_EQUAL Shift 399 EQUAL_EQUAL Shift 400 GREATER_EQUAL Shift 401 LESS_EQUAL Shift 402 GREATER Shift 403 LESS Shift 404 UNSIGNED_RIGHT_SHIFT Shift 405 RIGHT_SHIFT Shift 406 LEFT_SHIFT Shift 407 MINUS Shift 408 PLUS Shift 409 REMAINDER Shift 410 DIVIDE Shift 411 MULTIPLY Shift 412 LPAREN Shift 305 BeginTypeArguments Shift 306 DOT Shift 318 LBRACKET Shift 309 AT308 Shift 33 instanceof Shift 334 InstanceofClassic Gt/Rd 852 InstanceofPrimaryTypePattern Gt/Rd 852 InstanceofPrimaryParenPattern Gt/Rd 852 Dims Goto 319 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 414 TypeAnnotations Goto 227 Dimsopt Goto 307 InstanceofRHS Gt/Rd 852 abstract Reduce 914 final Reduce 914 native Reduce 914 non-sealed Reduce 914 private Reduce 914 protected Reduce 914 public Reduce 914 static Reduce 914 strictfp Reduce 914 synchronized Reduce 914 transient Reduce 914 volatile Reduce 914 RPAREN Reduce 914 RBRACE Reduce 914 SEMICOLON Reduce 914 COMMA Reduce 914 AT Reduce 914 RestrictedIdentifiersealed Reduce 914 $eof Reduce 914 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 COLON_COLON Reduce 697 Default reduction to rule 914 STATE 183 ---------------------------------------------------------------------- ( 18 74 118 213 216 611 796 859 861 ) ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName .OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= ConditionalOrExpression_NotName . (874) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName .QUESTION Expression COLON ConditionalExpression QUESTION Shift 413 OR_OR Shift 414 abstract Reduce 874 final Reduce 874 native Reduce 874 non-sealed Reduce 874 private Reduce 874 protected Reduce 874 public Reduce 874 static Reduce 874 strictfp Reduce 874 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 415 synchronized Reduce 874 transient Reduce 874 volatile Reduce 874 RPAREN Reduce 874 RBRACE Reduce 874 SEMICOLON Reduce 874 COMMA Reduce 874 AT Reduce 874 RestrictedIdentifiersealed Reduce 874 $eof Reduce 874 Default reduction to rule 874 STATE 184 ---------------------------------------------------------------------- ( 19 ) FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 416 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 415 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 415 Type Goto 415 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 185 ---------------------------------------------------------------------- ( 20 ) Goal ::= MULTIPLY BlockStatements . (7) BlockStatements ::= BlockStatements .BlockStatement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 417 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 418 Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 419 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 420 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 421 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 422 AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RestrictedIdentifierYield Shift 44 try Shift 60 throw Shift 61 return Shift 63 continue Shift 64 break Shift 65 do Shift 66 switch Shift 67 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 BeginLambda Shift 75 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 super Shift 84 this Shift 86 LESS Shift 40 SEMICOLON Sh/Rd 421 assert Shift 89 if Shift 91 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 423 while Shift 92 for Shift 94 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 97 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 98 AT308 Shift 33 Identifier Shift 102 LocalVariableDeclaration Goto 107 PrimitiveType Goto 106 ReferenceType Goto 96 ClassOrInterface Goto 36 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 995 Name Goto 103 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 96 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 100 Modifier Goto 987 Modifiers Goto 99 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Type Goto 96 StatementWithoutTrailingSubstatement Gt/Rd 377 LabeledStatement Gt/Rd 377 IfThenStatement Gt/Rd 377 IfThenElseStatement Gt/Rd 377 WhileStatement Gt/Rd 377 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 424 ForStatement Gt/Rd 377 EnhancedForStatement Gt/Rd 377 EnhancedForStatementHeaderInit Goto 95 EnhancedForStatementHeader Goto 93 Label Goto 90 OpenBlock Goto 88 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OnlyTypeArguments Goto 85 Primary Goto 83 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 994 BooleanLiteral Goto 988 ClassInstanceCreationExpressionName Goto 78 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 Literal Goto 988 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 73 FieldAccess Goto 993 MethodInvocation Goto 72 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 OnlySynchronized Goto 62 AssertStatement Gt/Rd 377 Block Gt/Rd 377 EmptyStatement Gt/Rd 377 ExpressionStatement Gt/Rd 377 SwitchStatement Gt/Rd 377 DoStatement Gt/Rd 377 BreakStatement Gt/Rd 377 ContinueStatement Gt/Rd 377 ReturnStatement Gt/Rd 377 SynchronizedStatement Gt/Rd 377 ThrowStatement Gt/Rd 377 TryStatement Gt/Rd 377 TryStatementWithResources Gt/Rd 377 YieldStatement Gt/Rd 377 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiersopt Goto 57 ClassHeaderName Goto 56 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 425 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 EnumHeader Goto 47 EnumHeaderName Goto 46 LocalVariableDeclarationStatement Gt/Rd 377 Statement Gt/Rd 377 ClassDeclaration Gt/Rd 377 RecordDeclaration Gt/Rd 377 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 BlockStatement Gt/Rd 377 $eof Reduce 7 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 186 ---------------------------------------------------------------------- ( 20 ) CatchHeader ::= catch .LPAREN CatchFormalParameter RPAREN LBRACE LPAREN Shift 416 STATE 187 ---------------------------------------------------------------------- ( 21 ) Goal ::= NOT Header2 .Modifiersopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 426 Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 28 Modifier Goto 987 Modifiers Goto 30 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifiersopt Gt/Rd 6 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 427 $eof Reduce 693 Default reduction to rule 693 STATE 188 ---------------------------------------------------------------------- ( 21 240 686 ) EnumConstantHeader ::= EnumConstantHeaderName .ForceNoDiet Argumentsopt RestoreDiet ForceNoDiet ::= . (248) ForceNoDiet Goto 417 abstract Reduce 248 final Reduce 248 native Reduce 248 non-sealed Reduce 248 private Reduce 248 protected Reduce 248 public Reduce 248 static Reduce 248 strictfp Reduce 248 synchronized Reduce 248 transient Reduce 248 volatile Reduce 248 LPAREN Reduce 248 LBRACE Reduce 248 RBRACE Reduce 248 SEMICOLON Reduce 248 COMMA Reduce 248 AT Reduce 248 RestrictedIdentifiersealed Reduce 248 $eof Reduce 248 Default reduction to rule 248 STATE 189 ---------------------------------------------------------------------- ( 21 22 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName .FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 428 Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameterList ::= .FormalParameter FormalParameterList ::= .FormalParameterList COMMA FormalParameter FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers FormalParameterListopt ::= . (703) FormalParameterListopt ::= .FormalParameterList Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 FormalParameter Goto 1024 FormalParameterList Goto 233 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 429 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 350 FormalParameterListopt Goto 418 RPAREN Reduce 703 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 190 ---------------------------------------------------------------------- ( 21 22 ) 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:11:53 2021 Page 430 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 246 Identifier Shift 982 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 419 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 419 TypeParameters Goto 420 Type Goto 419 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 431 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 191 ---------------------------------------------------------------------- ( 21 22 ) 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 432 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 423 ClassType Goto 422 PrimitiveType Goto 421 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 192 ---------------------------------------------------------------------- ( 21 ) ModuleHeader ::= Modifiersopt .ModuleModifieropt module UnannotatableName ClassHeaderName1 ::= Modifiersopt .class Identifier FieldDeclaration ::= Modifiersopt .Type VariableDeclarators SEMICOLON ModifiersWithDefault ::= Modifiersopt .default Modifiersopt InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters EnumConstantHeaderName ::= Modifiersopt .Identifier RecoveryMethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= Modifiersopt .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 433 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (108) ModuleModifieropt ::= .ModuleModifier ModuleModifier ::= .open TypeParameters ::= .LESS TypeParameterList1 enum Shift 252 RestrictedIdentifierrecord Shift 253 interface Shift 254 default Shift 355 class Shift 255 open Shift 1037 Identifier Shift 427 AT308 Shift 33 LESS Shift 246 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 425 GenericType Goto 105 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 434 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 425 ModuleModifier Gt/Rd 109 ModuleModifieropt Goto 426 Type Goto 425 TypeParameters Goto 424 module Reduce 108 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 193 ---------------------------------------------------------------------- ( 21 22 668 793 ) RequiresStatement ::= SingleRequiresModuleName .SEMICOLON SEMICOLON Sh/Rd 121 STATE 194 ---------------------------------------------------------------------- ( 21 22 668 793 ) SingleRequiresModuleName ::= requires .RequiresModifiersopt UnannotatableName RequiresModifiersopt ::= .RequiresModifiers RequiresModifiersopt ::= . (124) RequiresModifiers ::= .RequiresModifier RequiresModifiers ::= .RequiresModifiers RequiresModifier RequiresModifier ::= .transitive RequiresModifier ::= .static static Shift 1038 transitive Shift 1038 RequiresModifier Goto 1038 RequiresModifiers Goto 429 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 435 RequiresModifiersopt Goto 428 Identifier Reduce 124 Default reduction to rule 124 STATE 195 ---------------------------------------------------------------------- ( 21 22 668 793 ) ExportsStatement ::= ExportsHeader .TargetModuleListopt SEMICOLON TargetModuleListopt ::= . (131) TargetModuleListopt ::= .to TargetModuleNameList to Shift 431 TargetModuleListopt Goto 430 SEMICOLON Reduce 131 Default reduction to rule 131 STATE 196 ---------------------------------------------------------------------- ( 21 22 668 793 ) ExportsHeader ::= exports .SinglePkgName SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName SinglePkgName ::= .UnannotatableName Identifier Shift 1039 SimpleName Goto 1039 UnannotatableName Goto 432 SinglePkgName Gt/Rd 130 STATE 197 ---------------------------------------------------------------------- ( 21 22 668 793 ) UsesStatement ::= UsesHeader .SEMICOLON SEMICOLON Sh/Rd 139 STATE 198 ---------------------------------------------------------------------- ( 21 22 668 793 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 436 UsesHeader ::= uses .Name Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 Name Goto 433 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 433 STATE 199 ---------------------------------------------------------------------- ( 21 22 668 793 ) ProvidesStatement ::= ProvidesInterface .WithClause SEMICOLON WithClause ::= .with ServiceImplNameList with Shift 435 WithClause Goto 434 STATE 200 ---------------------------------------------------------------------- ( 21 22 668 793 ) ProvidesInterface ::= provides .Name IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 437 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 33 Identifier Shift 982 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 Name Goto 436 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 436 STATE 201 ---------------------------------------------------------------------- ( 21 22 668 793 ) OpensStatement ::= OpensHeader .TargetModuleListopt SEMICOLON TargetModuleListopt ::= . (131) TargetModuleListopt ::= .to TargetModuleNameList to Shift 431 TargetModuleListopt Goto 437 SEMICOLON Reduce 131 Default reduction to rule 131 STATE 202 ---------------------------------------------------------------------- ( 21 22 668 793 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 438 OpensHeader ::= opens .SinglePkgName SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName SinglePkgName ::= .UnannotatableName Identifier Shift 1039 SimpleName Goto 1039 UnannotatableName Goto 432 SinglePkgName Gt/Rd 138 STATE 203 ---------------------------------------------------------------------- ( 22 ) Goal ::= UNSIGNED_RIGHT_SHIFT Header1 .Modifiersopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 439 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 28 Modifier Goto 987 Modifiers Goto 30 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifiersopt Gt/Rd 5 $eof Reduce 693 Default reduction to rule 693 STATE 204 ---------------------------------------------------------------------- ( 22 ) 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 RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters RecoveryMethodHeaderName ::= Modifiersopt .TypeParameters Type Identifier LPAREN RecoveryMethodHeaderName ::= Modifiersopt .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 440 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (108) ModuleModifieropt ::= .ModuleModifier ModuleModifier ::= .open TypeParameters ::= .LESS TypeParameterList1 enum Shift 252 RestrictedIdentifierrecord Shift 253 interface Shift 254 default Shift 355 class Shift 255 open Shift 1037 Identifier Shift 361 AT308 Shift 33 LESS Shift 246 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 425 GenericType Goto 105 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 441 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 425 ModuleModifier Gt/Rd 109 ModuleModifieropt Goto 426 Type Goto 425 TypeParameters Goto 438 module Reduce 108 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 205 ---------------------------------------------------------------------- ( 23 484 692 ) Initializer ::= Diet .NestedMethod CreateInitializer Block NestedMethod ::= . (283) NestedMethod Goto 439 LBRACE Reduce 283 Default reduction to rule 283 STATE 206 ---------------------------------------------------------------------- ( 24 137 140 144 146 693 694 695 ) MethodBody ::= NestedMethod .LBRACE BlockStatementsopt RBRACE LBRACE Shift 440 STATE 207 ---------------------------------------------------------------------- ( 25 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 442 CompilationUnit ::= EnterCompilationUnit .InternalCompilationUnit InternalCompilationUnit ::= .PackageDeclaration InternalCompilationUnit ::= .PackageDeclaration ImportDeclarations ReduceImports InternalCompilationUnit ::= .PackageDeclaration ImportDeclarations ReduceImports TypeDeclarations InternalCompilationUnit ::= .PackageDeclaration TypeDeclarations InternalCompilationUnit ::= .ImportDeclarations ReduceImports InternalCompilationUnit ::= .TypeDeclarations InternalCompilationUnit ::= .ImportDeclarations ReduceImports TypeDeclarations InternalCompilationUnit ::= . (103) 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 ::= . (179) 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 TypeDeclaration ::= .RecordDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 443 ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 444 SEMICOLON Sh/Rd 190 import Shift 161 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 98 PackageDeclarationName Goto 152 Modifier Goto 987 Modifiers Goto 156 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 PackageComment Goto 153 ImportDeclaration Goto 445 ImportDeclarations Goto 445 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Goto 445 TypeImportOnDemandDeclaration Goto 445 SingleStaticImportDeclaration Goto 445 StaticImportOnDemandDeclaration Goto 445 TypeDeclaration Goto 1040 TypeDeclarations Goto 444 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiersopt Goto 443 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 445 RecordHeaderName Goto 53 ClassDeclaration Goto 1040 InterfaceDeclaration Goto 1040 EnumDeclaration Goto 1040 AnnotationTypeDeclaration Goto 1040 RecordDeclaration Goto 1040 ModuleHeader Goto 442 PackageDeclaration Goto 441 ModuleDeclaration Gt/Rd 105 InternalCompilationUnit Gt/Rd 95 $eof Reduce 103 class Reduce 693 enum Reduce 693 interface Reduce 693 module Reduce 693 open Reduce 693 RestrictedIdentifierrecord Reduce 693 package Reduce 179 Default reduction to rule 693 STATE 208 ---------------------------------------------------------------------- ( 26 ) GuardedPattern ::= PrimaryPattern AND_AND .ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 446 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 447 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 448 PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 449 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1041 true Shift 1041 null Shift 1041 TextBlock Shift 1041 StringLiteral Shift 1041 CharacterLiteral Shift 1041 DoubleLiteral Shift 1041 FloatingPointLiteral Shift 1041 LongLiteral Shift 1041 IntegerLiteral Shift 1041 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1042 MultiplicativeExpression Goto 121 SwitchExpression Goto 1042 PostfixExpression Goto 447 CastExpression Goto 1042 PushLPAREN Goto 118 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 450 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1051 BooleanLiteral Goto 1041 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1041 ClassInstanceCreationExpression Goto 1050 FieldAccess Goto 1049 MethodInvocation Goto 1048 ArrayAccess Goto 1047 LambdaExpression Goto 1046 ReferenceExpression Goto 1045 PostIncrementExpression Goto 1044 PostDecrementExpression Goto 1043 PreIncrementExpression Goto 1042 PreDecrementExpression Goto 1042 UnaryExpressionNotPlusMinus Goto 1042 ConditionalAndExpression Goto 446 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 209 ---------------------------------------------------------------------- ( 27 ) TypePattern ::= Modifiersopt Type .Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 451 Identifier Sh/Rd 365 STATE 210 ---------------------------------------------------------------------- ( 27 40 99 141 147 150 151 155 184 190 192 204 217 235 350 352 356 360 364 420 424 438 457 458 463 486 502 540 576 647 676 677 691 797 798 862 868 869 872 911 943 944 ) ClassOrInterface ::= Name . (60) ArrayType ::= Name .Dims QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET DOT Shift 219 LBRACKET Shift 228 AT308 Shift 33 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dims Gt/Rd 66 Identifier Reduce 60 abstract Reduce 60 final Reduce 60 instanceof Reduce 60 native Reduce 60 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 452 non-sealed Reduce 60 private Reduce 60 protected Reduce 60 public Reduce 60 static Reduce 60 strictfp Reduce 60 synchronized Reduce 60 this Reduce 60 transient Reduce 60 volatile Reduce 60 EQUAL_EQUAL Reduce 60 NOT_EQUAL Reduce 60 RIGHT_SHIFT Reduce 60 UNSIGNED_RIGHT_SHIFT Reduce 60 OR_OR Reduce 60 AND_AND Reduce 60 XOR Reduce 60 AND Reduce 60 OR Reduce 60 GREATER Reduce 60 LESS Reduce 60 RPAREN Reduce 60 RBRACE Reduce 60 RBRACKET Reduce 60 SEMICOLON Reduce 60 QUESTION Reduce 60 COLON Reduce 60 COMMA Reduce 60 AT Reduce 60 ELLIPSIS Reduce 60 ElidedSemicolonAndRightBrace Reduce 60 AT308DOTDOTDOT Reduce 60 BeginCaseExpr Reduce 60 RestrictedIdentifiersealed Reduce 60 $eof Reduce 60 Default reduction to rule 60 STATE 211 ---------------------------------------------------------------------- ( 27 99 141 147 150 151 155 184 190 192 204 235 350 352 356 360 364 420 424 438 486 502 540 576 647 862 ) Type ::= PrimitiveType . (42) ArrayType ::= PrimitiveType .Dims TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 453 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 228 AT308 Shift 33 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dims Gt/Rd 65 Identifier Reduce 42 abstract Reduce 42 final Reduce 42 instanceof Reduce 42 native Reduce 42 non-sealed Reduce 42 private Reduce 42 protected Reduce 42 public Reduce 42 static Reduce 42 strictfp Reduce 42 synchronized Reduce 42 this Reduce 42 transient Reduce 42 volatile Reduce 42 EQUAL_EQUAL Reduce 42 NOT_EQUAL Reduce 42 OR_OR Reduce 42 AND_AND Reduce 42 XOR Reduce 42 AND Reduce 42 OR Reduce 42 RPAREN Reduce 42 RBRACE Reduce 42 RBRACKET Reduce 42 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 454 SEMICOLON Reduce 42 QUESTION Reduce 42 COLON Reduce 42 COMMA Reduce 42 AT Reduce 42 ELLIPSIS Reduce 42 ElidedSemicolonAndRightBrace Reduce 42 AT308DOTDOTDOT Reduce 42 BeginCaseExpr Reduce 42 RestrictedIdentifiersealed Reduce 42 $eof Reduce 42 Default reduction to rule 42 STATE 212 ---------------------------------------------------------------------- ( 28 98 304 ) UnannotatableName ::= UnannotatableName .DOT SimpleName AnnotationName ::= AT UnannotatableName . (904) DOT Shift 448 Identifier Reduce 904 abstract Reduce 904 boolean Reduce 904 byte Reduce 904 char Reduce 904 class Reduce 904 default Reduce 904 double Reduce 904 enum Reduce 904 final Reduce 904 float Reduce 904 int Reduce 904 interface Reduce 904 long Reduce 904 native Reduce 904 non-sealed Reduce 904 package Reduce 904 private Reduce 904 protected Reduce 904 public Reduce 904 short Reduce 904 static Reduce 904 strictfp Reduce 904 synchronized Reduce 904 transient Reduce 904 void Reduce 904 volatile Reduce 904 module Reduce 904 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 455 open Reduce 904 LESS Reduce 904 LPAREN Reduce 904 RPAREN Reduce 904 RBRACE Reduce 904 SEMICOLON Reduce 904 COMMA Reduce 904 AT Reduce 904 AT308 Reduce 904 RestrictedIdentifierrecord Reduce 904 RestrictedIdentifiersealed Reduce 904 $eof Reduce 904 Default reduction to rule 904 STATE 213 ---------------------------------------------------------------------- ( 29 ) NormalAnnotation ::= AnnotationName LPAREN .MemberValuePairsopt RPAREN SingleMemberAnnotation ::= AnnotationName LPAREN . SingleMemberAnnotationMemberValue RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 456 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 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:11:53 2021 Page 457 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 458 CastExpression ::= .PushLPAREN PrimitiveType 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 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:11:53 2021 Page 459 ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression Annotation ::= .NormalAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 460 Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValuePairsopt ::= . (906) 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 ::= . (921) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotationMemberValue ::= .MemberValue SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 170 PLUS Shift 171 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1052 true Shift 1052 null Shift 1052 TextBlock Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 164 TWIDDLE Shift 165 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 461 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AT Shift 28 ConditionalExpression_NotName Goto 1062 Name Goto 182 Annotation Goto 1062 MemberValueArrayInitializer Goto 1062 EnterMemberValueArrayInitializer Goto 163 AnnotationName Goto 29 NormalAnnotation Goto 1062 MarkerAnnotation Goto 1062 SingleMemberAnnotation Goto 1062 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 ShiftExpression_NotName Goto 175 UnaryExpression_NotName Goto 1054 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1054 PostfixExpression_NotName Goto 1054 CastExpression Goto 1054 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1061 BooleanLiteral Goto 1052 Primary Goto 169 ClassInstanceCreationExpressionName Goto 78 SimpleName Goto 452 TypeAnnotations Goto 104 QualifiedName Goto 1015 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1052 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 462 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 PostfixExpression Goto 166 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1054 PreDecrementExpression Goto 1054 UnaryExpressionNotPlusMinus_NotName Goto 1054 MemberValue Gt/Rd 925 MemberValuePair Goto 1053 MemberValuePairs Goto 451 MemberValuePairsopt Goto 450 SingleMemberAnnotationMemberValue Goto 449 RPAREN Reduce 906 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 LBRACE Reduce 921 Default reduction to rule 78 STATE 214 ---------------------------------------------------------------------- ( 31 ) ParenthesizedPattern ::= PushLPAREN Pattern .PushRPAREN PushRPAREN ::= .RPAREN RPAREN Sh/Rd 510 PushRPAREN Gt/Rd 364 STATE 215 ---------------------------------------------------------------------- ( 33 ) UnannotatableName ::= UnannotatableName .DOT SimpleName TypeAnnotationName ::= AT308 UnannotatableName . (86) DOT Shift 448 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 463 Identifier Reduce 86 boolean Reduce 86 byte Reduce 86 char Reduce 86 double Reduce 86 float Reduce 86 int Reduce 86 long Reduce 86 short Reduce 86 void Reduce 86 LPAREN Reduce 86 LBRACKET Reduce 86 QUESTION Reduce 86 ELLIPSIS Reduce 86 AT308 Reduce 86 $eof Reduce 86 Default reduction to rule 86 STATE 216 ---------------------------------------------------------------------- ( 34 ) NormalTypeAnnotation ::= TypeAnnotationName LPAREN .MemberValuePairsopt RPAREN SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN . SingleMemberAnnotationMemberValue RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 464 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 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 465 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 466 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 MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 467 AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 468 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 ::= . (906) 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 ::= . (921) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotationMemberValue ::= .MemberValue SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 170 PLUS Shift 171 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1052 true Shift 1052 null Shift 1052 TextBlock Shift 1052 StringLiteral Shift 1052 CharacterLiteral Shift 1052 DoubleLiteral Shift 1052 FloatingPointLiteral Shift 1052 LongLiteral Shift 1052 IntegerLiteral Shift 1052 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 469 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AT Shift 28 ConditionalExpression_NotName Goto 1062 Name Goto 182 Annotation Goto 1062 MemberValueArrayInitializer Goto 1062 EnterMemberValueArrayInitializer Goto 163 AnnotationName Goto 29 NormalAnnotation Goto 1062 MarkerAnnotation Goto 1062 SingleMemberAnnotation Goto 1062 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 ShiftExpression_NotName Goto 175 UnaryExpression_NotName Goto 1054 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1054 PostfixExpression_NotName Goto 1054 CastExpression Goto 1054 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1061 BooleanLiteral Goto 1052 Primary Goto 169 ClassInstanceCreationExpressionName Goto 78 SimpleName Goto 452 TypeAnnotations Goto 104 QualifiedName Goto 1015 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 470 PrimitiveType Goto 112 Literal Goto 1052 ClassInstanceCreationExpression Goto 1060 FieldAccess Goto 1059 MethodInvocation Goto 1058 ArrayAccess Goto 1057 LambdaExpression Goto 1056 ReferenceExpression Goto 1055 PostfixExpression Goto 166 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1054 PreDecrementExpression Goto 1054 UnaryExpressionNotPlusMinus_NotName Goto 1054 MemberValue Gt/Rd 925 MemberValuePair Goto 1053 MemberValuePairs Goto 451 MemberValuePairsopt Goto 454 SingleMemberAnnotationMemberValue Goto 453 RPAREN Reduce 906 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 LBRACE Reduce 921 Default reduction to rule 78 STATE 217 ---------------------------------------------------------------------- ( 36 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 471 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeArgumentList1 ::= .TypeArgumentList COMMA TypeArgument1 TypeArgumentList ::= .TypeArgumentList COMMA TypeArgument TypeArgument ::= .ReferenceType ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 GREATER Sh/Rd 63 AT308 Shift 33 Identifier Shift 982 ReferenceType1 Gt/Rd 754 Wildcard1 Gt/Rd 754 TypeAnnotationsopt Goto 225 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 1022 TypeAnnotations Goto 104 GenericType Goto 105 PrimitiveType Goto 224 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 223 TypeAnnotations0 Goto 35 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 472 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 222 TypeArgument Goto 221 TypeArgumentList Goto 221 Wildcard Goto 221 TypeArgument1 Gt/Rd 754 TypeArgumentList1 Gt/Rd 754 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 QUESTION Reduce 78 Default reduction to rule 78 STATE 218 ---------------------------------------------------------------------- ( 37 ) ClassOrInterface ::= GenericType DOT .Name Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 473 Identifier Shift 982 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 Name Goto 455 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 455 STATE 219 ---------------------------------------------------------------------- ( 38 210 231 433 436 455 558 604 663 772 ) 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 33 Identifier Sh/Rd 76 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 SimpleName Gt/Rd 76 TypeAnnotations Goto 456 STATE 220 ---------------------------------------------------------------------- ( 39 601 689 810 ) ClassTypeList ::= ClassTypeList COMMA .ClassTypeElt ClassOrInterfaceType ::= .ClassOrInterface IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 474 ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ClassTypeElt ::= .ClassType AT308 Shift 33 Identifier Shift 982 ClassOrInterfaceType Goto 985 Name Goto 38 GenericType Goto 37 ClassOrInterface Goto 36 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 ClassType Gt/Rd 281 ClassTypeElt Gt/Rd 280 STATE 221 ---------------------------------------------------------------------- ( 40 217 570 ) TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 TypeArgumentList ::= TypeArgumentList .COMMA TypeArgument IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 475 COMMA Shift 457 STATE 222 ---------------------------------------------------------------------- ( 40 217 457 570 ) TypeArgument ::= ReferenceType . (760) ReferenceType1 ::= ReferenceType .GREATER GREATER Sh/Rd 764 COMMA Reduce 760 Default reduction to rule 760 STATE 223 ---------------------------------------------------------------------- ( 40 217 457 570 676 677 691 872 ) ClassOrInterfaceType ::= ClassOrInterface . (58) GenericType ::= ClassOrInterface .TypeArguments GenericType ::= ClassOrInterface .LESS GREATER ReferenceType1 ::= ClassOrInterface .LESS TypeArgumentList2 TypeArguments ::= .LESS TypeArgumentList1 LESS Shift 458 TypeArguments Gt/Rd 62 AND Reduce 56 GREATER Reduce 56 COMMA Reduce 56 Default reduction to rule 58 STATE 224 ---------------------------------------------------------------------- ( 40 217 457 458 463 676 677 691 797 798 868 869 872 911 943 944 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 476 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET LBRACKET Shift 228 AT308 Shift 33 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dims Gt/Rd 65 STATE 225 ---------------------------------------------------------------------- ( 40 217 457 570 ) 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 459 void Sh/Rd 48 boolean Sh/Rd 47 double Sh/Rd 44 float Sh/Rd 44 char Sh/Rd 44 long Sh/Rd 44 int Sh/Rd 44 short Sh/Rd 44 byte Sh/Rd 44 IntegralType Gt/Rd 44 FloatingPointType Gt/Rd 44 NumericType Gt/Rd 44 STATE 226 ---------------------------------------------------------------------- ( 41 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 477 ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments DOT . ClassOrInterfaceType Dimsopt ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 Name Goto 38 GenericType Goto 37 ClassOrInterface Goto 36 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 ClassOrInterfaceType Goto 460 STATE 227 ---------------------------------------------------------------------- ( 41 101 103 105 106 112 115 182 210 211 224 229 267 272 322 323 460 501 541 545 567 595 596 600 606 608 650 657 681 763 843 856 900 ) OneDimLoop ::= TypeAnnotations .LBRACKET RBRACKET IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 478 LBRACKET Shift 461 STATE 228 ---------------------------------------------------------------------- ( 41 101 105 106 112 210 211 224 229 322 460 545 567 595 596 600 606 608 650 657 681 763 843 856 900 ) OneDimLoop ::= LBRACKET .RBRACKET RBRACKET Sh/Rd 586 STATE 229 ---------------------------------------------------------------------- ( 41 101 103 105 106 112 115 182 210 211 224 267 272 322 323 460 501 541 545 567 595 596 600 606 608 650 657 681 763 843 856 900 ) Dims ::= DimsLoop . (583) DimsLoop ::= DimsLoop .OneDimLoop TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET LBRACKET Shift 228 AT308 Shift 33 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 OneDimLoop Gt/Rd 585 Identifier Reduce 583 abstract Reduce 583 default Reduce 583 final Reduce 583 instanceof Reduce 583 native Reduce 583 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 479 non-sealed Reduce 583 private Reduce 583 protected Reduce 583 public Reduce 583 static Reduce 583 strictfp Reduce 583 synchronized Reduce 583 this Reduce 583 throws Reduce 583 transient Reduce 583 volatile Reduce 583 EQUAL_EQUAL Reduce 583 NOT_EQUAL 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 RPAREN Reduce 583 LBRACE Reduce 583 RBRACE Reduce 583 RBRACKET Reduce 583 SEMICOLON Reduce 583 QUESTION Reduce 583 COLON Reduce 583 COMMA Reduce 583 DOT Reduce 583 EQUAL Reduce 583 AT Reduce 583 ELLIPSIS Reduce 583 COLON_COLON Reduce 583 ElidedSemicolonAndRightBrace Reduce 583 AT308DOTDOTDOT Reduce 583 BeginCaseExpr Reduce 583 RestrictedIdentifiersealed Reduce 583 $eof Reduce 583 Default reduction to rule 583 STATE 230 ---------------------------------------------------------------------- ( 42 ) ParenthesizedCastNameAndBounds ::= LPAREN CastNameAndBounds .RPAREN RPAREN Sh/Rd 628 STATE 231 ---------------------------------------------------------------------- ( 42 321 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 480 QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName CastNameAndBounds ::= Name .AdditionalBoundList AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType DOT Shift 219 AND Shift 463 AdditionalBound Goto 462 AdditionalBoundList Goto 462 STATE 232 ---------------------------------------------------------------------- ( 43 ) LambdaParameterList ::= PushLPAREN FormalParameterListopt .PushRPAREN PushRPAREN ::= .RPAREN RPAREN Sh/Rd 510 PushRPAREN Gt/Rd 548 STATE 233 ---------------------------------------------------------------------- ( 43 136 142 143 157 189 ) FormalParameterList ::= FormalParameterList .COMMA FormalParameter FormalParameterListopt ::= FormalParameterList . (704) COMMA Shift 464 RPAREN Reduce 704 Default reduction to rule 704 STATE 234 ---------------------------------------------------------------------- ( 43 ) LambdaParameterList ::= PushLPAREN TypeElidedFormalParameterList .PushRPAREN TypeElidedFormalParameterList ::= TypeElidedFormalParameterList .COMMA TypeElidedFormalParameter PushRPAREN ::= .RPAREN COMMA Shift 465 RPAREN Sh/Rd 510 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 481 PushRPAREN Gt/Rd 549 STATE 235 ---------------------------------------------------------------------- ( 43 ) FormalParameter ::= Modifiersopt .Type VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis TypeElidedFormalParameter ::= Modifiersopt .Identifier Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 467 AT308 Shift 33 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 482 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 466 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 466 Type Goto 466 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 236 ---------------------------------------------------------------------- ( 44 ) YieldStatement ::= RestrictedIdentifierYield Expression .SEMICOLON SEMICOLON Sh/Rd 467 STATE 237 ---------------------------------------------------------------------- ( 45 ) SwitchLabelCaseLhs ::= case CaseLabelElements . (461) CaseLabelElements ::= CaseLabelElements .COMMA CaseLabelElement COMMA Shift 468 COLON Reduce 461 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 483 BeginCaseExpr Reduce 461 $eof Reduce 461 Default reduction to rule 461 STATE 238 ---------------------------------------------------------------------- ( 45 468 ) CaseLabelElement ::= BeginCaseElement .Pattern Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Pattern ::= .PrimaryPattern PrimaryPattern ::= .TypePattern PrimaryPattern ::= .ParenthesizedPattern ParenthesizedPattern ::= .PushLPAREN Pattern PushRPAREN TypePattern ::= .Modifiersopt Type Identifier GuardedPattern ::= .PrimaryPattern AND_AND ConditionalAndExpression PushLPAREN ::= .LPAREN Modifiersopt ::= . (693) 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 28 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 484 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 LPAREN Sh/Rd 509 TypePattern Goto 981 ParenthesizedPattern Goto 980 PushLPAREN Goto 31 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 27 PrimaryPattern Goto 26 GuardedPattern Gt/Rd 466 Pattern Gt/Rd 466 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 239 ---------------------------------------------------------------------- ( 46 241 248 251 ) ClassHeaderImplements ::= implements .InterfaceTypeList 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:11:53 2021 Page 485 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InterfaceTypeList ::= .InterfaceTypeList COMMA InterfaceType InterfaceType ::= .ClassOrInterfaceType AT308 Shift 33 Identifier Shift 982 ClassOrInterfaceType Gt/Rd 219 Name Goto 38 GenericType Goto 37 ClassOrInterface Goto 36 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 InterfaceType Goto 469 InterfaceTypeList Goto 469 STATE 240 ---------------------------------------------------------------------- ( 47 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 486 Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers EnumConstants ::= .EnumConstants COMMA EnumConstant EnumConstantHeaderName ::= .Modifiersopt Identifier EnumConstantHeader ::= .EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet EnumConstant ::= .EnumConstantHeader ForceNoDiet ClassBody RestoreDiet EnumConstant ::= .EnumConstantHeader EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (743) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN COMMA Shift 470 SEMICOLON Shift 472 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 EnumConstantHeader Goto 475 Modifiersopt Goto 474 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 487 Modifier Goto 978 Modifiers Goto 30 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 EnumConstantHeaderName Goto 188 EnumConstant Goto 473 EnumConstants Goto 473 EnumDeclarations Goto 471 EnumBodyDeclarationsopt Goto 471 RBRACE Reduce 743 Identifier Reduce 693 Default reduction to rule 743 STATE 241 ---------------------------------------------------------------------- ( 48 ) AnnotationTypeDeclarationHeader ::= AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt . ClassHeaderImplementsopt ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (705) implements Shift 239 ClassHeaderImplements Gt/Rd 884 ClassHeaderImplementsopt Gt/Rd 884 abstract Reduce 705 final Reduce 705 native Reduce 705 non-sealed Reduce 705 private Reduce 705 protected Reduce 705 public Reduce 705 static Reduce 705 strictfp Reduce 705 synchronized Reduce 705 transient Reduce 705 volatile Reduce 705 LBRACE Reduce 705 AT Reduce 705 RestrictedIdentifiersealed Reduce 705 $eof Reduce 705 Default reduction to rule 705 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 488 STATE 242 ---------------------------------------------------------------------- ( 48 56 ) ClassHeaderExtends ::= extends .ClassType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Gt/Rd 215 ClassType Gt/Rd 215 STATE 243 ---------------------------------------------------------------------- ( 49 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 489 AnnotationTypeBody ::= LBRACE .AnnotationTypeMemberDeclarationsopt RBRACE NestedType ::= . (716) AnnotationTypeMemberDeclarationsopt ::= . (887) AnnotationTypeMemberDeclarationsopt ::= .NestedType AnnotationTypeMemberDeclarations NestedType Goto 477 AnnotationTypeMemberDeclarationsopt Goto 476 RBRACE Reduce 887 Identifier Reduce 716 abstract Reduce 716 boolean Reduce 716 byte Reduce 716 char Reduce 716 class Reduce 716 double Reduce 716 enum Reduce 716 final Reduce 716 float Reduce 716 int Reduce 716 interface Reduce 716 long Reduce 716 native Reduce 716 non-sealed Reduce 716 private Reduce 716 protected Reduce 716 public Reduce 716 short Reduce 716 static Reduce 716 strictfp Reduce 716 synchronized Reduce 716 transient Reduce 716 void Reduce 716 volatile Reduce 716 LESS Reduce 716 SEMICOLON Reduce 716 AT Reduce 716 AT308 Reduce 716 RestrictedIdentifierrecord Reduce 716 RestrictedIdentifiersealed Reduce 716 Default reduction to rule 716 STATE 244 ---------------------------------------------------------------------- ( 50 ) InterfaceHeader ::= InterfaceHeaderName InterfaceHeaderExtendsopt . InterfaceHeaderPermittedSubClassesAndSubInterfacesopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 490 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt ::= . (711) InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= . RestrictedIdentifierpermits ClassTypeList RestrictedIdentifierpermits Shift 478 InterfaceHeaderPermittedSubClassesAndSubInterfaces Gt/Rd 301 InterfaceHeaderPermittedSubClassesAndSubInterfacesopt Gt/Rd 301 abstract Reduce 711 final Reduce 711 native Reduce 711 non-sealed Reduce 711 private Reduce 711 protected Reduce 711 public Reduce 711 static Reduce 711 strictfp Reduce 711 synchronized Reduce 711 transient Reduce 711 volatile Reduce 711 LBRACE Reduce 711 AT Reduce 711 RestrictedIdentifiersealed Reduce 711 $eof Reduce 711 Default reduction to rule 711 STATE 245 ---------------------------------------------------------------------- ( 50 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 491 TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InterfaceTypeList ::= .InterfaceTypeList COMMA InterfaceType InterfaceType ::= .ClassOrInterfaceType AT308 Shift 33 Identifier Shift 982 ClassOrInterfaceType Gt/Rd 219 Name Goto 38 GenericType Goto 37 ClassOrInterface Goto 36 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 InterfaceType Goto 479 InterfaceTypeList Goto 479 STATE 246 ---------------------------------------------------------------------- ( 51 54 58 141 147 150 151 155 190 192 204 491 744 846 ) TypeParameters ::= LESS .TypeParameterList1 TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 492 TypeParameter ::= .TypeParameterHeader extends ReferenceType TypeParameter ::= .TypeParameterHeader extends ReferenceType AdditionalBoundList TypeParameterList1 ::= .TypeParameterList COMMA TypeParameter1 TypeParameter1 ::= .TypeParameterHeader GREATER TypeParameter1 ::= .TypeParameterHeader extends ReferenceType1 TypeParameter1 ::= .TypeParameterHeader extends ReferenceType AdditionalBoundList1 AT308 Shift 33 TypeParameterHeader Goto 482 TypeAnnotations Goto 481 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 481 TypeParameter Goto 480 TypeParameterList Goto 480 TypeParameter1 Gt/Rd 794 TypeParameterList1 Gt/Rd 794 Identifier Reduce 78 Default reduction to rule 78 STATE 247 ---------------------------------------------------------------------- ( 52 ) InterfaceBody ::= LBRACE .InterfaceMemberDeclarationsopt RBRACE InterfaceMemberDeclarationsopt ::= . (714) InterfaceMemberDeclarationsopt ::= .NestedType InterfaceMemberDeclarations NestedType ::= . (716) NestedType Goto 484 InterfaceMemberDeclarationsopt Goto 483 RBRACE Reduce 714 Identifier Reduce 716 abstract Reduce 716 boolean Reduce 716 byte Reduce 716 char Reduce 716 class Reduce 716 default Reduce 716 double Reduce 716 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 493 enum Reduce 716 final Reduce 716 float Reduce 716 int Reduce 716 interface Reduce 716 long Reduce 716 native Reduce 716 non-sealed Reduce 716 private Reduce 716 protected Reduce 716 public Reduce 716 short Reduce 716 static Reduce 716 strictfp Reduce 716 synchronized Reduce 716 transient Reduce 716 void Reduce 716 volatile Reduce 716 LESS Reduce 716 LBRACE Reduce 716 SEMICOLON Reduce 716 AT Reduce 716 AT308 Reduce 716 RestrictedIdentifierrecord Reduce 716 RestrictedIdentifiersealed Reduce 716 Default reduction to rule 716 STATE 248 ---------------------------------------------------------------------- ( 53 ) RecordHeaderPart ::= RecordHeaderName RecordHeader .ClassHeaderImplementsopt ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (705) implements Shift 239 ClassHeaderImplements Gt/Rd 327 ClassHeaderImplementsopt Gt/Rd 327 abstract Reduce 705 final Reduce 705 native Reduce 705 non-sealed Reduce 705 private Reduce 705 protected Reduce 705 public Reduce 705 static Reduce 705 strictfp Reduce 705 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 494 synchronized Reduce 705 transient Reduce 705 volatile Reduce 705 LBRACE Reduce 705 AT Reduce 705 RestrictedIdentifiersealed Reduce 705 $eof Reduce 705 Default reduction to rule 705 STATE 249 ---------------------------------------------------------------------- ( 53 ) RecordHeader ::= LPAREN .RecordComponentsopt RecordComponentHeaderRightParen Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation RecordComponentsopt ::= . (333) RecordComponentsopt ::= .RecordComponents RecordComponents ::= .RecordComponent RecordComponents ::= .RecordComponents COMMA RecordComponent RecordComponent ::= .VariableArityRecordComponent RecordComponent ::= .Modifiersopt Type VariableDeclaratorId VariableArityRecordComponent ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId VariableArityRecordComponent ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 495 SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 RecordComponent Goto 1063 RecordComponents Goto 487 Modifiersopt Goto 486 Modifier Goto 978 Modifiers Goto 30 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 VariableArityRecordComponent Goto 1063 RecordComponentsopt Goto 485 RPAREN Reduce 333 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 250 ---------------------------------------------------------------------- ( 55 ) RecordBody ::= LBRACE .RecordBodyDeclarationopt RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 496 Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (227) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 497 ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier RecordBodyDeclarationopt ::= . (342) RecordBodyDeclarationopt ::= .RecordBodyDeclarations RecordBodyDeclarations ::= .RecordBodyDeclaration RecordBodyDeclarations ::= .RecordBodyDeclarations RecordBodyDeclaration RecordBodyDeclaration ::= .ClassBodyDeclaration RecordBodyDeclaration ::= .CompactConstructorDeclaration CompactConstructorDeclaration ::= .CompactConstructorHeader MethodBody CompactConstructorHeader ::= .CompactConstructorHeaderName MethodHeaderThrowsClauseopt CompactConstructorHeaderName ::= .Modifiersopt Identifier CompactConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier Modifiersopt ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 498 Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 139 private Shift 978 protected Shift 978 public Shift 978 AT Shift 98 SEMICOLON Sh/Rd 237 RecordBodyDeclaration Gt/Rd 344 RecordBodyDeclarations Goto 489 ClassMemberDeclaration Goto 1010 StaticInitializer Goto 1010 ConstructorDeclaration Goto 1010 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 147 ConstructorHeader Goto 137 StaticOnly Goto 138 Modifier Goto 978 Modifiers Goto 145 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 AbstractMethodDeclaration Goto 1010 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 59 ClassHeaderName1 Goto 58 ClassHeaderName Goto 56 InterfaceHeader Goto 52 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 499 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 FieldDeclaration Goto 1010 MethodDeclaration Goto 1010 ClassDeclaration Goto 1010 InterfaceDeclaration Goto 1010 EnumDeclaration Goto 1010 AnnotationTypeDeclaration Goto 1010 RecordDeclaration Goto 1010 CompactConstructorHeader Goto 146 CompactConstructorHeaderName Goto 148 ClassBodyDeclaration Gt/Rd 346 CompactConstructorDeclaration Gt/Rd 347 RecordBodyDeclarationopt Goto 488 RBRACE Reduce 342 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 227 Default reduction to rule 693 STATE 251 ---------------------------------------------------------------------- ( 56 ) ClassHeader ::= ClassHeaderName ClassHeaderExtendsopt . ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 500 ClassHeaderImplements ::= .implements InterfaceTypeList ClassHeaderImplementsopt ::= . (705) implements Shift 239 ClassHeaderImplements Goto 490 ClassHeaderImplementsopt Goto 490 abstract Reduce 705 final Reduce 705 native Reduce 705 non-sealed Reduce 705 private Reduce 705 protected Reduce 705 public Reduce 705 static Reduce 705 strictfp Reduce 705 synchronized Reduce 705 transient Reduce 705 volatile Reduce 705 LBRACE Reduce 705 AT Reduce 705 RestrictedIdentifiersealed Reduce 705 RestrictedIdentifierpermits Reduce 705 $eof Reduce 705 Default reduction to rule 705 STATE 252 ---------------------------------------------------------------------- ( 57 147 150 155 192 204 443 ) EnumHeaderName ::= Modifiersopt enum .Identifier EnumHeaderName ::= Modifiersopt enum .Identifier TypeParameters Identifier Shift 491 STATE 253 ---------------------------------------------------------------------- ( 57 147 150 155 192 204 443 ) RecordHeaderName1 ::= Modifiersopt RestrictedIdentifierrecord .Identifier Identifier Sh/Rd 330 STATE 254 ---------------------------------------------------------------------- ( 57 147 150 155 192 204 443 ) InterfaceHeaderName1 ::= Modifiersopt interface .Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 501 Identifier Sh/Rd 304 STATE 255 ---------------------------------------------------------------------- ( 57 147 150 155 192 204 443 ) ClassHeaderName1 ::= Modifiersopt class .Identifier Identifier Sh/Rd 214 STATE 256 ---------------------------------------------------------------------- ( 59 687 925 926 ) ClassBody ::= LBRACE .ClassBodyDeclarationsopt RBRACE ClassBodyDeclarationsopt ::= . (691) ClassBodyDeclarationsopt ::= .NestedType ClassBodyDeclarations NestedType ::= . (716) NestedType Goto 493 ClassBodyDeclarationsopt Goto 492 RBRACE Reduce 691 Identifier Reduce 716 abstract Reduce 716 boolean Reduce 716 byte Reduce 716 char Reduce 716 class Reduce 716 default Reduce 716 double Reduce 716 enum Reduce 716 final Reduce 716 float Reduce 716 int Reduce 716 interface Reduce 716 long Reduce 716 native Reduce 716 non-sealed Reduce 716 private Reduce 716 protected Reduce 716 public Reduce 716 short Reduce 716 static Reduce 716 strictfp Reduce 716 synchronized Reduce 716 transient Reduce 716 void Reduce 716 volatile Reduce 716 LESS Reduce 716 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 502 LBRACE Reduce 716 SEMICOLON Reduce 716 AT Reduce 716 AT308 Reduce 716 RestrictedIdentifierrecord Reduce 716 RestrictedIdentifiersealed Reduce 716 Default reduction to rule 716 STATE 257 ---------------------------------------------------------------------- ( 60 ) TryStatementWithResources ::= try ResourceSpecification .TryBlock Catchesopt TryStatementWithResources ::= try ResourceSpecification .TryBlock Catchesopt Finally Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) TryBlock ::= .Block ExitTryBlock OpenBlock Goto 88 Block Goto 259 TryBlock Goto 494 LBRACE Reduce 375 Default reduction to rule 375 STATE 258 ---------------------------------------------------------------------- ( 60 ) TryStatement ::= try TryBlock .Catches TryStatement ::= try TryBlock .Catchesopt Finally Catches ::= .CatchClause Catches ::= .Catches CatchClause CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block Catchesopt ::= . (723) Catchesopt ::= .Catches catch Shift 496 Catches Goto 497 CatchClause Goto 1064 Catchesopt Goto 495 finally Reduce 723 Default reduction to rule 723 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 503 STATE 259 ---------------------------------------------------------------------- ( 60 257 ) TryBlock ::= Block .ExitTryBlock ExitTryBlock ::= . (504) ExitTryBlock Gt/Rd 503 Identifier Reduce 504 abstract Reduce 504 assert Reduce 504 boolean Reduce 504 break Reduce 504 byte Reduce 504 case Reduce 504 catch Reduce 504 char Reduce 504 class Reduce 504 continue Reduce 504 default Reduce 504 do Reduce 504 double Reduce 504 else Reduce 504 enum Reduce 504 false Reduce 504 final Reduce 504 finally Reduce 504 float Reduce 504 for Reduce 504 if Reduce 504 int Reduce 504 interface Reduce 504 long Reduce 504 native Reduce 504 new Reduce 504 non-sealed Reduce 504 null Reduce 504 private Reduce 504 protected Reduce 504 public Reduce 504 return Reduce 504 short Reduce 504 static Reduce 504 strictfp Reduce 504 super Reduce 504 switch Reduce 504 synchronized Reduce 504 this Reduce 504 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 504 throw Reduce 504 transient Reduce 504 true Reduce 504 try Reduce 504 void Reduce 504 volatile Reduce 504 while Reduce 504 IntegerLiteral Reduce 504 LongLiteral Reduce 504 FloatingPointLiteral Reduce 504 DoubleLiteral Reduce 504 CharacterLiteral Reduce 504 StringLiteral Reduce 504 TextBlock Reduce 504 PLUS_PLUS Reduce 504 MINUS_MINUS Reduce 504 LESS Reduce 504 LPAREN Reduce 504 LBRACE Reduce 504 RBRACE Reduce 504 SEMICOLON Reduce 504 AT Reduce 504 BeginLambda Reduce 504 AT308 Reduce 504 RestrictedIdentifierYield Reduce 504 RestrictedIdentifierrecord Reduce 504 RestrictedIdentifiersealed Reduce 504 $eof Reduce 504 Default reduction to rule 504 STATE 260 ---------------------------------------------------------------------- ( 60 ) ResourceSpecification ::= LPAREN .Resources ;opt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 505 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 506 PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 507 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 33 AT Shift 28 strictfp Shift 502 volatile Shift 502 transient Shift 502 synchronized Shift 502 RestrictedIdentifiersealed Shift 502 non-sealed Shift 502 native Shift 502 final Shift 502 abstract Shift 502 static Shift 502 private Shift 502 protected Shift 502 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 508 public Shift 502 null Shift 1065 TextBlock Shift 1065 StringLiteral Shift 1065 CharacterLiteral Shift 1065 DoubleLiteral Shift 1065 FloatingPointLiteral Shift 1065 LongLiteral Shift 1065 IntegerLiteral Shift 1065 false Shift 1065 true Shift 1065 LPAREN Sh/Rd 509 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 Type Goto 503 Modifiers Goto 502 Name Goto 501 FieldAccess Goto 500 Literal Goto 1065 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 1071 PrimitiveType Goto 106 MethodInvocation Goto 1070 ArrayAccess Goto 1069 LambdaExpression Goto 1068 ReferenceExpression Goto 1067 Primary Goto 499 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1065 ArrayCreationWithoutArrayInitializer Goto 499 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 502 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 509 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 503 GenericType Goto 105 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 1066 ReferenceType Goto 503 Resource Gt/Rd 496 Resources Goto 498 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 261 ---------------------------------------------------------------------- ( 61 ) ThrowStatement ::= throw Expression .SEMICOLON SEMICOLON Sh/Rd 485 STATE 262 ---------------------------------------------------------------------- ( 62 ) SynchronizedStatement ::= OnlySynchronized LPAREN .Expression RPAREN Block Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 510 PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 511 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:11:53 2021 Page 512 ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 513 ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 514 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 515 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 504 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 263 ---------------------------------------------------------------------- ( 63 ) ReturnStatement ::= return Expressionopt .SEMICOLON SEMICOLON Sh/Rd 484 STATE 264 ---------------------------------------------------------------------- ( 64 ) ContinueStatement ::= continue Identifier .SEMICOLON SEMICOLON Sh/Rd 483 STATE 265 ---------------------------------------------------------------------- ( 65 ) BreakStatement ::= break Identifier .SEMICOLON SEMICOLON Sh/Rd 481 STATE 266 ---------------------------------------------------------------------- ( 66 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 516 DoStatement ::= do Statement .while LPAREN Expression RPAREN SEMICOLON while Shift 505 STATE 267 ---------------------------------------------------------------------- ( 66 93 296 736 737 837 893 897 958 959 960 974 977 ) 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 . (603) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (697) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 517 Dimsopt ::= .Dims LPAREN Shift 305 BeginTypeArguments Shift 306 DOT Shift 308 LBRACKET Shift 309 AT308 Shift 33 Dims Goto 319 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dimsopt Goto 307 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 PLUS_EQUAL Reduce 603 MINUS_EQUAL Reduce 603 MULTIPLY_EQUAL Reduce 603 DIVIDE_EQUAL Reduce 603 AND_EQUAL Reduce 603 OR_EQUAL Reduce 603 XOR_EQUAL Reduce 603 REMAINDER_EQUAL Reduce 603 LEFT_SHIFT_EQUAL Reduce 603 RIGHT_SHIFT_EQUAL Reduce 603 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 603 EQUAL Reduce 603 COLON_COLON Reduce 697 Default reduction to rule 603 STATE 268 ---------------------------------------------------------------------- ( 67 ) SwitchStatement ::= switch LPAREN .Expression RPAREN OpenBlock SwitchBlock Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 518 Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 519 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 520 MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 521 MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 522 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 523 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 506 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 269 ---------------------------------------------------------------------- ( 68 ) PreDecrementExpression ::= MINUS_MINUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 524 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 525 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 526 MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 527 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 615 PostfixExpression Goto 447 CastExpression Gt/Rd 615 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 615 PreDecrementExpression Gt/Rd 615 UnaryExpressionNotPlusMinus Gt/Rd 615 UnaryExpression Gt/Rd 615 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 528 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 270 ---------------------------------------------------------------------- ( 69 ) PreIncrementExpression ::= PLUS_PLUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 529 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 530 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:11:53 2021 Page 531 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 614 PostfixExpression Goto 447 CastExpression Gt/Rd 614 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 532 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 614 PreDecrementExpression Gt/Rd 614 UnaryExpressionNotPlusMinus Gt/Rd 614 UnaryExpression Gt/Rd 614 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 271 ---------------------------------------------------------------------- ( 74 118 ) PrimaryNoNewArray ::= PushLPAREN Expression_NotName .PushRPAREN PushRPAREN ::= .RPAREN RPAREN Sh/Rd 510 PushRPAREN Gt/Rd 516 STATE 272 ---------------------------------------------------------------------- ( 74 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 533 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 . (603) MultiplicativeExpression_NotName ::= Name .MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= Name .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= Name .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name .PLUS MultiplicativeExpression AdditiveExpression_NotName ::= Name .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name .LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name .LESS ShiftExpression RelationalExpression_NotName ::= Name .GREATER ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= Name .InstanceofRHS EqualityExpression_NotName ::= Name .EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= Name .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= Name .AND EqualityExpression ExclusiveOrExpression_NotName ::= Name .XOR AndExpression InclusiveOrExpression_NotName ::= Name .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= Name .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= Name .OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= Name .QUESTION Expression COLON ConditionalExpression TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 534 SingleMemberAnnotationMemberValue RPAREN InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern PushRPAREN ::= .RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) Dimsopt ::= .Dims QUESTION Shift 393 OR_OR Shift 394 AND_AND Shift 395 OR Shift 396 XOR Shift 397 AND Shift 398 NOT_EQUAL Shift 399 EQUAL_EQUAL Shift 400 GREATER_EQUAL Shift 401 LESS_EQUAL Shift 402 GREATER Shift 403 LESS Shift 404 UNSIGNED_RIGHT_SHIFT Shift 405 RIGHT_SHIFT Shift 406 LEFT_SHIFT Shift 407 MINUS Shift 408 PLUS Shift 409 REMAINDER Shift 410 DIVIDE Shift 411 MULTIPLY Shift 412 LPAREN Shift 305 BeginTypeArguments Shift 306 DOT Shift 318 RPAREN Sh/Rd 510 LBRACKET Shift 309 AT308 Shift 33 instanceof Shift 334 InstanceofClassic Gt/Rd 852 InstanceofPrimaryTypePattern Gt/Rd 852 InstanceofPrimaryParenPattern Gt/Rd 852 Dims Goto 319 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 535 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 PushRPAREN Gt/Rd 517 Dimsopt Goto 307 InstanceofRHS Gt/Rd 852 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 PLUS_EQUAL Reduce 603 MINUS_EQUAL Reduce 603 MULTIPLY_EQUAL Reduce 603 DIVIDE_EQUAL Reduce 603 AND_EQUAL Reduce 603 OR_EQUAL Reduce 603 XOR_EQUAL Reduce 603 REMAINDER_EQUAL Reduce 603 LEFT_SHIFT_EQUAL Reduce 603 RIGHT_SHIFT_EQUAL Reduce 603 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 603 EQUAL Reduce 603 COLON_COLON Reduce 697 Default reduction to rule 603 STATE 273 ---------------------------------------------------------------------- ( 75 ) LambdaParameters ::= BeginLambda NestedLambda .LambdaParameterList PushLPAREN ::= .LPAREN LambdaParameterList ::= .PushLPAREN FormalParameterListopt PushRPAREN LambdaParameterList ::= .PushLPAREN TypeElidedFormalParameterList PushRPAREN LPAREN Sh/Rd 509 PushLPAREN Goto 43 LambdaParameterList Gt/Rd 546 STATE 274 ---------------------------------------------------------------------- ( 76 ) LambdaExpression ::= LambdaParameters ARROW .LambdaBody Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) LambdaBody ::= .ElidedLeftBraceAndReturn Expression ElidedSemicolonAndRightBrace ElidedLeftBraceAndReturn ::= . (555) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 536 OpenBlock Goto 88 ElidedLeftBraceAndReturn Goto 507 Block Gt/Rd 543 LambdaBody Gt/Rd 543 LBRACE Reduce 375 Identifier Reduce 555 boolean Reduce 555 byte Reduce 555 char Reduce 555 double Reduce 555 false Reduce 555 float Reduce 555 int Reduce 555 long Reduce 555 new Reduce 555 null Reduce 555 short Reduce 555 super Reduce 555 switch Reduce 555 this Reduce 555 true Reduce 555 void Reduce 555 IntegerLiteral Reduce 555 LongLiteral Reduce 555 FloatingPointLiteral Reduce 555 DoubleLiteral Reduce 555 CharacterLiteral Reduce 555 StringLiteral Reduce 555 TextBlock Reduce 555 PLUS_PLUS Reduce 555 MINUS_MINUS Reduce 555 PLUS Reduce 555 MINUS Reduce 555 NOT Reduce 555 TWIDDLE Reduce 555 LPAREN Reduce 555 BeginLambda Reduce 555 BeginIntersectionCast Reduce 555 AT308 Reduce 555 Default reduction to rule 555 STATE 275 ---------------------------------------------------------------------- ( 77 ) FieldAccess ::= QualifiedSuperReceiver DOT .Identifier MethodInvocation ::= QualifiedSuperReceiver DOT .Identifier LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 537 MethodInvocation ::= QualifiedSuperReceiver DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 509 LESS Shift 40 OnlyTypeArguments Goto 508 STATE 276 ---------------------------------------------------------------------- ( 77 ) ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON . NonWildTypeArgumentsopt Identifier NonWildTypeArgumentsopt ::= . (539) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 40 OnlyTypeArguments Goto 510 NonWildTypeArgumentsopt Goto 510 Identifier Reduce 539 Default reduction to rule 539 STATE 277 ---------------------------------------------------------------------- ( 78 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 538 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 511 ClassType Goto 511 STATE 278 ---------------------------------------------------------------------- ( 78 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (563) EnterInstanceCreationArgumentList Goto 512 LPAREN Reduce 563 Default reduction to rule 563 STATE 279 ---------------------------------------------------------------------- ( 79 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 539 ArrayCreationWithoutArrayInitializer ::= new PrimitiveType . DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new PrimitiveType .DimWithOrWithOutExprs ArrayInitializer TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 TypeAnnotationsopt Goto 514 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 514 DimWithOrWithOutExpr Gt/Rd 579 DimWithOrWithOutExprs Goto 513 LBRACKET Reduce 78 Default reduction to rule 78 STATE 280 ---------------------------------------------------------------------- ( 79 ) ClassInstanceCreationExpression ::= new ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (563) EnterInstanceCreationArgumentList Goto 515 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 540 LPAREN Reduce 563 Default reduction to rule 563 STATE 281 ---------------------------------------------------------------------- ( 79 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments .ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 541 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 516 ClassType Goto 516 STATE 282 ---------------------------------------------------------------------- ( 79 ) ClassType ::= ClassOrInterfaceType . (69) ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType . DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType . DimWithOrWithOutExprs ArrayInitializer TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 TypeAnnotationsopt Goto 514 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 514 DimWithOrWithOutExpr Gt/Rd 579 DimWithOrWithOutExprs Goto 517 LPAREN Reduce 69 LBRACKET Reduce 78 Default reduction to rule 69 STATE 283 ---------------------------------------------------------------------- ( 80 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 542 ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET .Expression RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 543 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 544 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 545 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 546 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 547 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 518 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 284 ---------------------------------------------------------------------- ( 81 ) ArrayAccess ::= PrimaryNoNewArray LBRACKET .Expression RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 548 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 549 PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 550 FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 551 MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 552 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 553 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 519 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 285 ---------------------------------------------------------------------- ( 82 132 ) Assignment ::= PostfixExpression AssignmentOperator .AssignmentExpression InvalidArrayInitializerAssignement ::= PostfixExpression AssignmentOperator . ArrayInitializer Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 554 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 555 ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 556 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 557 UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1082 true Shift 1082 null Shift 1082 TextBlock Shift 1082 StringLiteral Shift 1082 CharacterLiteral Shift 1082 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 558 DoubleLiteral Shift 1082 FloatingPointLiteral Shift 1082 LongLiteral Shift 1082 IntegerLiteral Shift 1082 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 LBRACE Shift 133 ConditionalOrExpression Goto 130 InclusiveOrExpression Goto 128 ConditionalAndExpression Goto 131 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1083 PreDecrementExpression Goto 1083 UnaryExpressionNotPlusMinus Goto 1083 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1092 PostDecrementExpression Goto 1091 PostfixExpression Goto 132 Literal Goto 1082 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1090 FieldAccess Goto 1089 PrimitiveType Goto 112 MethodInvocation Goto 1088 ArrayAccess Goto 1087 LambdaExpression Goto 1086 ReferenceExpression Goto 1085 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 559 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1082 ArrayCreationWithoutArrayInitializer Goto 1084 SwitchExpression Goto 1083 CastExpression Goto 1083 UnaryExpression Goto 1083 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalExpression Gt/Rd 668 Assignment Gt/Rd 668 AssignmentExpression Gt/Rd 668 ArrayInitializer Gt/Rd 669 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 286 ---------------------------------------------------------------------- ( 83 116 169 499 ) ReferenceExpression ::= Primary COLON_COLON .NonWildTypeArgumentsopt Identifier NonWildTypeArgumentsopt ::= . (539) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 40 OnlyTypeArguments Goto 520 NonWildTypeArgumentsopt Goto 520 Identifier Reduce 539 Default reduction to rule 539 STATE 287 ---------------------------------------------------------------------- ( 83 ) ExplicitConstructorInvocation ::= Primary DOT .super LPAREN ArgumentListopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 560 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 521 new Shift 522 this Shift 523 super Shift 525 LESS Shift 40 OnlyTypeArguments Goto 524 STATE 288 ---------------------------------------------------------------------- ( 84 113 ) FieldAccess ::= super DOT .Identifier MethodInvocation ::= super DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= super DOT .Identifier LPAREN ArgumentListopt RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 Identifier Shift 527 LESS Shift 40 OnlyTypeArguments Goto 526 STATE 289 ---------------------------------------------------------------------- ( 84 113 ) ReferenceExpression ::= super COLON_COLON .NonWildTypeArgumentsopt Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 561 NonWildTypeArgumentsopt ::= . (539) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 40 OnlyTypeArguments Goto 528 NonWildTypeArgumentsopt Goto 528 Identifier Reduce 539 Default reduction to rule 539 STATE 290 ---------------------------------------------------------------------- ( 84 ) ExplicitConstructorInvocation ::= super LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .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:11:53 2021 Page 562 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 563 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 564 UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 565 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 566 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 529 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 567 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 291 ---------------------------------------------------------------------- ( 85 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 531 STATE 292 ---------------------------------------------------------------------- ( 85 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 532 STATE 293 ---------------------------------------------------------------------- ( 86 ) ExplicitConstructorInvocation ::= this LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 568 PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 569 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 ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 570 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 571 AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 572 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 573 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 533 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 294 ---------------------------------------------------------------------- ( 88 ) Block ::= OpenBlock LBRACE .BlockStatementsopt RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 574 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 575 ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 576 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier 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:11:53 2021 Page 577 SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList 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:11:53 2021 Page 578 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 579 Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers BlockStatementsopt ::= . (695) 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 RestrictedIdentifierYield Shift 44 try Shift 60 throw Shift 61 return Shift 63 continue Shift 64 break Shift 65 do Shift 66 switch Shift 67 MINUS_MINUS Shift 68 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 580 PLUS_PLUS Shift 69 BeginLambda Shift 75 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 super Shift 84 this Shift 86 LESS Shift 40 SEMICOLON Sh/Rd 421 assert Shift 89 if Shift 91 while Shift 92 for Shift 94 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 97 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 98 AT308 Shift 33 Identifier Shift 102 BlockStatement Gt/Rd 376 BlockStatements Goto 108 LocalVariableDeclaration Goto 107 PrimitiveType Goto 106 ReferenceType Goto 96 ClassOrInterface Goto 36 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 995 Name Goto 103 ArrayTypeWithTypeArgumentsName Goto 101 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 581 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 96 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 100 Modifier Goto 987 Modifiers Goto 99 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Type Goto 96 StatementWithoutTrailingSubstatement Goto 996 LabeledStatement Goto 996 IfThenStatement Goto 996 IfThenElseStatement Goto 996 WhileStatement Goto 996 ForStatement Goto 996 EnhancedForStatement Goto 996 EnhancedForStatementHeaderInit Goto 95 EnhancedForStatementHeader Goto 93 Label Goto 90 OpenBlock Goto 88 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OnlyTypeArguments Goto 85 Primary Goto 83 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 994 BooleanLiteral Goto 988 ClassInstanceCreationExpressionName Goto 78 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 Literal Goto 988 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 73 FieldAccess Goto 993 MethodInvocation Goto 72 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 582 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 OnlySynchronized Goto 62 AssertStatement Goto 996 Block Goto 996 EmptyStatement Goto 996 ExpressionStatement Goto 996 SwitchStatement Goto 996 DoStatement Goto 996 BreakStatement Goto 996 ContinueStatement Goto 996 ReturnStatement Goto 996 SynchronizedStatement Goto 996 ThrowStatement Goto 996 TryStatement Goto 996 TryStatementWithResources Goto 996 YieldStatement Goto 996 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiersopt Goto 57 ClassHeaderName Goto 56 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 EnumHeader Goto 47 EnumHeaderName Goto 46 LocalVariableDeclarationStatement Goto 996 Statement Goto 996 ClassDeclaration Goto 996 RecordDeclaration Goto 996 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 BlockStatementsopt Goto 534 RBRACE Reduce 695 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 583 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 295 ---------------------------------------------------------------------- ( 89 ) AssertStatement ::= assert Expression .SEMICOLON AssertStatement ::= assert Expression .COLON Expression SEMICOLON COLON Shift 535 SEMICOLON Sh/Rd 478 STATE 296 ---------------------------------------------------------------------- ( 90 ) LabeledStatement ::= Label COLON .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 584 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 ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN Statement 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:11:53 2021 Page 585 ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 586 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 587 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 94 while Shift 92 if Shift 91 assert Shift 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 588 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 AssertStatement Gt/Rd 422 Block Gt/Rd 422 EmptyStatement Gt/Rd 422 ExpressionStatement Gt/Rd 422 SwitchStatement Gt/Rd 422 DoStatement Gt/Rd 422 BreakStatement Gt/Rd 422 ContinueStatement Gt/Rd 422 ReturnStatement Gt/Rd 422 SynchronizedStatement Gt/Rd 422 ThrowStatement Gt/Rd 422 TryStatement Gt/Rd 422 TryStatementWithResources Gt/Rd 422 YieldStatement Gt/Rd 422 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 589 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 Label Goto 90 EnhancedForStatementHeader Goto 93 EnhancedForStatementHeaderInit Goto 95 StatementWithoutTrailingSubstatement Gt/Rd 422 LabeledStatement Gt/Rd 422 IfThenStatement Gt/Rd 422 IfThenElseStatement Gt/Rd 422 WhileStatement Gt/Rd 422 ForStatement Gt/Rd 422 EnhancedForStatement Gt/Rd 422 Statement Gt/Rd 422 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 297 ---------------------------------------------------------------------- ( 91 ) 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 ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 590 BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 591 IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 592 MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 593 AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 594 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 595 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 536 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 298 ---------------------------------------------------------------------- ( 92 ) WhileStatement ::= while LPAREN .Expression RPAREN Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 596 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 597 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:11:53 2021 Page 598 ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 599 RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 600 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 601 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 537 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 299 ---------------------------------------------------------------------- ( 94 ) 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 ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 602 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifiers Modifier Modifier ::= .Annotation LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression ForInit ::= .StatementExpressionList StatementExpressionList ::= .StatementExpression StatementExpressionList ::= .StatementExpressionList COMMA StatementExpression PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 603 PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 604 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement ForInitopt ::= . (717) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 605 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 strictfp Shift 540 volatile Shift 540 transient Shift 540 synchronized Shift 540 RestrictedIdentifiersealed Shift 540 non-sealed Shift 540 native Shift 540 final Shift 540 abstract Shift 540 static Shift 540 private Shift 540 protected Shift 540 public Shift 540 AT Shift 28 StatementExpressionList Goto 542 LocalVariableDeclaration Goto 538 PrimitiveType Goto 106 ReferenceType Goto 539 ClassOrInterface Goto 36 GenericType Goto 105 Name Goto 541 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 539 Modifier Goto 540 Modifiers Goto 540 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Type Goto 539 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 606 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 116 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 995 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 StatementExpression Goto 1093 ForInit Goto 538 ForInitopt Goto 538 SEMICOLON Reduce 717 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 300 ---------------------------------------------------------------------- ( 95 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 607 EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON . Expression RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 608 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 609 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 610 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 611 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 612 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 543 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 301 ---------------------------------------------------------------------- ( 96 ) LocalVariableDeclaration ::= Type PushModifiers .VariableDeclarators VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 613 ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 545 VariableDeclaratorId Goto 546 VariableDeclarator Goto 544 VariableDeclarators Goto 544 STATE 302 ---------------------------------------------------------------------- ( 98 ) AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader .interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader .interface Identifier interface Shift 547 STATE 303 ---------------------------------------------------------------------- ( 99 ) LocalVariableDeclaration ::= Modifiers Type .PushRealModifiers VariableDeclarators PushRealModifiers ::= . (393) PushRealModifiers Goto 548 Identifier Reduce 393 Default reduction to rule 393 STATE 304 ---------------------------------------------------------------------- ( 99 145 156 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT .PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers AT .PushRealModifiers interface Identifier TypeParameters AnnotationName ::= AT .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName PushRealModifiers ::= . (393) Identifier Shift 212 SimpleName Goto 212 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 614 UnannotatableName Goto 212 PushRealModifiers Goto 549 interface Reduce 393 Default reduction to rule 393 STATE 305 ---------------------------------------------------------------------- ( 103 115 182 267 272 323 501 541 ) MethodInvocation ::= Name LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 615 Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 616 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 617 UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 618 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 619 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 550 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 620 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 306 ---------------------------------------------------------------------- ( 103 115 182 267 272 323 501 541 ) ReferenceExpression ::= Name BeginTypeArguments . ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpressionTypeArgumentsAndTrunk ::= . ReferenceExpressionTypeArgumentsAndTrunk0 ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments Dimsopt ReferenceExpressionTypeArgumentsAndTrunk0 ::= .OnlyTypeArguments DOT ClassOrInterfaceType Dimsopt OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 40 OnlyTypeArguments Goto 41 ReferenceExpressionTypeArgumentsAndTrunk0 Gt/Rd 530 ReferenceExpressionTypeArgumentsAndTrunk Goto 551 STATE 307 ---------------------------------------------------------------------- ( 103 115 182 267 272 323 501 541 ) ReferenceExpression ::= Name Dimsopt .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 552 STATE 308 ---------------------------------------------------------------------- ( 103 267 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 621 PrimaryNoNewArray ::= Name DOT .this QualifiedSuperReceiver ::= Name DOT .super PrimaryNoNewArray ::= Name DOT .class ClassInstanceCreationExpressionName ::= Name DOT .new MethodInvocation ::= Name DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 new Sh/Rd 564 class Sh/Rd 522 this Shift 553 super Shift 555 Identifier Sh/Rd 76 AT308 Shift 33 LESS Shift 40 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 SimpleName Gt/Rd 76 TypeAnnotations Goto 456 OnlyTypeArguments Goto 554 STATE 309 ---------------------------------------------------------------------- ( 103 115 182 267 272 323 501 541 ) OneDimLoop ::= LBRACKET .RBRACKET ArrayAccess ::= Name LBRACKET .Expression RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 622 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 623 ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 624 MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 625 MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression RBRACKET Sh/Rd 586 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 626 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 627 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 556 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 310 ---------------------------------------------------------------------- ( 103 501 541 ) ArrayType ::= Name Dims . (66) PrimaryNoNewArray ::= Name Dims .DOT class Dimsopt ::= Dims . (698) DOT Shift 557 COLON_COLON Reduce 698 Identifier Reduce 66 GREATER Reduce 66 COMMA Reduce 66 Default reduction to rule 66 STATE 311 ---------------------------------------------------------------------- ( 105 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 628 ClassOrInterface ::= GenericType DOT .Name ArrayTypeWithTypeArgumentsName ::= GenericType DOT .Name Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 Name Goto 558 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 558 STATE 312 ---------------------------------------------------------------------- ( 106 112 322 763 ) PrimaryNoNewArray ::= PrimitiveType DOT .class class Sh/Rd 525 STATE 313 ---------------------------------------------------------------------- ( 106 763 ) ArrayType ::= PrimitiveType Dims . (65) PrimaryNoNewArray ::= PrimitiveType Dims .DOT class ReferenceExpression ::= PrimitiveType Dims .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 629 COLON_COLON Shift 559 DOT Shift 560 Identifier Reduce 65 GREATER Reduce 65 COMMA Reduce 65 Default reduction to rule 65 STATE 314 ---------------------------------------------------------------------- ( 109 ) UnaryExpression ::= MINUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 630 Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 631 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 632 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 612 PostfixExpression Goto 447 CastExpression Gt/Rd 612 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 633 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 612 PreDecrementExpression Gt/Rd 612 UnaryExpressionNotPlusMinus Gt/Rd 612 UnaryExpression Gt/Rd 612 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 315 ---------------------------------------------------------------------- ( 110 ) UnaryExpression ::= PLUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 634 Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 635 ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 636 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 637 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 611 PostfixExpression Goto 447 CastExpression Gt/Rd 611 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 611 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 638 PreDecrementExpression Gt/Rd 611 UnaryExpressionNotPlusMinus Gt/Rd 611 UnaryExpression Gt/Rd 611 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 316 ---------------------------------------------------------------------- ( 111 ) SwitchExpression ::= switch LPAREN .Expression RPAREN OpenBlock SwitchBlock Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 639 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 640 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 641 UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 642 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 643 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 561 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 644 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 317 ---------------------------------------------------------------------- ( 112 ) PrimaryNoNewArray ::= PrimitiveType Dims .DOT class ReferenceExpression ::= PrimitiveType Dims .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 559 DOT Shift 560 STATE 318 ---------------------------------------------------------------------- ( 115 182 272 323 501 541 ) QualifiedName ::= Name DOT .SimpleName QualifiedName ::= Name DOT .TypeAnnotations SimpleName PrimaryNoNewArray ::= Name DOT .this QualifiedSuperReceiver ::= Name DOT .super PrimaryNoNewArray ::= Name DOT .class ClassInstanceCreationExpressionName ::= Name DOT .new MethodInvocation ::= Name DOT .OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 new Sh/Rd 564 class Sh/Rd 522 super Sh/Rd 521 this Sh/Rd 520 Identifier Sh/Rd 76 AT308 Shift 33 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 645 LESS Shift 40 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 SimpleName Gt/Rd 76 TypeAnnotations Goto 456 OnlyTypeArguments Goto 562 STATE 319 ---------------------------------------------------------------------- ( 115 182 267 272 ) PrimaryNoNewArray ::= Name Dims .DOT class Dimsopt ::= Dims . (698) DOT Shift 557 COLON_COLON Reduce 698 Default reduction to rule 698 STATE 320 ---------------------------------------------------------------------- ( 116 169 499 ) 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 521 new Shift 522 LESS Shift 40 OnlyTypeArguments Goto 563 STATE 321 ---------------------------------------------------------------------- ( 117 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 646 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 33 Identifier Shift 982 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 231 Name Goto 231 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 CastNameAndBounds Goto 564 STATE 322 ---------------------------------------------------------------------- ( 118 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 647 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 ::= . (697) Dimsopt ::= .Dims DOT Shift 312 LBRACKET Shift 228 AT308 Shift 33 Dims Goto 566 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dimsopt Goto 565 AND Reduce 697 RPAREN Reduce 697 Default reduction to rule 697 STATE 323 ---------------------------------------------------------------------- ( 118 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 648 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 . (603) CastExpression ::= PushLPAREN Name .OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN Name .OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN Name .PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN Name .Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression_NotName ::= Name .MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= Name .DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= Name .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name .PLUS MultiplicativeExpression AdditiveExpression_NotName ::= Name .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name .LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= Name .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name .LESS ShiftExpression RelationalExpression_NotName ::= Name .GREATER ShiftExpression RelationalExpression_NotName ::= Name .LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= Name .GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= Name .InstanceofRHS EqualityExpression_NotName ::= Name .EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= Name .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= Name .AND EqualityExpression ExclusiveOrExpression_NotName ::= Name .XOR AndExpression InclusiveOrExpression_NotName ::= Name .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= Name .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= Name .OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= Name .QUESTION Expression COLON ConditionalExpression TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 649 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern PushRPAREN ::= .RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET OnlyTypeArgumentsForCastExpression ::= .OnlyTypeArguments Dimsopt ::= . (697) Dimsopt ::= .Dims OnlyTypeArguments ::= .LESS TypeArgumentList1 QUESTION Shift 393 OR_OR Shift 394 AND_AND Shift 395 OR Shift 396 XOR Shift 397 AND Shift 398 NOT_EQUAL Shift 399 EQUAL_EQUAL Shift 400 GREATER_EQUAL Shift 401 LESS_EQUAL Shift 402 GREATER Shift 403 UNSIGNED_RIGHT_SHIFT Shift 405 RIGHT_SHIFT Shift 406 LEFT_SHIFT Shift 407 MINUS Shift 408 PLUS Shift 409 REMAINDER Shift 410 DIVIDE Shift 411 MULTIPLY Shift 412 LPAREN Shift 305 BeginTypeArguments Shift 306 DOT Shift 318 RPAREN Sh/Rd 510 LBRACKET Shift 309 AT308 Shift 33 LESS Shift 570 instanceof Shift 334 InstanceofClassic Gt/Rd 852 InstanceofPrimaryTypePattern Gt/Rd 852 InstanceofPrimaryParenPattern Gt/Rd 852 OnlyTypeArguments Gt/Rd 630 Dims Goto 569 OneDimLoop Goto 1023 DimsLoop Goto 229 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 650 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 PushRPAREN Goto 568 Dimsopt Goto 307 OnlyTypeArgumentsForCastExpression Goto 567 InstanceofRHS Gt/Rd 852 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 PLUS_EQUAL Reduce 603 MINUS_EQUAL Reduce 603 MULTIPLY_EQUAL Reduce 603 DIVIDE_EQUAL Reduce 603 AND_EQUAL Reduce 603 OR_EQUAL Reduce 603 XOR_EQUAL Reduce 603 REMAINDER_EQUAL Reduce 603 LEFT_SHIFT_EQUAL Reduce 603 RIGHT_SHIFT_EQUAL Reduce 603 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 603 EQUAL Reduce 603 COLON_COLON Reduce 697 Default reduction to rule 603 STATE 324 ---------------------------------------------------------------------- ( 119 ) UnaryExpressionNotPlusMinus ::= NOT PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 651 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 652 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 653 MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 654 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 618 PostfixExpression Goto 447 CastExpression Gt/Rd 618 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 618 PreDecrementExpression Gt/Rd 618 UnaryExpressionNotPlusMinus Gt/Rd 618 UnaryExpression Gt/Rd 618 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 655 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 325 ---------------------------------------------------------------------- ( 120 ) UnaryExpressionNotPlusMinus ::= TWIDDLE PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 656 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 657 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:11:53 2021 Page 658 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 617 PostfixExpression Goto 447 CastExpression Gt/Rd 617 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 659 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 617 PreDecrementExpression Gt/Rd 617 UnaryExpressionNotPlusMinus Gt/Rd 617 UnaryExpression Gt/Rd 617 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 326 ---------------------------------------------------------------------- ( 121 574 575 612 613 642 643 ) MultiplicativeExpression ::= MultiplicativeExpression REMAINDER . UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 660 Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 661 ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 662 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 663 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 638 PostfixExpression Goto 447 CastExpression Gt/Rd 638 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 638 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 664 PreDecrementExpression Gt/Rd 638 UnaryExpressionNotPlusMinus Gt/Rd 638 UnaryExpression Gt/Rd 638 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 327 ---------------------------------------------------------------------- ( 121 574 575 612 613 642 643 ) MultiplicativeExpression ::= MultiplicativeExpression DIVIDE .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 665 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:11:53 2021 Page 666 ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 667 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 637 PostfixExpression Goto 447 CastExpression Gt/Rd 637 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 668 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 637 PreDecrementExpression Gt/Rd 637 UnaryExpressionNotPlusMinus Gt/Rd 637 UnaryExpression Gt/Rd 637 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 328 ---------------------------------------------------------------------- ( 121 574 575 612 613 642 643 ) MultiplicativeExpression ::= MultiplicativeExpression MULTIPLY . UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 669 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 670 PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 671 DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 109 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 672 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 636 PostfixExpression Goto 447 CastExpression Gt/Rd 636 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 673 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 636 PreDecrementExpression Gt/Rd 636 UnaryExpressionNotPlusMinus Gt/Rd 636 UnaryExpression Gt/Rd 636 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 329 ---------------------------------------------------------------------- ( 122 577 578 579 580 614 615 616 617 635 636 637 638 ) ShiftExpression ::= ShiftExpression UNSIGNED_RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 674 TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 675 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 676 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 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1094 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 677 true Shift 1094 null Shift 1094 TextBlock Shift 1094 StringLiteral Shift 1094 CharacterLiteral Shift 1094 DoubleLiteral Shift 1094 FloatingPointLiteral Shift 1094 LongLiteral Shift 1094 IntegerLiteral Shift 1094 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 UnaryExpression Goto 1095 MultiplicativeExpression Goto 121 SwitchExpression Goto 1095 PostfixExpression Goto 447 CastExpression Goto 1095 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1104 BooleanLiteral Goto 1094 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1094 ClassInstanceCreationExpression Goto 1103 FieldAccess Goto 1102 MethodInvocation Goto 1101 ArrayAccess Goto 1100 LambdaExpression Goto 1099 ReferenceExpression Goto 1098 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 678 PreIncrementExpression Goto 1095 PreDecrementExpression Goto 1095 UnaryExpressionNotPlusMinus Goto 1095 AdditiveExpression Goto 571 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 330 ---------------------------------------------------------------------- ( 122 577 578 579 580 614 615 616 617 635 636 637 638 ) ShiftExpression ::= ShiftExpression RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 679 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:11:53 2021 Page 680 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 681 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1094 true Shift 1094 null Shift 1094 TextBlock Shift 1094 StringLiteral Shift 1094 CharacterLiteral Shift 1094 DoubleLiteral Shift 1094 FloatingPointLiteral Shift 1094 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 682 LongLiteral Shift 1094 IntegerLiteral Shift 1094 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 UnaryExpression Goto 1095 MultiplicativeExpression Goto 121 SwitchExpression Goto 1095 PostfixExpression Goto 447 CastExpression Goto 1095 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1104 BooleanLiteral Goto 1094 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1094 ClassInstanceCreationExpression Goto 1103 FieldAccess Goto 1102 MethodInvocation Goto 1101 ArrayAccess Goto 1100 LambdaExpression Goto 1099 ReferenceExpression Goto 1098 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PreIncrementExpression Goto 1095 PreDecrementExpression Goto 1095 UnaryExpressionNotPlusMinus Goto 1095 AdditiveExpression Goto 572 boolean Reduce 78 byte Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 683 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 331 ---------------------------------------------------------------------- ( 122 577 578 579 580 614 615 616 617 635 636 637 638 ) ShiftExpression ::= ShiftExpression LEFT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 684 PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 685 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:11:53 2021 Page 686 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1094 true Shift 1094 null Shift 1094 TextBlock Shift 1094 StringLiteral Shift 1094 CharacterLiteral Shift 1094 DoubleLiteral Shift 1094 FloatingPointLiteral Shift 1094 LongLiteral Shift 1094 IntegerLiteral Shift 1094 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 687 PLUS_PLUS Shift 69 UnaryExpression Goto 1095 MultiplicativeExpression Goto 121 SwitchExpression Goto 1095 PostfixExpression Goto 447 CastExpression Goto 1095 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1104 BooleanLiteral Goto 1094 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1094 ClassInstanceCreationExpression Goto 1103 FieldAccess Goto 1102 MethodInvocation Goto 1101 ArrayAccess Goto 1100 LambdaExpression Goto 1099 ReferenceExpression Goto 1098 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PreIncrementExpression Goto 1095 PreDecrementExpression Goto 1095 UnaryExpressionNotPlusMinus Goto 1095 AdditiveExpression Goto 573 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 688 Default reduction to rule 78 STATE 332 ---------------------------------------------------------------------- ( 123 571 572 573 618 619 620 639 640 641 ) AdditiveExpression ::= AdditiveExpression MINUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 689 PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 690 ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 691 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1105 true Shift 1105 null Shift 1105 TextBlock Shift 1105 StringLiteral Shift 1105 CharacterLiteral Shift 1105 DoubleLiteral Shift 1105 FloatingPointLiteral Shift 1105 LongLiteral Shift 1105 IntegerLiteral Shift 1105 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 PreIncrementExpression Goto 574 PreDecrementExpression Goto 574 UnaryExpressionNotPlusMinus Goto 574 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1114 PostDecrementExpression Goto 1113 PostfixExpression Goto 447 Literal Goto 1105 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1112 FieldAccess Goto 1111 PrimitiveType Goto 112 MethodInvocation Goto 1110 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 692 ArrayAccess Goto 1109 LambdaExpression Goto 1108 ReferenceExpression Goto 1107 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1105 ArrayCreationWithoutArrayInitializer Goto 1106 SwitchExpression Goto 574 CastExpression Goto 574 UnaryExpression Goto 574 MultiplicativeExpression Goto 574 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 333 ---------------------------------------------------------------------- ( 123 571 572 573 618 619 620 639 640 641 ) AdditiveExpression ::= AdditiveExpression PLUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 693 Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 694 ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 695 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 696 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1105 true Shift 1105 null Shift 1105 TextBlock Shift 1105 StringLiteral Shift 1105 CharacterLiteral Shift 1105 DoubleLiteral Shift 1105 FloatingPointLiteral Shift 1105 LongLiteral Shift 1105 IntegerLiteral Shift 1105 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 PreIncrementExpression Goto 575 PreDecrementExpression Goto 575 UnaryExpressionNotPlusMinus Goto 575 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1114 PostDecrementExpression Goto 1113 PostfixExpression Goto 447 Literal Goto 1105 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1112 FieldAccess Goto 1111 PrimitiveType Goto 112 MethodInvocation Goto 1110 ArrayAccess Goto 1109 LambdaExpression Goto 1108 ReferenceExpression Goto 1107 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 697 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1105 ArrayCreationWithoutArrayInitializer Goto 1106 SwitchExpression Goto 575 CastExpression Goto 575 UnaryExpression Goto 575 MultiplicativeExpression Goto 575 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 334 ---------------------------------------------------------------------- ( 124 177 182 272 323 582 583 621 622 633 634 ) InstanceofClassic ::= instanceof .Modifiersopt Type InstanceofPrimaryTypePattern ::= instanceof .Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= instanceof .ParenthesizedPattern Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ParenthesizedPattern ::= .PushLPAREN Pattern PushRPAREN PushLPAREN ::= .LPAREN Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 698 AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT Shift 28 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 LPAREN Sh/Rd 509 PushLPAREN Goto 31 Modifier Goto 978 Modifiers Goto 30 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifiersopt Goto 576 ParenthesizedPattern Gt/Rd 359 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 335 ---------------------------------------------------------------------- ( 125 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 699 RelationalExpression ::= RelationalExpression GREATER_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 700 PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 701 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 702 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 703 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 577 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 336 ---------------------------------------------------------------------- ( 125 ) RelationalExpression ::= RelationalExpression LESS_EQUAL .ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 704 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 705 PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 706 DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 707 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 708 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 578 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 337 ---------------------------------------------------------------------- ( 125 ) RelationalExpression ::= RelationalExpression GREATER .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 709 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 710 PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 711 FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 712 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 713 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 579 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 338 ---------------------------------------------------------------------- ( 125 ) RelationalExpression ::= RelationalExpression LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 714 Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 715 ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 716 MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 717 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 718 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 580 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 339 ---------------------------------------------------------------------- ( 126 585 623 631 ) AndExpression ::= AndExpression AND .EqualityExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 719 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 720 ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 721 MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 722 MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1126 true Shift 1126 null Shift 1126 TextBlock Shift 1126 StringLiteral Shift 1126 CharacterLiteral Shift 1126 DoubleLiteral Shift 1126 FloatingPointLiteral Shift 1126 LongLiteral Shift 1126 IntegerLiteral Shift 1126 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1127 MultiplicativeExpression Goto 121 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 723 SwitchExpression Goto 1127 PostfixExpression Goto 447 CastExpression Goto 1127 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1136 BooleanLiteral Goto 1126 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1126 ClassInstanceCreationExpression Goto 1135 FieldAccess Goto 1134 MethodInvocation Goto 1133 ArrayAccess Goto 1132 LambdaExpression Goto 1131 ReferenceExpression Goto 1130 PostIncrementExpression Goto 1129 PostDecrementExpression Goto 1128 PreIncrementExpression Goto 1127 PreDecrementExpression Goto 1127 UnaryExpressionNotPlusMinus Goto 1127 EqualityExpression Goto 581 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 340 ---------------------------------------------------------------------- ( 127 581 624 632 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 724 EqualityExpression ::= EqualityExpression NOT_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 725 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 726 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 727 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1137 true Shift 1137 null Shift 1137 TextBlock Shift 1137 StringLiteral Shift 1137 CharacterLiteral Shift 1137 DoubleLiteral Shift 1137 FloatingPointLiteral Shift 1137 LongLiteral Shift 1137 IntegerLiteral Shift 1137 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ShiftExpression Goto 122 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 728 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1138 PreDecrementExpression Goto 1138 UnaryExpressionNotPlusMinus Goto 1138 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1147 PostDecrementExpression Goto 1146 PostfixExpression Goto 447 Literal Goto 1137 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1145 FieldAccess Goto 1144 PrimitiveType Goto 112 MethodInvocation Goto 1143 ArrayAccess Goto 1142 LambdaExpression Goto 1141 ReferenceExpression Goto 1140 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1137 ArrayCreationWithoutArrayInitializer Goto 1139 SwitchExpression Goto 1138 CastExpression Goto 1138 UnaryExpression Goto 1138 InstanceofExpression Goto 582 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 729 Default reduction to rule 78 STATE 341 ---------------------------------------------------------------------- ( 127 581 624 632 ) EqualityExpression ::= EqualityExpression EQUAL_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 730 PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 731 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:11:53 2021 Page 732 AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1137 true Shift 1137 null Shift 1137 TextBlock Shift 1137 StringLiteral Shift 1137 CharacterLiteral Shift 1137 DoubleLiteral Shift 1137 FloatingPointLiteral Shift 1137 LongLiteral Shift 1137 IntegerLiteral Shift 1137 new Shift 79 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 733 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1138 PreDecrementExpression Goto 1138 UnaryExpressionNotPlusMinus Goto 1138 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1147 PostDecrementExpression Goto 1146 PostfixExpression Goto 447 Literal Goto 1137 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1145 FieldAccess Goto 1144 PrimitiveType Goto 112 MethodInvocation Goto 1143 ArrayAccess Goto 1142 LambdaExpression Goto 1141 ReferenceExpression Goto 1140 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1137 ArrayCreationWithoutArrayInitializer Goto 1139 SwitchExpression Goto 1138 CastExpression Goto 1138 UnaryExpression Goto 1138 InstanceofExpression Goto 583 boolean Reduce 78 byte Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 734 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 342 ---------------------------------------------------------------------- ( 128 588 625 629 ) InclusiveOrExpression ::= InclusiveOrExpression OR .ExclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 735 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:11:53 2021 Page 736 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:11:53 2021 Page 737 UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 738 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1148 true Shift 1148 null Shift 1148 TextBlock Shift 1148 StringLiteral Shift 1148 CharacterLiteral Shift 1148 DoubleLiteral Shift 1148 FloatingPointLiteral Shift 1148 LongLiteral Shift 1148 IntegerLiteral Shift 1148 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1149 MultiplicativeExpression Goto 121 SwitchExpression Goto 1149 PostfixExpression Goto 447 CastExpression Goto 1149 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1158 BooleanLiteral Goto 1148 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 739 PrimitiveType Goto 112 Literal Goto 1148 ClassInstanceCreationExpression Goto 1157 FieldAccess Goto 1156 MethodInvocation Goto 1155 ArrayAccess Goto 1154 LambdaExpression Goto 1153 ReferenceExpression Goto 1152 PostIncrementExpression Goto 1151 PostDecrementExpression Goto 1150 PreIncrementExpression Goto 1149 PreDecrementExpression Goto 1149 UnaryExpressionNotPlusMinus Goto 1149 ExclusiveOrExpression Goto 584 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 343 ---------------------------------------------------------------------- ( 129 584 626 630 ) ExclusiveOrExpression ::= ExclusiveOrExpression XOR .AndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 740 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 741 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 742 MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 743 RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1159 true Shift 1159 null Shift 1159 TextBlock Shift 1159 StringLiteral Shift 1159 CharacterLiteral Shift 1159 DoubleLiteral Shift 1159 FloatingPointLiteral Shift 1159 LongLiteral Shift 1159 IntegerLiteral Shift 1159 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1160 PreDecrementExpression Goto 1160 UnaryExpressionNotPlusMinus Goto 1160 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1169 PostDecrementExpression Goto 1168 PostfixExpression Goto 447 Literal Goto 1159 PushLPAREN Goto 118 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 744 ClassInstanceCreationExpression Goto 1167 FieldAccess Goto 1166 PrimitiveType Goto 112 MethodInvocation Goto 1165 ArrayAccess Goto 1164 LambdaExpression Goto 1163 ReferenceExpression Goto 1162 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1159 ArrayCreationWithoutArrayInitializer Goto 1161 SwitchExpression Goto 1160 CastExpression Goto 1160 UnaryExpression Goto 1160 AndExpression Goto 585 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 344 ---------------------------------------------------------------------- ( 130 ) ConditionalExpression ::= ConditionalOrExpression QUESTION .Expression COLON ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 745 Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 746 PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 747 FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 748 InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 749 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 750 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 586 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 345 ---------------------------------------------------------------------- ( 130 ) ConditionalOrExpression ::= ConditionalOrExpression OR_OR . ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 751 BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 752 ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 753 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 754 AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1041 true Shift 1041 null Shift 1041 TextBlock Shift 1041 StringLiteral Shift 1041 CharacterLiteral Shift 1041 DoubleLiteral Shift 1041 FloatingPointLiteral Shift 1041 LongLiteral Shift 1041 IntegerLiteral Shift 1041 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ExclusiveOrExpression Goto 129 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 755 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1042 MultiplicativeExpression Goto 121 SwitchExpression Goto 1042 PostfixExpression Goto 447 CastExpression Goto 1042 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1051 BooleanLiteral Goto 1041 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1041 ClassInstanceCreationExpression Goto 1050 FieldAccess Goto 1049 MethodInvocation Goto 1048 ArrayAccess Goto 1047 LambdaExpression Goto 1046 ReferenceExpression Goto 1045 PostIncrementExpression Goto 1044 PostDecrementExpression Goto 1043 PreIncrementExpression Goto 1042 PreDecrementExpression Goto 1042 UnaryExpressionNotPlusMinus Goto 1042 ConditionalAndExpression Goto 587 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 756 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 346 ---------------------------------------------------------------------- ( 131 446 587 628 645 ) ConditionalAndExpression ::= ConditionalAndExpression AND_AND . InclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 757 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:11:53 2021 Page 758 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:11:53 2021 Page 759 UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 760 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1170 true Shift 1170 null Shift 1170 TextBlock Shift 1170 StringLiteral Shift 1170 CharacterLiteral Shift 1170 DoubleLiteral Shift 1170 FloatingPointLiteral Shift 1170 LongLiteral Shift 1170 IntegerLiteral Shift 1170 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1171 PreDecrementExpression Goto 1171 UnaryExpressionNotPlusMinus Goto 1171 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1180 PostDecrementExpression Goto 1179 PostfixExpression Goto 447 Literal Goto 1170 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1178 FieldAccess Goto 1177 PrimitiveType Goto 112 MethodInvocation Goto 1176 ArrayAccess Goto 1175 LambdaExpression Goto 1174 ReferenceExpression Goto 1173 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 761 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1170 ArrayCreationWithoutArrayInitializer Goto 1172 SwitchExpression Goto 1171 CastExpression Goto 1171 UnaryExpression Goto 1171 InclusiveOrExpression Goto 588 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 347 ---------------------------------------------------------------------- ( 133 ) ArrayInitializer ::= LBRACE PushLeftBrace .,opt RBRACE ArrayInitializer ::= LBRACE PushLeftBrace .VariableInitializers RBRACE ArrayInitializer ::= LBRACE PushLeftBrace .VariableInitializers COMMA RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 762 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN VariableInitializer ::= .Expression VariableInitializer ::= .ArrayInitializer InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE VariableInitializers ::= .VariableInitializer VariableInitializers ::= .VariableInitializers COMMA VariableInitializer 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:11:53 2021 Page 763 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 764 MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 765 MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ,opt ::= . (689) COMMA Shift 589 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 766 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 LBRACE Shift 133 Expression Goto 1181 ArrayInitializer Goto 1181 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 767 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 VariableInitializer Gt/Rd 372 VariableInitializers Goto 590 ,opt Goto 589 RBRACE Reduce 689 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 348 ---------------------------------------------------------------------- ( 135 ) ClassBodyDeclaration ::= Diet NestedMethod .CreateInitializer Block CreateInitializer ::= . (229) CreateInitializer Goto 591 LBRACE Reduce 229 Default reduction to rule 229 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 768 STATE 349 ---------------------------------------------------------------------- ( 136 ) ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderThrowsClauseopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 264 MethodHeaderRightParen Goto 592 STATE 350 ---------------------------------------------------------------------- ( 136 142 143 157 189 464 ) 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 769 TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 466 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 466 Type Goto 466 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 351 ---------------------------------------------------------------------- ( 141 ) DefaultMethodHeaderName ::= ModifiersWithDefault Type .Identifier LPAREN Identifier Shift 593 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 770 STATE 352 ---------------------------------------------------------------------- ( 141 ) DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 771 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 594 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 594 Type Goto 594 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 353 ---------------------------------------------------------------------- ( 142 ) DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 264 MethodHeaderRightParen Goto 595 STATE 354 ---------------------------------------------------------------------- ( 143 ) MethodHeader ::= MethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderRightParen ::= .RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 772 RPAREN Sh/Rd 264 MethodHeaderRightParen Goto 596 STATE 355 ---------------------------------------------------------------------- ( 147 150 151 192 204 ) ModifiersWithDefault ::= Modifiersopt default .Modifiersopt Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 773 AT Shift 28 Modifier Goto 978 Modifiers Goto 30 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifiersopt Gt/Rd 263 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 356 ---------------------------------------------------------------------- ( 147 ) MethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN ConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier LPAREN CompactConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 774 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 598 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 597 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 597 Type Goto 597 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 775 Default reduction to rule 78 STATE 357 ---------------------------------------------------------------------- ( 147 150 ) 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 600 VariableDeclaratorId Goto 546 VariableDeclarator Goto 599 VariableDeclarators Goto 599 STATE 358 ---------------------------------------------------------------------- ( 147 ) SimpleName ::= Identifier . (73) ConstructorHeaderName ::= Modifiersopt Identifier .LPAREN CompactConstructorHeaderName ::= Modifiersopt Identifier . (350) LPAREN Sh/Rd 269 throws Reduce 350 LBRACE Reduce 350 Identifier Reduce 70 LESS Reduce 70 LBRACKET Reduce 70 DOT Reduce 70 AT308 Reduce 70 Default reduction to rule 73 STATE 359 ---------------------------------------------------------------------- ( 148 592 768 769 784 ) MethodHeaderThrowsClause ::= throws .ClassTypeList ClassOrInterfaceType ::= .ClassOrInterface IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 776 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 33 Identifier Shift 982 ClassType Gt/Rd 281 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 985 ClassTypeElt Goto 601 ClassTypeList Goto 601 STATE 360 ---------------------------------------------------------------------- ( 150 151 ) MethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 777 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 602 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 597 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 778 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 597 Type Goto 597 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 361 ---------------------------------------------------------------------- ( 150 151 155 204 ) SimpleName ::= Identifier . (73) ConstructorHeaderName ::= Modifiersopt Identifier .LPAREN LPAREN Sh/Rd 269 Identifier Reduce 70 LESS Reduce 70 LBRACKET Reduce 70 DOT Reduce 70 AT308 Reduce 70 Default reduction to rule 73 STATE 362 ---------------------------------------------------------------------- ( 151 ) MethodHeaderName ::= Modifiersopt Type .Identifier LPAREN Identifier Shift 603 STATE 363 ---------------------------------------------------------------------- ( 153 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 779 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 33 Identifier Shift 982 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 Name Goto 604 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 604 STATE 364 ---------------------------------------------------------------------- ( 155 ) ConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier LPAREN AnnotationMethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 780 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 602 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 605 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 605 Type Goto 605 boolean Reduce 78 byte Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 781 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 365 ---------------------------------------------------------------------- ( 155 ) FieldDeclaration ::= Modifiersopt Type .VariableDeclarators SEMICOLON AnnotationMethodHeaderName ::= Modifiersopt Type .Identifier LPAREN VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 606 VariableDeclaratorId Goto 546 VariableDeclarator Goto 599 VariableDeclarators Goto 599 STATE 366 ---------------------------------------------------------------------- ( 156 ) PackageDeclarationName ::= Modifiers package .PushRealModifiers Name RejectTypeAnnotations PushRealModifiers ::= . (393) PushRealModifiers Goto 607 Identifier Reduce 393 AT308 Reduce 393 Default reduction to rule 393 STATE 367 ---------------------------------------------------------------------- ( 157 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 782 AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 264 MethodHeaderRightParen Goto 608 STATE 368 ---------------------------------------------------------------------- ( 161 ) SingleStaticImportDeclarationName ::= import static .Name RejectTypeAnnotations StaticImportOnDemandDeclarationName ::= import static .Name DOT RejectTypeAnnotations MULTIPLY Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName 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 33 Identifier Shift 982 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 Name Goto 609 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 609 STATE 369 ---------------------------------------------------------------------- ( 161 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 783 QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName SingleTypeImportDeclarationName ::= import Name .RejectTypeAnnotations TypeImportOnDemandDeclarationName ::= import Name .DOT RejectTypeAnnotations MULTIPLY RejectTypeAnnotations ::= . (90) DOT Shift 610 RejectTypeAnnotations Gt/Rd 185 SEMICOLON Reduce 90 Default reduction to rule 90 STATE 370 ---------------------------------------------------------------------- ( 163 ) 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 ::= . (368) PushLeftBrace Goto 611 Identifier Reduce 368 boolean Reduce 368 byte Reduce 368 char Reduce 368 double Reduce 368 false Reduce 368 float Reduce 368 int Reduce 368 long Reduce 368 new Reduce 368 null Reduce 368 short Reduce 368 super Reduce 368 switch Reduce 368 this Reduce 368 true Reduce 368 void Reduce 368 IntegerLiteral Reduce 368 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 784 LongLiteral Reduce 368 FloatingPointLiteral Reduce 368 DoubleLiteral Reduce 368 CharacterLiteral Reduce 368 StringLiteral Reduce 368 TextBlock Reduce 368 PLUS_PLUS Reduce 368 MINUS_MINUS Reduce 368 PLUS Reduce 368 MINUS Reduce 368 NOT Reduce 368 TWIDDLE Reduce 368 LPAREN Reduce 368 LBRACE Reduce 368 RBRACE Reduce 368 COMMA Reduce 368 AT Reduce 368 BeginLambda Reduce 368 BeginIntersectionCast Reduce 368 AT308 Reduce 368 Default reduction to rule 368 STATE 371 ---------------------------------------------------------------------- ( 164 ) UnaryExpressionNotPlusMinus_NotName ::= NOT PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 785 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 786 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 787 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 788 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 821 PostfixExpression Goto 447 CastExpression Gt/Rd 821 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 821 PreDecrementExpression Gt/Rd 821 UnaryExpressionNotPlusMinus Gt/Rd 821 UnaryExpression Gt/Rd 821 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 789 STATE 372 ---------------------------------------------------------------------- ( 165 ) UnaryExpressionNotPlusMinus_NotName ::= TWIDDLE PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 790 PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 791 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 792 PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 820 PostfixExpression Goto 447 CastExpression Gt/Rd 820 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 793 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 820 PreDecrementExpression Gt/Rd 820 UnaryExpressionNotPlusMinus Gt/Rd 820 UnaryExpression Gt/Rd 820 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 373 ---------------------------------------------------------------------- ( 170 ) UnaryExpression_NotName ::= MINUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 794 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 795 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 796 MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 797 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 817 PostfixExpression Goto 447 CastExpression Gt/Rd 817 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 817 PreDecrementExpression Gt/Rd 817 UnaryExpressionNotPlusMinus Gt/Rd 817 UnaryExpression Gt/Rd 817 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 798 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 374 ---------------------------------------------------------------------- ( 171 ) UnaryExpression_NotName ::= PLUS PushPosition .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 799 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 800 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:11:53 2021 Page 801 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 816 PostfixExpression Goto 447 CastExpression Gt/Rd 816 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 802 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 816 PreDecrementExpression Gt/Rd 816 UnaryExpressionNotPlusMinus Gt/Rd 816 UnaryExpression Gt/Rd 816 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 375 ---------------------------------------------------------------------- ( 172 ) AdditiveExpression_NotName ::= AdditiveExpression_NotName MINUS . MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 803 Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 804 ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 805 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 806 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1105 true Shift 1105 null Shift 1105 TextBlock Shift 1105 StringLiteral Shift 1105 CharacterLiteral Shift 1105 DoubleLiteral Shift 1105 FloatingPointLiteral Shift 1105 LongLiteral Shift 1105 IntegerLiteral Shift 1105 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 PreIncrementExpression Goto 612 PreDecrementExpression Goto 612 UnaryExpressionNotPlusMinus Goto 612 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1114 PostDecrementExpression Goto 1113 PostfixExpression Goto 447 Literal Goto 1105 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1112 FieldAccess Goto 1111 PrimitiveType Goto 112 MethodInvocation Goto 1110 ArrayAccess Goto 1109 LambdaExpression Goto 1108 ReferenceExpression Goto 1107 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 807 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1105 ArrayCreationWithoutArrayInitializer Goto 1106 SwitchExpression Goto 612 CastExpression Goto 612 UnaryExpression Goto 612 MultiplicativeExpression Goto 612 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 376 ---------------------------------------------------------------------- ( 172 ) AdditiveExpression_NotName ::= AdditiveExpression_NotName PLUS . MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 808 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 809 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 810 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1105 true Shift 1105 null Shift 1105 TextBlock Shift 1105 StringLiteral Shift 1105 CharacterLiteral Shift 1105 DoubleLiteral Shift 1105 FloatingPointLiteral Shift 1105 LongLiteral Shift 1105 IntegerLiteral Shift 1105 new Shift 79 BeginIntersectionCast Shift 117 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 811 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 PreIncrementExpression Goto 613 PreDecrementExpression Goto 613 UnaryExpressionNotPlusMinus Goto 613 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1114 PostDecrementExpression Goto 1113 PostfixExpression Goto 447 Literal Goto 1105 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1112 FieldAccess Goto 1111 PrimitiveType Goto 112 MethodInvocation Goto 1110 ArrayAccess Goto 1109 LambdaExpression Goto 1108 ReferenceExpression Goto 1107 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1105 ArrayCreationWithoutArrayInitializer Goto 1106 SwitchExpression Goto 613 CastExpression Goto 613 UnaryExpression Goto 613 MultiplicativeExpression Goto 613 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 812 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 377 ---------------------------------------------------------------------- ( 173 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName REMAINDER .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 813 PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 814 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 815 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 828 PostfixExpression Goto 447 CastExpression Gt/Rd 828 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 816 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 828 PreDecrementExpression Gt/Rd 828 UnaryExpressionNotPlusMinus Gt/Rd 828 UnaryExpression Gt/Rd 828 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 378 ---------------------------------------------------------------------- ( 173 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName DIVIDE . UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 817 BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 818 NonWildTypeArgumentsopt 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:11:53 2021 Page 819 MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 820 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 826 PostfixExpression Goto 447 CastExpression Gt/Rd 826 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 826 PreDecrementExpression Gt/Rd 826 UnaryExpressionNotPlusMinus Gt/Rd 826 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 821 UnaryExpression Gt/Rd 826 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 379 ---------------------------------------------------------------------- ( 173 ) MultiplicativeExpression_NotName ::= MultiplicativeExpression_NotName MULTIPLY .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 822 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:11:53 2021 Page 823 EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 824 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 824 PostfixExpression Goto 447 CastExpression Gt/Rd 824 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 825 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 824 PreDecrementExpression Gt/Rd 824 UnaryExpressionNotPlusMinus Gt/Rd 824 UnaryExpression Gt/Rd 824 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 380 ---------------------------------------------------------------------- ( 174 ) RelationalExpression_NotName ::= RelationalExpression_NotName GREATER_EQUAL . ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 826 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 827 PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 828 DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 829 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 830 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 614 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 381 ---------------------------------------------------------------------- ( 174 ) RelationalExpression_NotName ::= RelationalExpression_NotName LESS_EQUAL . ShiftExpression Literal ::= .IntegerLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 831 Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 832 PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 833 FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 834 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 835 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 615 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 382 ---------------------------------------------------------------------- ( 175 ) RelationalExpression_NotName ::= ShiftExpression_NotName GREATER . ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 836 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 837 PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 838 FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 839 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 840 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 616 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 383 ---------------------------------------------------------------------- ( 175 ) RelationalExpression_NotName ::= ShiftExpression_NotName LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 841 Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 842 ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 843 MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 844 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 845 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 617 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 384 ---------------------------------------------------------------------- ( 175 ) ShiftExpression_NotName ::= ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT . AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 846 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 847 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 848 MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 849 MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1094 true Shift 1094 null Shift 1094 TextBlock Shift 1094 StringLiteral Shift 1094 CharacterLiteral Shift 1094 DoubleLiteral Shift 1094 FloatingPointLiteral Shift 1094 LongLiteral Shift 1094 IntegerLiteral Shift 1094 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 UnaryExpression Goto 1095 MultiplicativeExpression Goto 121 SwitchExpression Goto 1095 PostfixExpression Goto 447 CastExpression Goto 1095 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1104 BooleanLiteral Goto 1094 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 850 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1094 ClassInstanceCreationExpression Goto 1103 FieldAccess Goto 1102 MethodInvocation Goto 1101 ArrayAccess Goto 1100 LambdaExpression Goto 1099 ReferenceExpression Goto 1098 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PreIncrementExpression Goto 1095 PreDecrementExpression Goto 1095 UnaryExpressionNotPlusMinus Goto 1095 AdditiveExpression Goto 618 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 385 ---------------------------------------------------------------------- ( 175 ) ShiftExpression_NotName ::= ShiftExpression_NotName RIGHT_SHIFT . AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 851 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 852 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:11:53 2021 Page 853 ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 854 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1094 true Shift 1094 null Shift 1094 TextBlock Shift 1094 StringLiteral Shift 1094 CharacterLiteral Shift 1094 DoubleLiteral Shift 1094 FloatingPointLiteral Shift 1094 LongLiteral Shift 1094 IntegerLiteral Shift 1094 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 UnaryExpression Goto 1095 MultiplicativeExpression Goto 121 SwitchExpression Goto 1095 PostfixExpression Goto 447 CastExpression Goto 1095 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1104 BooleanLiteral Goto 1094 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 855 PrimitiveType Goto 112 Literal Goto 1094 ClassInstanceCreationExpression Goto 1103 FieldAccess Goto 1102 MethodInvocation Goto 1101 ArrayAccess Goto 1100 LambdaExpression Goto 1099 ReferenceExpression Goto 1098 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PreIncrementExpression Goto 1095 PreDecrementExpression Goto 1095 UnaryExpressionNotPlusMinus Goto 1095 AdditiveExpression Goto 619 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 386 ---------------------------------------------------------------------- ( 175 ) ShiftExpression_NotName ::= ShiftExpression_NotName LEFT_SHIFT . AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 856 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 857 LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 858 ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 859 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1094 true Shift 1094 null Shift 1094 TextBlock Shift 1094 StringLiteral Shift 1094 CharacterLiteral Shift 1094 DoubleLiteral Shift 1094 FloatingPointLiteral Shift 1094 LongLiteral Shift 1094 IntegerLiteral Shift 1094 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 UnaryExpression Goto 1095 MultiplicativeExpression Goto 121 SwitchExpression Goto 1095 PostfixExpression Goto 447 CastExpression Goto 1095 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1104 BooleanLiteral Goto 1094 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1094 ClassInstanceCreationExpression Goto 1103 FieldAccess Goto 1102 MethodInvocation Goto 1101 ArrayAccess Goto 1100 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 860 LambdaExpression Goto 1099 ReferenceExpression Goto 1098 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PreIncrementExpression Goto 1095 PreDecrementExpression Goto 1095 UnaryExpressionNotPlusMinus Goto 1095 AdditiveExpression Goto 620 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 387 ---------------------------------------------------------------------- ( 176 ) EqualityExpression_NotName ::= EqualityExpression_NotName NOT_EQUAL . InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 861 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 862 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 863 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 MINUS Shift 109 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 864 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1137 true Shift 1137 null Shift 1137 TextBlock Shift 1137 StringLiteral Shift 1137 CharacterLiteral Shift 1137 DoubleLiteral Shift 1137 FloatingPointLiteral Shift 1137 LongLiteral Shift 1137 IntegerLiteral Shift 1137 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1138 PreDecrementExpression Goto 1138 UnaryExpressionNotPlusMinus Goto 1138 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1147 PostDecrementExpression Goto 1146 PostfixExpression Goto 447 Literal Goto 1137 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1145 FieldAccess Goto 1144 PrimitiveType Goto 112 MethodInvocation Goto 1143 ArrayAccess Goto 1142 LambdaExpression Goto 1141 ReferenceExpression Goto 1140 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 865 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1137 ArrayCreationWithoutArrayInitializer Goto 1139 SwitchExpression Goto 1138 CastExpression Goto 1138 UnaryExpression Goto 1138 InstanceofExpression Goto 621 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 388 ---------------------------------------------------------------------- ( 176 ) EqualityExpression_NotName ::= EqualityExpression_NotName EQUAL_EQUAL . InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 866 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 867 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:11:53 2021 Page 868 LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 869 ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1137 true Shift 1137 null Shift 1137 TextBlock Shift 1137 StringLiteral Shift 1137 CharacterLiteral Shift 1137 DoubleLiteral Shift 1137 FloatingPointLiteral Shift 1137 LongLiteral Shift 1137 IntegerLiteral Shift 1137 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1138 PreDecrementExpression Goto 1138 UnaryExpressionNotPlusMinus Goto 1138 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1147 PostDecrementExpression Goto 1146 PostfixExpression Goto 447 Literal Goto 1137 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1145 FieldAccess Goto 1144 PrimitiveType Goto 112 MethodInvocation Goto 1143 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 870 ArrayAccess Goto 1142 LambdaExpression Goto 1141 ReferenceExpression Goto 1140 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1137 ArrayCreationWithoutArrayInitializer Goto 1139 SwitchExpression Goto 1138 CastExpression Goto 1138 UnaryExpression Goto 1138 InstanceofExpression Goto 622 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 389 ---------------------------------------------------------------------- ( 178 ) ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName XOR . AndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 871 Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 872 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 873 MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 874 MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1159 true Shift 1159 null Shift 1159 TextBlock Shift 1159 StringLiteral Shift 1159 CharacterLiteral Shift 1159 DoubleLiteral Shift 1159 FloatingPointLiteral Shift 1159 LongLiteral Shift 1159 IntegerLiteral Shift 1159 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 875 AdditiveExpression Goto 123 PreIncrementExpression Goto 1160 PreDecrementExpression Goto 1160 UnaryExpressionNotPlusMinus Goto 1160 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1169 PostDecrementExpression Goto 1168 PostfixExpression Goto 447 Literal Goto 1159 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1167 FieldAccess Goto 1166 PrimitiveType Goto 112 MethodInvocation Goto 1165 ArrayAccess Goto 1164 LambdaExpression Goto 1163 ReferenceExpression Goto 1162 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1159 ArrayCreationWithoutArrayInitializer Goto 1161 SwitchExpression Goto 1160 CastExpression Goto 1160 UnaryExpression Goto 1160 AndExpression Goto 623 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 876 STATE 390 ---------------------------------------------------------------------- ( 179 ) AndExpression_NotName ::= AndExpression_NotName AND .EqualityExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 877 PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 878 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:11:53 2021 Page 879 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1126 true Shift 1126 null Shift 1126 TextBlock Shift 1126 StringLiteral Shift 1126 CharacterLiteral Shift 1126 DoubleLiteral Shift 1126 FloatingPointLiteral Shift 1126 LongLiteral Shift 1126 IntegerLiteral Shift 1126 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 880 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1127 MultiplicativeExpression Goto 121 SwitchExpression Goto 1127 PostfixExpression Goto 447 CastExpression Goto 1127 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1136 BooleanLiteral Goto 1126 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1126 ClassInstanceCreationExpression Goto 1135 FieldAccess Goto 1134 MethodInvocation Goto 1133 ArrayAccess Goto 1132 LambdaExpression Goto 1131 ReferenceExpression Goto 1130 PostIncrementExpression Goto 1129 PostDecrementExpression Goto 1128 PreIncrementExpression Goto 1127 PreDecrementExpression Goto 1127 UnaryExpressionNotPlusMinus Goto 1127 EqualityExpression Goto 624 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 881 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 391 ---------------------------------------------------------------------- ( 180 ) ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName AND_AND .InclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 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:11:53 2021 Page 882 SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 883 ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 884 UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression MINUS Shift 109 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 885 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1170 true Shift 1170 null Shift 1170 TextBlock Shift 1170 StringLiteral Shift 1170 CharacterLiteral Shift 1170 DoubleLiteral Shift 1170 FloatingPointLiteral Shift 1170 LongLiteral Shift 1170 IntegerLiteral Shift 1170 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1171 PreDecrementExpression Goto 1171 UnaryExpressionNotPlusMinus Goto 1171 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1180 PostDecrementExpression Goto 1179 PostfixExpression Goto 447 Literal Goto 1170 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1178 FieldAccess Goto 1177 PrimitiveType Goto 112 MethodInvocation Goto 1176 ArrayAccess Goto 1175 LambdaExpression Goto 1174 ReferenceExpression Goto 1173 QualifiedSuperReceiver Goto 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 886 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1170 ArrayCreationWithoutArrayInitializer Goto 1172 SwitchExpression Goto 1171 CastExpression Goto 1171 UnaryExpression Goto 1171 InclusiveOrExpression Goto 625 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 392 ---------------------------------------------------------------------- ( 181 ) InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName OR . ExclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 887 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 888 ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 889 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 890 AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1148 true Shift 1148 null Shift 1148 TextBlock Shift 1148 StringLiteral Shift 1148 CharacterLiteral Shift 1148 DoubleLiteral Shift 1148 FloatingPointLiteral Shift 1148 LongLiteral Shift 1148 IntegerLiteral Shift 1148 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1149 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 891 MultiplicativeExpression Goto 121 SwitchExpression Goto 1149 PostfixExpression Goto 447 CastExpression Goto 1149 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1158 BooleanLiteral Goto 1148 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1148 ClassInstanceCreationExpression Goto 1157 FieldAccess Goto 1156 MethodInvocation Goto 1155 ArrayAccess Goto 1154 LambdaExpression Goto 1153 ReferenceExpression Goto 1152 PostIncrementExpression Goto 1151 PostDecrementExpression Goto 1150 PreIncrementExpression Goto 1149 PreDecrementExpression Goto 1149 UnaryExpressionNotPlusMinus Goto 1149 ExclusiveOrExpression Goto 626 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 393 ---------------------------------------------------------------------- ( 182 272 323 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 892 ConditionalExpression_NotName ::= Name QUESTION .Expression COLON ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 893 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 894 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 895 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 896 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 897 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 627 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 394 ---------------------------------------------------------------------- ( 182 272 323 ) ConditionalOrExpression_NotName ::= Name OR_OR .ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 898 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 899 PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 900 FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 901 MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1041 true Shift 1041 null Shift 1041 TextBlock Shift 1041 StringLiteral Shift 1041 CharacterLiteral Shift 1041 DoubleLiteral Shift 1041 FloatingPointLiteral Shift 1041 LongLiteral Shift 1041 IntegerLiteral Shift 1041 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 902 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1042 MultiplicativeExpression Goto 121 SwitchExpression Goto 1042 PostfixExpression Goto 447 CastExpression Goto 1042 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1051 BooleanLiteral Goto 1041 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1041 ClassInstanceCreationExpression Goto 1050 FieldAccess Goto 1049 MethodInvocation Goto 1048 ArrayAccess Goto 1047 LambdaExpression Goto 1046 ReferenceExpression Goto 1045 PostIncrementExpression Goto 1044 PostDecrementExpression Goto 1043 PreIncrementExpression Goto 1042 PreDecrementExpression Goto 1042 UnaryExpressionNotPlusMinus Goto 1042 ConditionalAndExpression Goto 628 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 903 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 395 ---------------------------------------------------------------------- ( 182 272 323 ) ConditionalAndExpression_NotName ::= Name AND_AND .InclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 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:11:53 2021 Page 904 SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 905 ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 906 UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression MINUS Shift 109 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 907 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1170 true Shift 1170 null Shift 1170 TextBlock Shift 1170 StringLiteral Shift 1170 CharacterLiteral Shift 1170 DoubleLiteral Shift 1170 FloatingPointLiteral Shift 1170 LongLiteral Shift 1170 IntegerLiteral Shift 1170 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1171 PreDecrementExpression Goto 1171 UnaryExpressionNotPlusMinus Goto 1171 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1180 PostDecrementExpression Goto 1179 PostfixExpression Goto 447 Literal Goto 1170 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1178 FieldAccess Goto 1177 PrimitiveType Goto 112 MethodInvocation Goto 1176 ArrayAccess Goto 1175 LambdaExpression Goto 1174 ReferenceExpression Goto 1173 QualifiedSuperReceiver Goto 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 908 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1170 ArrayCreationWithoutArrayInitializer Goto 1172 SwitchExpression Goto 1171 CastExpression Goto 1171 UnaryExpression Goto 1171 InclusiveOrExpression Goto 629 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 396 ---------------------------------------------------------------------- ( 182 272 323 ) InclusiveOrExpression_NotName ::= Name OR .ExclusiveOrExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 909 PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 910 NonWildTypeArgumentsopt 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:11:53 2021 Page 911 MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 912 ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1148 true Shift 1148 null Shift 1148 TextBlock Shift 1148 StringLiteral Shift 1148 CharacterLiteral Shift 1148 DoubleLiteral Shift 1148 FloatingPointLiteral Shift 1148 LongLiteral Shift 1148 IntegerLiteral Shift 1148 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1149 MultiplicativeExpression Goto 121 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 913 SwitchExpression Goto 1149 PostfixExpression Goto 447 CastExpression Goto 1149 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1158 BooleanLiteral Goto 1148 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1148 ClassInstanceCreationExpression Goto 1157 FieldAccess Goto 1156 MethodInvocation Goto 1155 ArrayAccess Goto 1154 LambdaExpression Goto 1153 ReferenceExpression Goto 1152 PostIncrementExpression Goto 1151 PostDecrementExpression Goto 1150 PreIncrementExpression Goto 1149 PreDecrementExpression Goto 1149 UnaryExpressionNotPlusMinus Goto 1149 ExclusiveOrExpression Goto 630 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 397 ---------------------------------------------------------------------- ( 182 272 323 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 914 ExclusiveOrExpression_NotName ::= Name XOR .AndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 915 PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 916 ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 917 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1159 true Shift 1159 null Shift 1159 TextBlock Shift 1159 StringLiteral Shift 1159 CharacterLiteral Shift 1159 DoubleLiteral Shift 1159 FloatingPointLiteral Shift 1159 LongLiteral Shift 1159 IntegerLiteral Shift 1159 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 918 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1160 PreDecrementExpression Goto 1160 UnaryExpressionNotPlusMinus Goto 1160 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1169 PostDecrementExpression Goto 1168 PostfixExpression Goto 447 Literal Goto 1159 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1167 FieldAccess Goto 1166 PrimitiveType Goto 112 MethodInvocation Goto 1165 ArrayAccess Goto 1164 LambdaExpression Goto 1163 ReferenceExpression Goto 1162 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1159 ArrayCreationWithoutArrayInitializer Goto 1161 SwitchExpression Goto 1160 CastExpression Goto 1160 UnaryExpression Goto 1160 AndExpression Goto 631 boolean Reduce 78 byte Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 919 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 398 ---------------------------------------------------------------------- ( 182 272 323 ) AndExpression_NotName ::= Name AND .EqualityExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 920 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:11:53 2021 Page 921 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:11:53 2021 Page 922 UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1126 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 923 true Shift 1126 null Shift 1126 TextBlock Shift 1126 StringLiteral Shift 1126 CharacterLiteral Shift 1126 DoubleLiteral Shift 1126 FloatingPointLiteral Shift 1126 LongLiteral Shift 1126 IntegerLiteral Shift 1126 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1127 MultiplicativeExpression Goto 121 SwitchExpression Goto 1127 PostfixExpression Goto 447 CastExpression Goto 1127 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1136 BooleanLiteral Goto 1126 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1126 ClassInstanceCreationExpression Goto 1135 FieldAccess Goto 1134 MethodInvocation Goto 1133 ArrayAccess Goto 1132 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 924 LambdaExpression Goto 1131 ReferenceExpression Goto 1130 PostIncrementExpression Goto 1129 PostDecrementExpression Goto 1128 PreIncrementExpression Goto 1127 PreDecrementExpression Goto 1127 UnaryExpressionNotPlusMinus Goto 1127 EqualityExpression Goto 632 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 399 ---------------------------------------------------------------------- ( 182 272 323 ) EqualityExpression_NotName ::= Name NOT_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 925 TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 926 ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 927 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 MINUS Shift 109 PLUS Shift 110 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 928 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1137 true Shift 1137 null Shift 1137 TextBlock Shift 1137 StringLiteral Shift 1137 CharacterLiteral Shift 1137 DoubleLiteral Shift 1137 FloatingPointLiteral Shift 1137 LongLiteral Shift 1137 IntegerLiteral Shift 1137 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1138 PreDecrementExpression Goto 1138 UnaryExpressionNotPlusMinus Goto 1138 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1147 PostDecrementExpression Goto 1146 PostfixExpression Goto 447 Literal Goto 1137 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1145 FieldAccess Goto 1144 PrimitiveType Goto 112 MethodInvocation Goto 1143 ArrayAccess Goto 1142 LambdaExpression Goto 1141 ReferenceExpression Goto 1140 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 929 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1137 ArrayCreationWithoutArrayInitializer Goto 1139 SwitchExpression Goto 1138 CastExpression Goto 1138 UnaryExpression Goto 1138 InstanceofExpression Goto 633 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 400 ---------------------------------------------------------------------- ( 182 272 323 ) EqualityExpression_NotName ::= Name EQUAL_EQUAL .InstanceofExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 930 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 931 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:11:53 2021 Page 932 ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 933 RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1137 true Shift 1137 null Shift 1137 TextBlock Shift 1137 StringLiteral Shift 1137 CharacterLiteral Shift 1137 DoubleLiteral Shift 1137 FloatingPointLiteral Shift 1137 LongLiteral Shift 1137 IntegerLiteral Shift 1137 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1138 PreDecrementExpression Goto 1138 UnaryExpressionNotPlusMinus Goto 1138 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1147 PostDecrementExpression Goto 1146 PostfixExpression Goto 447 Literal Goto 1137 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1145 FieldAccess Goto 1144 PrimitiveType Goto 112 MethodInvocation Goto 1143 ArrayAccess Goto 1142 LambdaExpression Goto 1141 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 934 ReferenceExpression Goto 1140 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1137 ArrayCreationWithoutArrayInitializer Goto 1139 SwitchExpression Goto 1138 CastExpression Goto 1138 UnaryExpression Goto 1138 InstanceofExpression Goto 634 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 401 ---------------------------------------------------------------------- ( 182 272 323 ) RelationalExpression_NotName ::= Name GREATER_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 935 BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 936 NonWildTypeArgumentsopt 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:11:53 2021 Page 937 MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 938 ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 939 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 635 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 402 ---------------------------------------------------------------------- ( 182 272 323 ) RelationalExpression_NotName ::= Name LESS_EQUAL .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 940 PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 941 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:11:53 2021 Page 942 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 943 ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 944 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 636 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 403 ---------------------------------------------------------------------- ( 182 272 323 ) RelationalExpression_NotName ::= Name GREATER .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 945 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 946 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:11:53 2021 Page 947 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 948 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 949 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 637 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 404 ---------------------------------------------------------------------- ( 182 272 ) RelationalExpression_NotName ::= Name LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 950 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 951 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 952 MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 109 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 953 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 112 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 954 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 638 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 405 ---------------------------------------------------------------------- ( 182 272 323 ) ShiftExpression_NotName ::= Name UNSIGNED_RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 955 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 956 ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 957 ArrayAccess ::= .PrimaryNoNewArray 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 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 958 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1094 true Shift 1094 null Shift 1094 TextBlock Shift 1094 StringLiteral Shift 1094 CharacterLiteral Shift 1094 DoubleLiteral Shift 1094 FloatingPointLiteral Shift 1094 LongLiteral Shift 1094 IntegerLiteral Shift 1094 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 UnaryExpression Goto 1095 MultiplicativeExpression Goto 121 SwitchExpression Goto 1095 PostfixExpression Goto 447 CastExpression Goto 1095 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1104 BooleanLiteral Goto 1094 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1094 ClassInstanceCreationExpression Goto 1103 FieldAccess Goto 1102 MethodInvocation Goto 1101 ArrayAccess Goto 1100 LambdaExpression Goto 1099 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 959 ReferenceExpression Goto 1098 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PreIncrementExpression Goto 1095 PreDecrementExpression Goto 1095 UnaryExpressionNotPlusMinus Goto 1095 AdditiveExpression Goto 639 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 406 ---------------------------------------------------------------------- ( 182 272 323 ) ShiftExpression_NotName ::= Name RIGHT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 960 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:11:53 2021 Page 961 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 962 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1094 true Shift 1094 null Shift 1094 TextBlock Shift 1094 StringLiteral Shift 1094 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 963 CharacterLiteral Shift 1094 DoubleLiteral Shift 1094 FloatingPointLiteral Shift 1094 LongLiteral Shift 1094 IntegerLiteral Shift 1094 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 UnaryExpression Goto 1095 MultiplicativeExpression Goto 121 SwitchExpression Goto 1095 PostfixExpression Goto 447 CastExpression Goto 1095 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1104 BooleanLiteral Goto 1094 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1094 ClassInstanceCreationExpression Goto 1103 FieldAccess Goto 1102 MethodInvocation Goto 1101 ArrayAccess Goto 1100 LambdaExpression Goto 1099 ReferenceExpression Goto 1098 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PreIncrementExpression Goto 1095 PreDecrementExpression Goto 1095 UnaryExpressionNotPlusMinus Goto 1095 AdditiveExpression Goto 640 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 964 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 407 ---------------------------------------------------------------------- ( 182 272 323 ) ShiftExpression_NotName ::= Name LEFT_SHIFT .AdditiveExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 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:11:53 2021 Page 965 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:11:53 2021 Page 966 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:11:53 2021 Page 967 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1094 true Shift 1094 null Shift 1094 TextBlock Shift 1094 StringLiteral Shift 1094 CharacterLiteral Shift 1094 DoubleLiteral Shift 1094 FloatingPointLiteral Shift 1094 LongLiteral Shift 1094 IntegerLiteral Shift 1094 new Shift 79 BeginIntersectionCast Shift 117 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 968 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 UnaryExpression Goto 1095 MultiplicativeExpression Goto 121 SwitchExpression Goto 1095 PostfixExpression Goto 447 CastExpression Goto 1095 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1104 BooleanLiteral Goto 1094 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1094 ClassInstanceCreationExpression Goto 1103 FieldAccess Goto 1102 MethodInvocation Goto 1101 ArrayAccess Goto 1100 LambdaExpression Goto 1099 ReferenceExpression Goto 1098 PostIncrementExpression Goto 1097 PostDecrementExpression Goto 1096 PreIncrementExpression Goto 1095 PreDecrementExpression Goto 1095 UnaryExpressionNotPlusMinus Goto 1095 AdditiveExpression Goto 641 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 969 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 408 ---------------------------------------------------------------------- ( 182 272 323 ) AdditiveExpression_NotName ::= Name MINUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 970 PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 971 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 972 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1105 true Shift 1105 null Shift 1105 TextBlock Shift 1105 StringLiteral Shift 1105 CharacterLiteral Shift 1105 DoubleLiteral Shift 1105 FloatingPointLiteral Shift 1105 LongLiteral Shift 1105 IntegerLiteral Shift 1105 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 PreIncrementExpression Goto 642 PreDecrementExpression Goto 642 UnaryExpressionNotPlusMinus Goto 642 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1114 PostDecrementExpression Goto 1113 PostfixExpression Goto 447 Literal Goto 1105 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1112 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 973 FieldAccess Goto 1111 PrimitiveType Goto 112 MethodInvocation Goto 1110 ArrayAccess Goto 1109 LambdaExpression Goto 1108 ReferenceExpression Goto 1107 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1105 ArrayCreationWithoutArrayInitializer Goto 1106 SwitchExpression Goto 642 CastExpression Goto 642 UnaryExpression Goto 642 MultiplicativeExpression Goto 642 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 409 ---------------------------------------------------------------------- ( 182 272 323 ) AdditiveExpression_NotName ::= Name PLUS .MultiplicativeExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 974 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 975 ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 976 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 977 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1105 true Shift 1105 null Shift 1105 TextBlock Shift 1105 StringLiteral Shift 1105 CharacterLiteral Shift 1105 DoubleLiteral Shift 1105 FloatingPointLiteral Shift 1105 LongLiteral Shift 1105 IntegerLiteral Shift 1105 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 PreIncrementExpression Goto 643 PreDecrementExpression Goto 643 UnaryExpressionNotPlusMinus Goto 643 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1114 PostDecrementExpression Goto 1113 PostfixExpression Goto 447 Literal Goto 1105 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1112 FieldAccess Goto 1111 PrimitiveType Goto 112 MethodInvocation Goto 1110 ArrayAccess Goto 1109 LambdaExpression Goto 1108 ReferenceExpression Goto 1107 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 978 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1105 ArrayCreationWithoutArrayInitializer Goto 1106 SwitchExpression Goto 643 CastExpression Goto 643 UnaryExpression Goto 643 MultiplicativeExpression Goto 643 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 410 ---------------------------------------------------------------------- ( 182 272 323 ) MultiplicativeExpression_NotName ::= Name REMAINDER .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 979 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 980 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 981 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 982 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 829 PostfixExpression Goto 447 CastExpression Gt/Rd 829 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 829 PreDecrementExpression Gt/Rd 829 UnaryExpressionNotPlusMinus Gt/Rd 829 UnaryExpression Gt/Rd 829 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 983 STATE 411 ---------------------------------------------------------------------- ( 182 272 323 ) MultiplicativeExpression_NotName ::= Name DIVIDE .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 984 PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 985 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 986 PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 827 PostfixExpression Goto 447 CastExpression Gt/Rd 827 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 987 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 827 PreDecrementExpression Gt/Rd 827 UnaryExpressionNotPlusMinus Gt/Rd 827 UnaryExpression Gt/Rd 827 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 412 ---------------------------------------------------------------------- ( 182 272 323 ) MultiplicativeExpression_NotName ::= Name MULTIPLY .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 988 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 989 LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 990 MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 991 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 825 PostfixExpression Goto 447 CastExpression Gt/Rd 825 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 825 PreDecrementExpression Gt/Rd 825 UnaryExpressionNotPlusMinus Gt/Rd 825 UnaryExpression Gt/Rd 825 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 992 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 413 ---------------------------------------------------------------------- ( 183 ) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION . Expression COLON ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 993 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:11:53 2021 Page 994 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:11:53 2021 Page 995 UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 996 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 997 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 644 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 998 STATE 414 ---------------------------------------------------------------------- ( 183 ) ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName OR_OR . ConditionalAndExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 999 PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1000 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:11:53 2021 Page 1001 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1002 false Shift 1041 true Shift 1041 null Shift 1041 TextBlock Shift 1041 StringLiteral Shift 1041 CharacterLiteral Shift 1041 DoubleLiteral Shift 1041 FloatingPointLiteral Shift 1041 LongLiteral Shift 1041 IntegerLiteral Shift 1041 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1042 MultiplicativeExpression Goto 121 SwitchExpression Goto 1042 PostfixExpression Goto 447 CastExpression Goto 1042 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1051 BooleanLiteral Goto 1041 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1003 Literal Goto 1041 ClassInstanceCreationExpression Goto 1050 FieldAccess Goto 1049 MethodInvocation Goto 1048 ArrayAccess Goto 1047 LambdaExpression Goto 1046 ReferenceExpression Goto 1045 PostIncrementExpression Goto 1044 PostDecrementExpression Goto 1043 PreIncrementExpression Goto 1042 PreDecrementExpression Goto 1042 UnaryExpressionNotPlusMinus Goto 1042 ConditionalAndExpression Goto 645 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 415 ---------------------------------------------------------------------- ( 184 ) FieldDeclaration ::= Modifiersopt Type .VariableDeclarators SEMICOLON VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 545 VariableDeclaratorId Goto 546 VariableDeclarator Goto 599 VariableDeclarators Goto 599 STATE 416 ---------------------------------------------------------------------- ( 186 ) CatchHeader ::= catch LPAREN .CatchFormalParameter RPAREN LBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1004 Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation CatchFormalParameter ::= .Modifiersopt CatchType VariableDeclaratorId Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1005 Modifiersopt Goto 647 CatchFormalParameter Goto 646 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 417 ---------------------------------------------------------------------- ( 188 ) EnumConstantHeader ::= EnumConstantHeaderName ForceNoDiet .Argumentsopt RestoreDiet Arguments ::= .LPAREN ArgumentListopt RPAREN Argumentsopt ::= . (740) LPAREN Shift 649 Arguments Goto 648 Argumentsopt Goto 648 abstract Reduce 740 final Reduce 740 native Reduce 740 non-sealed Reduce 740 private Reduce 740 protected Reduce 740 public Reduce 740 static Reduce 740 strictfp Reduce 740 synchronized Reduce 740 transient Reduce 740 volatile Reduce 740 LBRACE Reduce 740 RBRACE Reduce 740 SEMICOLON Reduce 740 COMMA Reduce 740 AT Reduce 740 RestrictedIdentifiersealed Reduce 740 $eof Reduce 740 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1006 Default reduction to rule 740 STATE 418 ---------------------------------------------------------------------- ( 189 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt . MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClause MethodHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 264 MethodHeaderRightParen Goto 650 STATE 419 ---------------------------------------------------------------------- ( 190 ) RecoveryMethodHeaderName ::= ModifiersWithDefault Type .Identifier LPAREN Identifier Shift 651 STATE 420 ---------------------------------------------------------------------- ( 190 ) RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1007 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 652 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 652 Type Goto 652 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1008 void Reduce 78 Default reduction to rule 78 STATE 421 ---------------------------------------------------------------------- ( 191 ) ArrayCreationHeader ::= new PrimitiveType .DimWithOrWithOutExprs TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 TypeAnnotationsopt Goto 514 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 514 DimWithOrWithOutExpr Gt/Rd 579 DimWithOrWithOutExprs Goto 653 LBRACKET Reduce 78 Default reduction to rule 78 STATE 422 ---------------------------------------------------------------------- ( 191 ) AllocationHeader ::= new ClassType .LPAREN ArgumentListopt RPAREN LPAREN Shift 654 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1009 STATE 423 ---------------------------------------------------------------------- ( 191 ) ClassType ::= ClassOrInterfaceType . (69) ArrayCreationHeader ::= new ClassOrInterfaceType .DimWithOrWithOutExprs TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 TypeAnnotationsopt Goto 514 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 514 DimWithOrWithOutExpr Gt/Rd 579 DimWithOrWithOutExprs Goto 655 LPAREN Reduce 69 LBRACKET Reduce 78 Default reduction to rule 69 STATE 424 ---------------------------------------------------------------------- ( 192 ) RecoveryMethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1010 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 656 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1011 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 656 Type Goto 656 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 425 ---------------------------------------------------------------------- ( 192 204 ) FieldDeclaration ::= Modifiersopt Type .VariableDeclarators SEMICOLON RecoveryMethodHeaderName ::= Modifiersopt Type .Identifier LPAREN VariableDeclarators ::= .VariableDeclarators COMMA VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 657 VariableDeclaratorId Goto 546 VariableDeclarator Goto 599 VariableDeclarators Goto 599 STATE 426 ---------------------------------------------------------------------- ( 192 204 443 ) ModuleHeader ::= Modifiersopt ModuleModifieropt .module UnannotatableName module Shift 658 STATE 427 ---------------------------------------------------------------------- ( 192 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1012 SimpleName ::= Identifier . (73) EnumConstantHeaderName ::= Modifiersopt Identifier . (735) abstract Reduce 735 final Reduce 735 native Reduce 735 non-sealed Reduce 735 private Reduce 735 protected Reduce 735 public Reduce 735 static Reduce 735 strictfp Reduce 735 synchronized Reduce 735 transient Reduce 735 volatile Reduce 735 LPAREN Reduce 735 AT Reduce 735 RestrictedIdentifiersealed Reduce 735 $eof Reduce 735 Identifier Reduce 70 LESS Reduce 70 LBRACKET Reduce 70 DOT Reduce 70 AT308 Reduce 70 Default reduction to rule 735 STATE 428 ---------------------------------------------------------------------- ( 194 ) SingleRequiresModuleName ::= requires RequiresModifiersopt .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 659 SimpleName Goto 659 UnannotatableName Goto 659 STATE 429 ---------------------------------------------------------------------- ( 194 ) RequiresModifiersopt ::= RequiresModifiers . (123) RequiresModifiers ::= RequiresModifiers .RequiresModifier static Sh/Rd 126 transitive Sh/Rd 126 RequiresModifier Gt/Rd 126 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1013 Identifier Reduce 123 Default reduction to rule 123 STATE 430 ---------------------------------------------------------------------- ( 195 ) ExportsStatement ::= ExportsHeader TargetModuleListopt .SEMICOLON SEMICOLON Sh/Rd 129 STATE 431 ---------------------------------------------------------------------- ( 195 201 ) TargetModuleListopt ::= to .TargetModuleNameList SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName TargetModuleName ::= .UnannotatableName TargetModuleNameList ::= .TargetModuleNameList COMMA TargetModuleName Identifier Shift 1182 UnannotatableName Goto 661 SimpleName Goto 1182 TargetModuleName Goto 660 TargetModuleNameList Goto 660 STATE 432 ---------------------------------------------------------------------- ( 196 202 ) UnannotatableName ::= UnannotatableName .DOT SimpleName SinglePkgName ::= UnannotatableName . (136) DOT Shift 448 to Reduce 136 SEMICOLON Reduce 136 Default reduction to rule 136 STATE 433 ---------------------------------------------------------------------- ( 198 ) QualifiedName ::= Name .DOT SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1014 QualifiedName ::= Name .DOT TypeAnnotations SimpleName UsesHeader ::= uses Name . (140) DOT Shift 219 SEMICOLON Reduce 140 Default reduction to rule 140 STATE 434 ---------------------------------------------------------------------- ( 199 ) ProvidesStatement ::= ProvidesInterface WithClause .SEMICOLON SEMICOLON Sh/Rd 141 STATE 435 ---------------------------------------------------------------------- ( 199 ) WithClause ::= with .ServiceImplNameList Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ServiceImplName ::= .Name ServiceImplNameList ::= .ServiceImplNameList COMMA ServiceImplName AT308 Shift 33 Identifier Shift 982 Name Goto 663 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1015 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1183 ServiceImplName Goto 662 ServiceImplNameList Goto 662 STATE 436 ---------------------------------------------------------------------- ( 200 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName ProvidesInterface ::= provides Name . (142) DOT Shift 219 with Reduce 142 Default reduction to rule 142 STATE 437 ---------------------------------------------------------------------- ( 201 ) OpensStatement ::= OpensHeader TargetModuleListopt .SEMICOLON SEMICOLON Sh/Rd 137 STATE 438 ---------------------------------------------------------------------- ( 204 ) ConstructorHeaderName ::= Modifiersopt TypeParameters .Identifier LPAREN RecoveryMethodHeaderName ::= Modifiersopt TypeParameters .Type Identifier LPAREN Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1016 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 602 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 656 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 656 Type Goto 656 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1017 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 439 ---------------------------------------------------------------------- ( 205 ) Initializer ::= Diet NestedMethod .CreateInitializer Block CreateInitializer ::= . (229) CreateInitializer Goto 664 LBRACE Reduce 229 Default reduction to rule 229 STATE 440 ---------------------------------------------------------------------- ( 206 ) MethodBody ::= NestedMethod LBRACE .BlockStatementsopt RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1018 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1019 ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1020 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1021 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1022 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 ::= . (693) Modifiersopt ::= .Modifiers BlockStatementsopt ::= . (695) BlockStatementsopt ::= .BlockStatements EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1023 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 RestrictedIdentifierYield Shift 44 try Shift 60 throw Shift 61 return Shift 63 continue Shift 64 break Shift 65 do Shift 66 switch Shift 67 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 BeginLambda Shift 75 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1024 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 super Shift 84 this Shift 86 LESS Shift 40 SEMICOLON Sh/Rd 421 assert Shift 89 if Shift 91 while Shift 92 for Shift 94 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 97 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 98 AT308 Shift 33 Identifier Shift 102 BlockStatement Gt/Rd 376 BlockStatements Goto 108 LocalVariableDeclaration Goto 107 PrimitiveType Goto 106 ReferenceType Goto 96 ClassOrInterface Goto 36 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 995 Name Goto 103 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 96 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 100 Modifier Goto 987 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1025 Modifiers Goto 99 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Type Goto 96 StatementWithoutTrailingSubstatement Goto 996 LabeledStatement Goto 996 IfThenStatement Goto 996 IfThenElseStatement Goto 996 WhileStatement Goto 996 ForStatement Goto 996 EnhancedForStatement Goto 996 EnhancedForStatementHeaderInit Goto 95 EnhancedForStatementHeader Goto 93 Label Goto 90 OpenBlock Goto 88 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OnlyTypeArguments Goto 85 Primary Goto 83 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 994 BooleanLiteral Goto 988 ClassInstanceCreationExpressionName Goto 78 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 Literal Goto 988 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 73 FieldAccess Goto 993 MethodInvocation Goto 72 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 OnlySynchronized Goto 62 AssertStatement Goto 996 Block Goto 996 EmptyStatement Goto 996 ExpressionStatement Goto 996 SwitchStatement Goto 996 DoStatement Goto 996 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1026 BreakStatement Goto 996 ContinueStatement Goto 996 ReturnStatement Goto 996 SynchronizedStatement Goto 996 ThrowStatement Goto 996 TryStatement Goto 996 TryStatementWithResources Goto 996 YieldStatement Goto 996 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiersopt Goto 57 ClassHeaderName Goto 56 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 EnumHeader Goto 47 EnumHeaderName Goto 46 LocalVariableDeclarationStatement Goto 996 Statement Goto 996 ClassDeclaration Goto 996 RecordDeclaration Goto 996 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 BlockStatementsopt Goto 665 RBRACE Reduce 695 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 441 ---------------------------------------------------------------------- ( 207 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1027 InternalCompilationUnit ::= PackageDeclaration . (96) InternalCompilationUnit ::= PackageDeclaration .ImportDeclarations ReduceImports InternalCompilationUnit ::= PackageDeclaration .ImportDeclarations ReduceImports TypeDeclarations InternalCompilationUnit ::= PackageDeclaration .TypeDeclarations ImportDeclarations ::= .ImportDeclarations ImportDeclaration TypeDeclarations ::= .TypeDeclarations TypeDeclaration SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1028 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 190 import Shift 161 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 98 ClassDeclaration Goto 667 InterfaceDeclaration Goto 667 EnumDeclaration Goto 667 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1029 AnnotationTypeDeclaration Goto 667 RecordDeclaration Goto 667 RecordHeaderName Goto 53 Modifiersopt Goto 57 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 49 EnumHeaderName Goto 46 EnumHeader Goto 47 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 ClassHeaderName Goto 56 Modifier Goto 987 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 ClassHeaderName1 Goto 58 ClassHeader Goto 59 TypeDeclaration Goto 667 TypeDeclarations Goto 667 SingleTypeImportDeclaration Goto 666 TypeImportOnDemandDeclaration Goto 666 SingleStaticImportDeclaration Goto 666 StaticImportOnDemandDeclaration Goto 666 StaticImportOnDemandDeclarationName Goto 158 SingleStaticImportDeclarationName Goto 159 TypeImportOnDemandDeclarationName Goto 160 SingleTypeImportDeclarationName Goto 162 ImportDeclaration Goto 666 ImportDeclarations Goto 666 $eof Reduce 96 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 442 ---------------------------------------------------------------------- ( 207 669 ) ModuleDeclaration ::= ModuleHeader .ModuleBody ModuleBody ::= .LBRACE ModuleStatementsOpt RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1030 LBRACE Shift 668 ModuleBody Gt/Rd 106 STATE 443 ---------------------------------------------------------------------- ( 207 669 ) ModuleHeader ::= Modifiersopt .ModuleModifieropt module UnannotatableName ClassHeaderName1 ::= Modifiersopt .class Identifier InterfaceHeaderName1 ::= Modifiersopt .interface Identifier RecordHeaderName1 ::= Modifiersopt .RestrictedIdentifierrecord Identifier EnumHeaderName ::= Modifiersopt .enum Identifier EnumHeaderName ::= Modifiersopt .enum Identifier TypeParameters ModuleModifieropt ::= . (108) ModuleModifieropt ::= .ModuleModifier ModuleModifier ::= .open enum Shift 252 RestrictedIdentifierrecord Shift 253 interface Shift 254 class Shift 255 open Shift 1037 ModuleModifier Gt/Rd 109 ModuleModifieropt Goto 426 module Reduce 108 Default reduction to rule 108 STATE 444 ---------------------------------------------------------------------- ( 207 ) InternalCompilationUnit ::= TypeDeclarations . (101) TypeDeclarations ::= TypeDeclarations .TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1031 Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1032 SEMICOLON Sh/Rd 190 AT Shift 98 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiers Goto 145 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 987 Modifiersopt Goto 57 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 ClassDeclaration Gt/Rd 175 InterfaceDeclaration Gt/Rd 175 EnumDeclaration Gt/Rd 175 AnnotationTypeDeclaration Gt/Rd 175 RecordDeclaration Gt/Rd 175 TypeDeclaration Gt/Rd 175 $eof Reduce 101 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1033 STATE 445 ---------------------------------------------------------------------- ( 207 ) InternalCompilationUnit ::= ImportDeclarations .ReduceImports InternalCompilationUnit ::= ImportDeclarations .ReduceImports TypeDeclarations InternalCompilationUnit ::= ImportDeclarations .ReduceImports ModuleDeclaration ImportDeclarations ::= ImportDeclarations .ImportDeclaration ReduceImports ::= . (147) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY import Shift 161 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Gt/Rd 173 TypeImportOnDemandDeclaration Gt/Rd 173 SingleStaticImportDeclaration Gt/Rd 173 StaticImportOnDemandDeclaration Gt/Rd 173 ReduceImports Goto 669 ImportDeclaration Gt/Rd 173 abstract Reduce 147 class Reduce 147 enum Reduce 147 final Reduce 147 interface Reduce 147 native Reduce 147 non-sealed Reduce 147 private Reduce 147 protected Reduce 147 public Reduce 147 static Reduce 147 strictfp Reduce 147 synchronized Reduce 147 transient Reduce 147 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1034 volatile Reduce 147 module Reduce 147 open Reduce 147 SEMICOLON Reduce 147 AT Reduce 147 RestrictedIdentifierrecord Reduce 147 RestrictedIdentifiersealed Reduce 147 $eof Reduce 147 Default reduction to rule 147 STATE 446 ---------------------------------------------------------------------- ( 208 ) GuardedPattern ::= PrimaryPattern AND_AND ConditionalAndExpression . (366) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression AND_AND Shift 346 RPAREN Reduce 366 COLON Reduce 366 COMMA Reduce 366 BeginCaseExpr Reduce 366 $eof Reduce 366 Default reduction to rule 366 STATE 447 ---------------------------------------------------------------------- ( 208 269 270 314 315 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 345 346 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 414 570 761 765 778 779 854 907 910 942 970 ) PostIncrementExpression ::= PostfixExpression .PLUS_PLUS PostDecrementExpression ::= PostfixExpression .MINUS_MINUS UnaryExpressionNotPlusMinus ::= PostfixExpression . (616) MINUS_MINUS Sh/Rd 607 PLUS_PLUS Sh/Rd 606 abstract Reduce 616 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1035 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 AT Reduce 616 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 STATE 448 ---------------------------------------------------------------------- ( 212 215 432 659 661 788 ) UnannotatableName ::= UnannotatableName DOT .SimpleName Identifier Sh/Rd 75 SimpleName Gt/Rd 75 STATE 449 ---------------------------------------------------------------------- ( 213 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1036 SingleMemberAnnotation ::= AnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN RPAREN Sh/Rd 926 STATE 450 ---------------------------------------------------------------------- ( 213 ) NormalAnnotation ::= AnnotationName LPAREN MemberValuePairsopt .RPAREN RPAREN Sh/Rd 905 STATE 451 ---------------------------------------------------------------------- ( 213 216 ) MemberValuePairsopt ::= MemberValuePairs . (907) MemberValuePairs ::= MemberValuePairs .COMMA MemberValuePair COMMA Shift 670 RPAREN Reduce 907 Default reduction to rule 907 STATE 452 ---------------------------------------------------------------------- ( 213 216 ) Name ::= SimpleName . (70) MemberValuePair ::= SimpleName .EQUAL EnterMemberValue MemberValue ExitMemberValue EQUAL Shift 671 instanceof Reduce 70 PLUS_PLUS Reduce 70 MINUS_MINUS Reduce 70 EQUAL_EQUAL Reduce 70 LESS_EQUAL Reduce 70 GREATER_EQUAL Reduce 70 NOT_EQUAL Reduce 70 LEFT_SHIFT Reduce 70 RIGHT_SHIFT Reduce 70 UNSIGNED_RIGHT_SHIFT Reduce 70 OR_OR Reduce 70 AND_AND Reduce 70 PLUS Reduce 70 MINUS Reduce 70 REMAINDER Reduce 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1037 XOR Reduce 70 AND Reduce 70 MULTIPLY Reduce 70 OR Reduce 70 DIVIDE Reduce 70 GREATER Reduce 70 LESS Reduce 70 LPAREN Reduce 70 RPAREN Reduce 70 LBRACKET Reduce 70 QUESTION Reduce 70 DOT Reduce 70 COLON_COLON Reduce 70 BeginTypeArguments Reduce 70 AT308 Reduce 70 Default reduction to rule 70 STATE 453 ---------------------------------------------------------------------- ( 216 ) SingleMemberTypeAnnotation ::= TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue .RPAREN RPAREN Sh/Rd 89 STATE 454 ---------------------------------------------------------------------- ( 216 ) NormalTypeAnnotation ::= TypeAnnotationName LPAREN MemberValuePairsopt .RPAREN RPAREN Sh/Rd 87 STATE 455 ---------------------------------------------------------------------- ( 218 ) ClassOrInterface ::= GenericType DOT Name . (61) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName DOT Shift 219 abstract Reduce 61 final Reduce 61 implements Reduce 61 native Reduce 61 non-sealed Reduce 61 private Reduce 61 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1038 protected Reduce 61 public Reduce 61 static Reduce 61 strictfp Reduce 61 synchronized Reduce 61 transient Reduce 61 volatile Reduce 61 AND Reduce 61 LESS Reduce 61 LPAREN Reduce 61 RPAREN Reduce 61 LBRACE Reduce 61 LBRACKET Reduce 61 SEMICOLON Reduce 61 COMMA Reduce 61 AT Reduce 61 COLON_COLON Reduce 61 AT308 Reduce 61 RestrictedIdentifiersealed Reduce 61 RestrictedIdentifierpermits Reduce 61 $eof Reduce 61 Default reduction to rule 61 STATE 456 ---------------------------------------------------------------------- ( 219 308 318 610 774 ) QualifiedName ::= Name DOT TypeAnnotations .SimpleName Identifier Sh/Rd 77 SimpleName Gt/Rd 77 STATE 457 ---------------------------------------------------------------------- ( 221 ) TypeArgumentList1 ::= TypeArgumentList COMMA .TypeArgument1 TypeArgumentList ::= TypeArgumentList COMMA .TypeArgument PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1039 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 TypeAnnotationsopt Goto 225 ReferenceType Goto 222 Wildcard Gt/Rd 759 ClassOrInterface Goto 223 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1040 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 1022 ReferenceType1 Gt/Rd 757 Wildcard1 Gt/Rd 757 TypeArgument1 Gt/Rd 757 TypeArgument Gt/Rd 759 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 QUESTION Reduce 78 Default reduction to rule 78 STATE 458 ---------------------------------------------------------------------- ( 223 ) 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 QualifiedName ::= .Name DOT SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1041 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 63 AT308 Shift 33 Identifier Shift 982 ReferenceType2 Gt/Rd 765 Wildcard2 Gt/Rd 765 TypeAnnotationsopt Goto 675 ReferenceType Goto 674 ClassOrInterface Goto 673 TypeArgument2 Gt/Rd 765 TypeArgumentList Goto 672 ReferenceType1 Gt/Rd 754 Wildcard1 Gt/Rd 754 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 1022 TypeAnnotations Goto 104 GenericType Goto 105 PrimitiveType Goto 224 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1042 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 983 TypeArgument Goto 672 Wildcard Goto 672 TypeArgument1 Gt/Rd 754 TypeArgumentList1 Gt/Rd 754 TypeArgumentList2 Gt/Rd 765 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 QUESTION Reduce 78 Default reduction to rule 78 STATE 459 ---------------------------------------------------------------------- ( 225 ) Wildcard ::= TypeAnnotationsopt QUESTION . (777) 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 781 super Shift 676 extends Shift 677 WildcardBounds Gt/Rd 778 WildcardBounds1 Gt/Rd 782 COMMA Reduce 777 Default reduction to rule 777 STATE 460 ---------------------------------------------------------------------- ( 226 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1043 ReferenceExpressionTypeArgumentsAndTrunk0 ::= OnlyTypeArguments DOT ClassOrInterfaceType .Dimsopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) LBRACKET Shift 228 AT308 Shift 33 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Gt/Rd 532 Dimsopt Gt/Rd 532 COLON_COLON Reduce 697 $eof Reduce 697 Default reduction to rule 697 STATE 461 ---------------------------------------------------------------------- ( 227 ) OneDimLoop ::= TypeAnnotations LBRACKET .RBRACKET RBRACKET Sh/Rd 587 STATE 462 ---------------------------------------------------------------------- ( 231 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1044 CastNameAndBounds ::= Name AdditionalBoundList . (629) AdditionalBoundList ::= AdditionalBoundList .AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 463 AdditionalBound Gt/Rd 801 RPAREN Reduce 629 Default reduction to rule 629 STATE 463 ---------------------------------------------------------------------- ( 231 462 565 569 758 760 908 ) 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 ::= . (78) TypeAnnotationsopt ::= .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:11:53 2021 Page 1045 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 ClassOrInterface Goto 36 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotationsopt Goto 100 ClassOrInterfaceType Gt/Rd 56 ArrayType Gt/Rd 802 ReferenceType Gt/Rd 802 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 464 ---------------------------------------------------------------------- ( 233 ) FormalParameterList ::= FormalParameterList COMMA .FormalParameter Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1046 Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation FormalParameter ::= .Modifiersopt Type VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 350 FormalParameter Gt/Rd 271 Identifier Reduce 693 boolean Reduce 693 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1047 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 465 ---------------------------------------------------------------------- ( 234 ) TypeElidedFormalParameterList ::= TypeElidedFormalParameterList COMMA . TypeElidedFormalParameter Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation TypeElidedFormalParameter ::= .Modifiersopt Identifier Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1048 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 678 TypeElidedFormalParameter Gt/Rd 551 Identifier Reduce 693 Default reduction to rule 693 STATE 466 ---------------------------------------------------------------------- ( 235 350 ) FormalParameter ::= Modifiersopt Type .VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt Type .PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis FormalParameter ::= Modifiersopt Type .AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis SimpleName ::= .Identifier UnannotatableName ::= .UnannotatableName DOT SimpleName PushZeroTypeAnnotations ::= . (91) VariableDeclaratorIdOrThis ::= .this VariableDeclaratorIdOrThis ::= .UnannotatableName DOT this VariableDeclaratorIdOrThis ::= .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt AT308DOTDOTDOT Shift 679 this Sh/Rd 92 Identifier Shift 681 SimpleName Goto 682 UnannotatableName Goto 682 VariableDeclaratorId Gt/Rd 94 VariableDeclaratorIdOrThis Gt/Rd 272 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1049 PushZeroTypeAnnotations Goto 680 ELLIPSIS Reduce 91 Default reduction to rule 91 STATE 467 ---------------------------------------------------------------------- ( 235 ) SimpleName ::= Identifier . (73) TypeElidedFormalParameter ::= Modifiersopt Identifier . (552) RPAREN Reduce 552 COMMA Reduce 552 Identifier Reduce 70 this Reduce 70 LESS Reduce 70 LBRACKET Reduce 70 DOT Reduce 70 ELLIPSIS Reduce 70 AT308 Reduce 70 AT308DOTDOTDOT Reduce 70 Default reduction to rule 73 STATE 468 ---------------------------------------------------------------------- ( 237 ) CaseLabelElements ::= CaseLabelElements COMMA .CaseLabelElement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1050 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock CaseLabelElement ::= .ConstantExpression CaseLabelElement ::= .default CaseLabelElement ::= .BeginCaseElement Pattern PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt 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:11:53 2021 Page 1051 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:11:53 2021 Page 1052 MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1053 RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ConstantExpression ::= .Expression PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 NOT Shift 119 TWIDDLE Shift 120 BeginIntersectionCast Shift 117 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 false Shift 997 true Shift 997 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1054 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 MINUS Shift 109 PLUS Shift 110 BeginCaseElement Shift 238 default Sh/Rd 465 Expression Goto 1025 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1055 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ConstantExpression Gt/Rd 464 CaseLabelElement Gt/Rd 463 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 469 ---------------------------------------------------------------------- ( 239 ) ClassHeaderImplements ::= implements InterfaceTypeList . (216) InterfaceTypeList ::= InterfaceTypeList .COMMA InterfaceType COMMA Shift 683 abstract Reduce 216 final Reduce 216 native Reduce 216 non-sealed Reduce 216 private Reduce 216 protected Reduce 216 public Reduce 216 static Reduce 216 strictfp Reduce 216 synchronized Reduce 216 transient Reduce 216 volatile Reduce 216 LBRACE Reduce 216 AT Reduce 216 RestrictedIdentifiersealed Reduce 216 RestrictedIdentifierpermits Reduce 216 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1056 $eof Reduce 216 Default reduction to rule 216 STATE 470 ---------------------------------------------------------------------- ( 240 ) EnumBody ::= LBRACE COMMA .EnumBodyDeclarationsopt RBRACE EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (743) SEMICOLON Shift 472 EnumDeclarations Goto 684 EnumBodyDeclarationsopt Goto 684 RBRACE Reduce 743 Default reduction to rule 743 STATE 471 ---------------------------------------------------------------------- ( 240 ) EnumBody ::= LBRACE EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 729 STATE 472 ---------------------------------------------------------------------- ( 240 470 473 686 ) EnumDeclarations ::= SEMICOLON .ClassBodyDeclarationsopt ClassBodyDeclarationsopt ::= . (691) ClassBodyDeclarationsopt ::= .NestedType ClassBodyDeclarations NestedType ::= . (716) NestedType Goto 493 ClassBodyDeclarationsopt Gt/Rd 742 RBRACE Reduce 691 Identifier Reduce 716 abstract Reduce 716 boolean Reduce 716 byte Reduce 716 char Reduce 716 class Reduce 716 default Reduce 716 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1057 double Reduce 716 enum Reduce 716 final Reduce 716 float Reduce 716 int Reduce 716 interface Reduce 716 long Reduce 716 native Reduce 716 non-sealed Reduce 716 private Reduce 716 protected Reduce 716 public Reduce 716 short Reduce 716 static Reduce 716 strictfp Reduce 716 synchronized Reduce 716 transient Reduce 716 void Reduce 716 volatile Reduce 716 LESS Reduce 716 LBRACE Reduce 716 SEMICOLON Reduce 716 AT Reduce 716 AT308 Reduce 716 RestrictedIdentifierrecord Reduce 716 RestrictedIdentifiersealed Reduce 716 Default reduction to rule 716 STATE 473 ---------------------------------------------------------------------- ( 240 ) EnumBody ::= LBRACE EnumConstants .COMMA EnumBodyDeclarationsopt RBRACE EnumBody ::= LBRACE EnumConstants .EnumBodyDeclarationsopt RBRACE EnumConstants ::= EnumConstants .COMMA EnumConstant EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (743) COMMA Shift 686 SEMICOLON Shift 472 EnumDeclarations Goto 685 EnumBodyDeclarationsopt Goto 685 RBRACE Reduce 743 Default reduction to rule 743 STATE 474 ---------------------------------------------------------------------- ( 240 686 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1058 EnumConstantHeaderName ::= Modifiersopt .Identifier Identifier Sh/Rd 735 STATE 475 ---------------------------------------------------------------------- ( 240 686 ) EnumConstant ::= EnumConstantHeader .ForceNoDiet ClassBody RestoreDiet EnumConstant ::= EnumConstantHeader . (738) ForceNoDiet ::= . (248) ForceNoDiet Goto 687 RBRACE Reduce 738 SEMICOLON Reduce 738 COMMA Reduce 738 LBRACE Reduce 248 Default reduction to rule 738 STATE 476 ---------------------------------------------------------------------- ( 243 ) AnnotationTypeBody ::= LBRACE AnnotationTypeMemberDeclarationsopt .RBRACE RBRACE Sh/Rd 886 STATE 477 ---------------------------------------------------------------------- ( 243 ) AnnotationTypeMemberDeclarationsopt ::= NestedType . AnnotationTypeMemberDeclarations TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1059 Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 AnnotationTypeMemberDeclarations ::= .AnnotationTypeMemberDeclarations AnnotationTypeMemberDeclaration AnnotationMethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN AnnotationMethodHeaderName ::= .Modifiersopt Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1060 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 190 AT Shift 98 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AnnotationMethodHeader Goto 154 ConstantDeclaration Goto 688 ConstructorDeclaration Goto 688 TypeDeclaration Goto 688 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiersopt Goto 155 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 Modifiers Goto 145 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 ClassDeclaration Goto 688 InterfaceDeclaration Goto 688 EnumDeclaration Goto 688 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1061 AnnotationTypeDeclaration Goto 688 RecordDeclaration Goto 688 ConstructorHeaderName Goto 136 ConstructorHeader Goto 137 FieldDeclaration Goto 688 Modifier Goto 978 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 AnnotationMethodHeaderName Goto 157 AnnotationTypeMemberDeclaration Goto 688 AnnotationTypeMemberDeclarations Goto 688 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 478 ---------------------------------------------------------------------- ( 244 ) InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= RestrictedIdentifierpermits . ClassTypeList ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1062 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 33 Identifier Shift 982 ClassType Gt/Rd 281 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 985 ClassTypeElt Goto 689 ClassTypeList Goto 689 STATE 479 ---------------------------------------------------------------------- ( 245 ) InterfaceTypeList ::= InterfaceTypeList .COMMA InterfaceType InterfaceHeaderExtends ::= extends InterfaceTypeList . (305) COMMA Shift 683 abstract Reduce 305 final Reduce 305 native Reduce 305 non-sealed Reduce 305 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1063 private Reduce 305 protected Reduce 305 public Reduce 305 static Reduce 305 strictfp Reduce 305 synchronized Reduce 305 transient Reduce 305 volatile Reduce 305 LBRACE Reduce 305 AT Reduce 305 RestrictedIdentifiersealed Reduce 305 RestrictedIdentifierpermits Reduce 305 $eof Reduce 305 Default reduction to rule 305 STATE 480 ---------------------------------------------------------------------- ( 246 ) TypeParameterList ::= TypeParameterList .COMMA TypeParameter TypeParameterList1 ::= TypeParameterList .COMMA TypeParameter1 COMMA Shift 690 STATE 481 ---------------------------------------------------------------------- ( 246 690 ) TypeParameterHeader ::= TypeAnnotationsopt .Identifier Identifier Sh/Rd 793 STATE 482 ---------------------------------------------------------------------- ( 246 690 ) TypeParameter ::= TypeParameterHeader . (797) TypeParameter ::= TypeParameterHeader .extends ReferenceType TypeParameter ::= TypeParameterHeader .extends ReferenceType AdditionalBoundList TypeParameter1 ::= TypeParameterHeader .GREATER TypeParameter1 ::= TypeParameterHeader .extends ReferenceType1 TypeParameter1 ::= TypeParameterHeader .extends ReferenceType AdditionalBoundList1 GREATER Sh/Rd 805 extends Shift 691 COMMA Reduce 797 Default reduction to rule 797 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1064 STATE 483 ---------------------------------------------------------------------- ( 247 ) InterfaceBody ::= LBRACE InterfaceMemberDeclarationsopt .RBRACE RBRACE Sh/Rd 306 STATE 484 ---------------------------------------------------------------------- ( 247 ) InterfaceMemberDeclarationsopt ::= NestedType .InterfaceMemberDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier Diet ::= . (227) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1065 DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier InterfaceMemberDeclarations ::= .InterfaceMemberDeclarations InterfaceMemberDeclaration InterfaceMemberDeclaration ::= .SEMICOLON InterfaceMemberDeclaration ::= .DefaultMethodHeader MethodBody InterfaceMemberDeclaration ::= .MethodHeader MethodBody InterfaceMemberDeclaration ::= .DefaultMethodHeader SEMICOLON InvalidConstructorDeclaration ::= .ConstructorHeader MethodBody InvalidConstructorDeclaration ::= .ConstructorHeader SEMICOLON RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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:11:53 2021 Page 1066 MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 private Shift 978 protected Shift 978 public Shift 978 static Shift 139 AT Shift 98 SEMICOLON Sh/Rd 309 ConstantDeclaration Goto 692 DefaultMethodHeader Goto 695 MethodHeader Goto 694 AbstractMethodDeclaration Goto 692 InvalidConstructorDeclaration Goto 692 InvalidInitializer Goto 692 ClassDeclaration Goto 692 InterfaceDeclaration Goto 692 EnumDeclaration Goto 692 AnnotationTypeDeclaration Goto 692 RecordDeclaration Goto 692 RecordHeaderName Goto 53 Modifiersopt Goto 150 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 49 EnumHeaderName Goto 46 EnumHeader Goto 47 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 ClassHeaderName Goto 56 ClassHeaderName1 Goto 58 ClassHeader Goto 59 StaticOnly Goto 138 Diet Goto 205 StaticInitializer Goto 692 Initializer Goto 692 ConstructorHeaderName Goto 136 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1067 ConstructorHeader Goto 693 MethodHeaderName Goto 143 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 Modifier Goto 978 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 FieldDeclaration Goto 692 InterfaceMemberDeclaration Goto 692 InterfaceMemberDeclarations Goto 692 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 227 Default reduction to rule 693 STATE 485 ---------------------------------------------------------------------- ( 249 ) RecordHeader ::= LPAREN RecordComponentsopt .RecordComponentHeaderRightParen RecordComponentHeaderRightParen ::= .RPAREN RPAREN Sh/Rd 331 RecordComponentHeaderRightParen Gt/Rd 332 STATE 486 ---------------------------------------------------------------------- ( 249 697 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1068 RecordComponent ::= Modifiersopt .Type VariableDeclaratorId VariableArityRecordComponent ::= Modifiersopt .Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId VariableArityRecordComponent ::= Modifiersopt .Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1069 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 696 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 696 Type Goto 696 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 487 ---------------------------------------------------------------------- ( 249 ) RecordComponentsopt ::= RecordComponents . (334) RecordComponents ::= RecordComponents .COMMA RecordComponent COMMA Shift 697 RPAREN Reduce 334 Default reduction to rule 334 STATE 488 ---------------------------------------------------------------------- ( 250 ) RecordBody ::= LBRACE RecordBodyDeclarationopt .RBRACE RBRACE Sh/Rd 341 STATE 489 ---------------------------------------------------------------------- ( 250 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1070 RecordBodyDeclarationopt ::= RecordBodyDeclarations . (343) RecordBodyDeclarations ::= RecordBodyDeclarations .RecordBodyDeclaration Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (227) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1071 DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier RecordBodyDeclaration ::= .ClassBodyDeclaration RecordBodyDeclaration ::= .CompactConstructorDeclaration CompactConstructorDeclaration ::= .CompactConstructorHeader MethodBody CompactConstructorHeader ::= .CompactConstructorHeaderName MethodHeaderThrowsClauseopt CompactConstructorHeaderName ::= .Modifiersopt Identifier CompactConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier Modifiersopt ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1072 Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 139 private Shift 978 protected Shift 978 public Shift 978 AT Shift 98 SEMICOLON Sh/Rd 237 ClassMemberDeclaration Goto 1010 StaticInitializer Goto 1010 ConstructorDeclaration Goto 1010 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 147 ConstructorHeader Goto 137 StaticOnly Goto 138 Modifier Goto 978 Modifiers Goto 145 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 AbstractMethodDeclaration Goto 1010 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 59 ClassHeaderName1 Goto 58 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1073 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 FieldDeclaration Goto 1010 MethodDeclaration Goto 1010 ClassDeclaration Goto 1010 InterfaceDeclaration Goto 1010 EnumDeclaration Goto 1010 AnnotationTypeDeclaration Goto 1010 RecordDeclaration Goto 1010 CompactConstructorHeader Goto 146 CompactConstructorHeaderName Goto 148 ClassBodyDeclaration Gt/Rd 346 CompactConstructorDeclaration Gt/Rd 347 RecordBodyDeclaration Gt/Rd 345 RBRACE Reduce 343 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 227 Default reduction to rule 693 STATE 490 ---------------------------------------------------------------------- ( 251 ) ClassHeader ::= ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt .ClassHeaderPermittedSubclassesopt ClassHeaderPermittedSubclassesopt ::= . (707) ClassHeaderPermittedSubclasses ::= .RestrictedIdentifierpermits ClassTypeList IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1074 RestrictedIdentifierpermits Shift 698 ClassHeaderPermittedSubclasses Gt/Rd 211 ClassHeaderPermittedSubclassesopt Gt/Rd 211 abstract Reduce 707 final Reduce 707 native Reduce 707 non-sealed Reduce 707 private Reduce 707 protected Reduce 707 public Reduce 707 static Reduce 707 strictfp Reduce 707 synchronized Reduce 707 transient Reduce 707 volatile Reduce 707 LBRACE Reduce 707 AT Reduce 707 RestrictedIdentifiersealed Reduce 707 $eof Reduce 707 Default reduction to rule 707 STATE 491 ---------------------------------------------------------------------- ( 252 ) EnumHeaderName ::= Modifiersopt enum Identifier . (727) EnumHeaderName ::= Modifiersopt enum Identifier .TypeParameters TypeParameters ::= .LESS TypeParameterList1 LESS Shift 246 TypeParameters Gt/Rd 728 abstract Reduce 727 final Reduce 727 implements Reduce 727 native Reduce 727 non-sealed Reduce 727 private Reduce 727 protected Reduce 727 public Reduce 727 static Reduce 727 strictfp Reduce 727 synchronized Reduce 727 transient Reduce 727 volatile Reduce 727 LBRACE Reduce 727 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1075 AT Reduce 727 RestrictedIdentifiersealed Reduce 727 $eof Reduce 727 Default reduction to rule 727 STATE 492 ---------------------------------------------------------------------- ( 256 ) ClassBody ::= LBRACE ClassBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 220 STATE 493 ---------------------------------------------------------------------- ( 256 472 ) ClassBodyDeclarationsopt ::= NestedType .ClassBodyDeclarations Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclarations ::= .ClassBodyDeclaration ClassBodyDeclarations ::= .ClassBodyDeclarations ClassBodyDeclaration ClassBodyDeclaration ::= .ClassMemberDeclaration ClassBodyDeclaration ::= .StaticInitializer ClassBodyDeclaration ::= .ConstructorDeclaration ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (227) ClassMemberDeclaration ::= .FieldDeclaration ClassMemberDeclaration ::= .MethodDeclaration IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1076 ClassMemberDeclaration ::= .ClassDeclaration ClassMemberDeclaration ::= .InterfaceDeclaration ClassMemberDeclaration ::= .EnumDeclaration ClassMemberDeclaration ::= .AnnotationTypeDeclaration ClassMemberDeclaration ::= .RecordDeclaration ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .AbstractMethodDeclaration MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1077 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 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 139 private Shift 978 protected Shift 978 public Shift 978 AT Shift 98 SEMICOLON Sh/Rd 237 ClassMemberDeclaration Goto 1011 StaticInitializer Goto 1011 ConstructorDeclaration Goto 1011 Diet Goto 135 ConstructorHeaderName Goto 136 Modifiersopt Goto 150 ConstructorHeader Goto 137 StaticOnly Goto 138 Modifier Goto 978 Modifiers Goto 145 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 AbstractMethodDeclaration Goto 1011 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1078 MethodHeader Goto 144 DefaultMethodHeader Goto 140 ModifiersWithDefault Goto 141 DefaultMethodHeaderName Goto 142 MethodHeaderName Goto 143 ClassHeader Goto 59 ClassHeaderName1 Goto 58 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 FieldDeclaration Goto 1011 MethodDeclaration Goto 1011 ClassDeclaration Goto 1011 InterfaceDeclaration Goto 1011 EnumDeclaration Goto 1011 AnnotationTypeDeclaration Goto 1011 RecordDeclaration Goto 1011 ClassBodyDeclaration Gt/Rd 221 ClassBodyDeclarations Goto 699 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 227 Default reduction to rule 693 STATE 494 ---------------------------------------------------------------------- ( 257 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1079 TryStatementWithResources ::= try ResourceSpecification TryBlock .Catchesopt TryStatementWithResources ::= try ResourceSpecification TryBlock .Catchesopt Finally Catches ::= .CatchClause Catches ::= .Catches CatchClause CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block Catchesopt ::= . (723) Catchesopt ::= .Catches catch Shift 496 CatchClause Goto 1184 Catches Goto 701 Catchesopt Goto 700 Identifier Reduce 723 abstract Reduce 723 assert Reduce 723 boolean Reduce 723 break Reduce 723 byte Reduce 723 case Reduce 723 char Reduce 723 class Reduce 723 continue Reduce 723 default Reduce 723 do Reduce 723 double Reduce 723 else Reduce 723 enum Reduce 723 false Reduce 723 final Reduce 723 finally Reduce 723 float Reduce 723 for Reduce 723 if Reduce 723 int Reduce 723 interface Reduce 723 long Reduce 723 native Reduce 723 new Reduce 723 non-sealed Reduce 723 null Reduce 723 private Reduce 723 protected Reduce 723 public Reduce 723 return Reduce 723 short Reduce 723 static Reduce 723 strictfp Reduce 723 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1080 super Reduce 723 switch Reduce 723 synchronized Reduce 723 this Reduce 723 throw Reduce 723 transient Reduce 723 true Reduce 723 try Reduce 723 void Reduce 723 volatile Reduce 723 while Reduce 723 IntegerLiteral Reduce 723 LongLiteral Reduce 723 FloatingPointLiteral Reduce 723 DoubleLiteral Reduce 723 CharacterLiteral Reduce 723 StringLiteral Reduce 723 TextBlock Reduce 723 PLUS_PLUS Reduce 723 MINUS_MINUS Reduce 723 LESS Reduce 723 LPAREN Reduce 723 LBRACE Reduce 723 RBRACE Reduce 723 SEMICOLON Reduce 723 AT Reduce 723 BeginLambda Reduce 723 AT308 Reduce 723 RestrictedIdentifierYield Reduce 723 RestrictedIdentifierrecord Reduce 723 RestrictedIdentifiersealed Reduce 723 $eof Reduce 723 Default reduction to rule 723 STATE 495 ---------------------------------------------------------------------- ( 258 ) TryStatement ::= try TryBlock Catchesopt .Finally Finally ::= .finally Block finally Shift 702 Finally Gt/Rd 490 STATE 496 ---------------------------------------------------------------------- ( 258 494 497 701 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1081 CatchClause ::= catch .LPAREN CatchFormalParameter RPAREN Block LPAREN Shift 703 STATE 497 ---------------------------------------------------------------------- ( 258 ) TryStatement ::= try TryBlock Catches . (489) Catches ::= Catches .CatchClause Catchesopt ::= Catches . (724) CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block catch Shift 496 CatchClause Gt/Rd 506 finally Reduce 724 Identifier Reduce 489 abstract Reduce 489 assert Reduce 489 boolean Reduce 489 break Reduce 489 byte Reduce 489 case Reduce 489 char Reduce 489 class Reduce 489 continue Reduce 489 default Reduce 489 do Reduce 489 double Reduce 489 else Reduce 489 enum Reduce 489 false Reduce 489 final Reduce 489 float Reduce 489 for Reduce 489 if Reduce 489 int Reduce 489 interface Reduce 489 long Reduce 489 native Reduce 489 new Reduce 489 non-sealed Reduce 489 null Reduce 489 private Reduce 489 protected Reduce 489 public Reduce 489 return Reduce 489 short Reduce 489 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1082 static Reduce 489 strictfp Reduce 489 super Reduce 489 switch Reduce 489 synchronized Reduce 489 this Reduce 489 throw Reduce 489 transient Reduce 489 true Reduce 489 try Reduce 489 void Reduce 489 volatile Reduce 489 while Reduce 489 IntegerLiteral Reduce 489 LongLiteral Reduce 489 FloatingPointLiteral Reduce 489 DoubleLiteral Reduce 489 CharacterLiteral Reduce 489 StringLiteral Reduce 489 TextBlock Reduce 489 PLUS_PLUS Reduce 489 MINUS_MINUS Reduce 489 LESS Reduce 489 LPAREN Reduce 489 LBRACE Reduce 489 RBRACE Reduce 489 SEMICOLON Reduce 489 AT Reduce 489 BeginLambda Reduce 489 AT308 Reduce 489 RestrictedIdentifierYield Reduce 489 RestrictedIdentifierrecord Reduce 489 RestrictedIdentifiersealed Reduce 489 $eof Reduce 489 Default reduction to rule 489 STATE 498 ---------------------------------------------------------------------- ( 260 ) ResourceSpecification ::= LPAREN Resources .;opt RPAREN Resources ::= Resources .TrailingSemiColon Resource ;opt ::= . (494) ;opt ::= .SEMICOLON TrailingSemiColon ::= .SEMICOLON SEMICOLON Shift 706 ;opt Goto 705 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1083 TrailingSemiColon Goto 704 RPAREN Reduce 494 Default reduction to rule 494 STATE 499 ---------------------------------------------------------------------- ( 260 704 ) 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 320 COLON_COLON Shift 286 STATE 500 ---------------------------------------------------------------------- ( 260 704 ) Resource ::= FieldAccess . (502) PrimaryNoNewArray ::= FieldAccess . (519) LBRACKET Reduce 519 DOT Reduce 511 COLON_COLON Reduce 511 RPAREN Reduce 502 SEMICOLON Reduce 502 Default reduction to rule 519 STATE 501 ---------------------------------------------------------------------- ( 260 704 ) ClassOrInterface ::= Name . (60) ArrayType ::= Name .Dims QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1084 Resource ::= Name . (501) 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 ::= . (697) Dimsopt ::= .Dims LPAREN Shift 305 BeginTypeArguments Shift 306 DOT Shift 318 LBRACKET Shift 309 AT308 Shift 33 Dims Goto 310 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1085 Dimsopt Goto 307 RPAREN Reduce 501 SEMICOLON Reduce 501 Identifier Reduce 60 LESS Reduce 60 COLON_COLON Reduce 697 Default reduction to rule 501 STATE 502 ---------------------------------------------------------------------- ( 260 704 ) 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 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 1086 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 195 volatile Sh/Rd 195 transient Sh/Rd 195 synchronized Sh/Rd 195 RestrictedIdentifiersealed Sh/Rd 195 non-sealed Sh/Rd 195 native Sh/Rd 195 final Sh/Rd 195 abstract Sh/Rd 195 static Sh/Rd 195 private Sh/Rd 195 protected Sh/Rd 195 public Sh/Rd 195 AT Shift 28 Identifier Shift 982 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 707 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 707 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1087 AnnotationName Goto 29 Annotation Gt/Rd 209 Modifier Gt/Rd 195 Type Goto 707 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 503 ---------------------------------------------------------------------- ( 260 704 ) Resource ::= Type .PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization PushModifiers ::= . (391) PushModifiers Goto 708 Identifier Reduce 391 Default reduction to rule 391 STATE 504 ---------------------------------------------------------------------- ( 262 ) SynchronizedStatement ::= OnlySynchronized LPAREN Expression .RPAREN Block RPAREN Shift 709 STATE 505 ---------------------------------------------------------------------- ( 266 ) DoStatement ::= do Statement while .LPAREN Expression RPAREN SEMICOLON LPAREN Shift 710 STATE 506 ---------------------------------------------------------------------- ( 268 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1088 SwitchStatement ::= switch LPAREN Expression .RPAREN OpenBlock SwitchBlock RPAREN Shift 711 STATE 507 ---------------------------------------------------------------------- ( 274 ) LambdaBody ::= ElidedLeftBraceAndReturn .Expression ElidedSemicolonAndRightBrace Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1089 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1090 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:11:53 2021 Page 1091 PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1092 AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1093 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 712 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 508 ---------------------------------------------------------------------- ( 275 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1094 MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 713 STATE 509 ---------------------------------------------------------------------- ( 275 ) FieldAccess ::= QualifiedSuperReceiver DOT Identifier . (590) MethodInvocation ::= QualifiedSuperReceiver DOT Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 714 abstract Reduce 590 final Reduce 590 instanceof Reduce 590 native Reduce 590 non-sealed Reduce 590 private Reduce 590 protected Reduce 590 public Reduce 590 static Reduce 590 strictfp Reduce 590 synchronized Reduce 590 transient Reduce 590 volatile Reduce 590 PLUS_PLUS Reduce 590 MINUS_MINUS Reduce 590 EQUAL_EQUAL Reduce 590 LESS_EQUAL Reduce 590 GREATER_EQUAL Reduce 590 NOT_EQUAL Reduce 590 LEFT_SHIFT Reduce 590 RIGHT_SHIFT Reduce 590 UNSIGNED_RIGHT_SHIFT Reduce 590 PLUS_EQUAL Reduce 590 MINUS_EQUAL Reduce 590 MULTIPLY_EQUAL Reduce 590 DIVIDE_EQUAL Reduce 590 AND_EQUAL Reduce 590 OR_EQUAL Reduce 590 XOR_EQUAL Reduce 590 REMAINDER_EQUAL Reduce 590 LEFT_SHIFT_EQUAL Reduce 590 RIGHT_SHIFT_EQUAL Reduce 590 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 590 OR_OR Reduce 590 AND_AND Reduce 590 PLUS Reduce 590 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1095 MINUS Reduce 590 REMAINDER Reduce 590 XOR Reduce 590 AND Reduce 590 MULTIPLY Reduce 590 OR Reduce 590 DIVIDE Reduce 590 GREATER Reduce 590 LESS Reduce 590 RPAREN Reduce 590 RBRACE Reduce 590 LBRACKET Reduce 590 RBRACKET Reduce 590 SEMICOLON Reduce 590 QUESTION Reduce 590 COLON Reduce 590 COMMA Reduce 590 DOT Reduce 590 EQUAL Reduce 590 AT Reduce 590 COLON_COLON Reduce 590 ElidedSemicolonAndRightBrace Reduce 590 BeginCaseExpr Reduce 590 RestrictedIdentifiersealed Reduce 590 $eof Reduce 590 Default reduction to rule 590 STATE 510 ---------------------------------------------------------------------- ( 276 ) ReferenceExpression ::= QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt .Identifier Identifier Sh/Rd 537 STATE 511 ---------------------------------------------------------------------- ( 277 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (563) EnterInstanceCreationArgumentList Goto 715 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1096 LPAREN Reduce 563 Default reduction to rule 563 STATE 512 ---------------------------------------------------------------------- ( 278 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 716 STATE 513 ---------------------------------------------------------------------- ( 279 ) ArrayCreationWithoutArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs . (575) ArrayCreationWithArrayInitializer ::= new PrimitiveType DimWithOrWithOutExprs .ArrayInitializer DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET LBRACE Shift 133 AT308 Shift 33 TypeAnnotations Goto 514 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1097 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 514 ArrayInitializer Gt/Rd 576 DimWithOrWithOutExpr Gt/Rd 580 abstract Reduce 575 final Reduce 575 instanceof Reduce 575 native Reduce 575 non-sealed 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 575 MINUS_MINUS Reduce 575 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 PLUS_EQUAL Reduce 575 MINUS_EQUAL Reduce 575 MULTIPLY_EQUAL Reduce 575 DIVIDE_EQUAL Reduce 575 AND_EQUAL Reduce 575 OR_EQUAL Reduce 575 XOR_EQUAL Reduce 575 REMAINDER_EQUAL Reduce 575 LEFT_SHIFT_EQUAL Reduce 575 RIGHT_SHIFT_EQUAL Reduce 575 UNSIGNED_RIGHT_SHIFT_EQUAL 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1098 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 575 EQUAL Reduce 575 AT Reduce 575 COLON_COLON Reduce 575 ElidedSemicolonAndRightBrace Reduce 575 BeginCaseExpr Reduce 575 RestrictedIdentifiersealed Reduce 575 $eof Reduce 575 LBRACKET Reduce 78 Default reduction to rule 575 STATE 514 ---------------------------------------------------------------------- ( 279 282 421 423 513 517 653 655 ) DimWithOrWithOutExpr ::= TypeAnnotationsopt .LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= TypeAnnotationsopt .LBRACKET RBRACKET LBRACKET Shift 717 STATE 515 ---------------------------------------------------------------------- ( 280 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt LPAREN Shift 718 STATE 516 ---------------------------------------------------------------------- ( 281 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (563) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1099 EnterInstanceCreationArgumentList Goto 719 LPAREN Reduce 563 Default reduction to rule 563 STATE 517 ---------------------------------------------------------------------- ( 282 ) ArrayCreationWithoutArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs . (577) ArrayCreationWithArrayInitializer ::= new ClassOrInterfaceType DimWithOrWithOutExprs .ArrayInitializer DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET LBRACE Shift 133 AT308 Shift 33 TypeAnnotations Goto 514 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 514 ArrayInitializer Gt/Rd 578 DimWithOrWithOutExpr Gt/Rd 580 abstract Reduce 577 final Reduce 577 instanceof Reduce 577 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1100 native Reduce 577 non-sealed Reduce 577 private Reduce 577 protected Reduce 577 public Reduce 577 static Reduce 577 strictfp Reduce 577 synchronized Reduce 577 transient Reduce 577 volatile Reduce 577 PLUS_PLUS Reduce 577 MINUS_MINUS Reduce 577 EQUAL_EQUAL Reduce 577 LESS_EQUAL Reduce 577 GREATER_EQUAL Reduce 577 NOT_EQUAL Reduce 577 LEFT_SHIFT Reduce 577 RIGHT_SHIFT Reduce 577 UNSIGNED_RIGHT_SHIFT Reduce 577 PLUS_EQUAL Reduce 577 MINUS_EQUAL Reduce 577 MULTIPLY_EQUAL Reduce 577 DIVIDE_EQUAL Reduce 577 AND_EQUAL Reduce 577 OR_EQUAL Reduce 577 XOR_EQUAL Reduce 577 REMAINDER_EQUAL Reduce 577 LEFT_SHIFT_EQUAL Reduce 577 RIGHT_SHIFT_EQUAL Reduce 577 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 577 OR_OR Reduce 577 AND_AND Reduce 577 PLUS Reduce 577 MINUS Reduce 577 REMAINDER Reduce 577 XOR Reduce 577 AND Reduce 577 MULTIPLY Reduce 577 OR Reduce 577 DIVIDE Reduce 577 GREATER Reduce 577 LESS Reduce 577 RPAREN Reduce 577 RBRACE Reduce 577 RBRACKET Reduce 577 SEMICOLON Reduce 577 QUESTION Reduce 577 COLON Reduce 577 COMMA Reduce 577 DOT Reduce 577 EQUAL Reduce 577 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1101 AT Reduce 577 COLON_COLON Reduce 577 ElidedSemicolonAndRightBrace Reduce 577 BeginCaseExpr Reduce 577 RestrictedIdentifiersealed Reduce 577 $eof Reduce 577 LBRACKET Reduce 78 Default reduction to rule 577 STATE 518 ---------------------------------------------------------------------- ( 283 ) ArrayAccess ::= ArrayCreationWithArrayInitializer LBRACKET Expression . RBRACKET RBRACKET Sh/Rd 601 STATE 519 ---------------------------------------------------------------------- ( 284 ) ArrayAccess ::= PrimaryNoNewArray LBRACKET Expression .RBRACKET RBRACKET Sh/Rd 600 STATE 520 ---------------------------------------------------------------------- ( 286 ) ReferenceExpression ::= Primary COLON_COLON NonWildTypeArgumentsopt . Identifier Identifier Sh/Rd 536 STATE 521 ---------------------------------------------------------------------- ( 287 320 ) FieldAccess ::= Primary DOT Identifier . (588) MethodInvocation ::= Primary DOT Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 720 abstract Reduce 588 final Reduce 588 instanceof Reduce 588 native Reduce 588 non-sealed Reduce 588 private Reduce 588 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1102 protected Reduce 588 public Reduce 588 static Reduce 588 strictfp Reduce 588 synchronized Reduce 588 transient Reduce 588 volatile Reduce 588 PLUS_PLUS Reduce 588 MINUS_MINUS Reduce 588 EQUAL_EQUAL Reduce 588 LESS_EQUAL Reduce 588 GREATER_EQUAL Reduce 588 NOT_EQUAL Reduce 588 LEFT_SHIFT Reduce 588 RIGHT_SHIFT Reduce 588 UNSIGNED_RIGHT_SHIFT Reduce 588 PLUS_EQUAL Reduce 588 MINUS_EQUAL Reduce 588 MULTIPLY_EQUAL Reduce 588 DIVIDE_EQUAL Reduce 588 AND_EQUAL Reduce 588 OR_EQUAL Reduce 588 XOR_EQUAL Reduce 588 REMAINDER_EQUAL Reduce 588 LEFT_SHIFT_EQUAL Reduce 588 RIGHT_SHIFT_EQUAL Reduce 588 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 588 OR_OR Reduce 588 AND_AND Reduce 588 PLUS Reduce 588 MINUS Reduce 588 REMAINDER Reduce 588 XOR Reduce 588 AND Reduce 588 MULTIPLY Reduce 588 OR Reduce 588 DIVIDE Reduce 588 GREATER Reduce 588 LESS Reduce 588 RPAREN Reduce 588 RBRACE Reduce 588 LBRACKET Reduce 588 RBRACKET Reduce 588 SEMICOLON Reduce 588 QUESTION Reduce 588 COLON Reduce 588 COMMA Reduce 588 DOT Reduce 588 EQUAL Reduce 588 AT Reduce 588 COLON_COLON Reduce 588 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1103 ElidedSemicolonAndRightBrace Reduce 588 BeginCaseExpr Reduce 588 RestrictedIdentifiersealed Reduce 588 $eof Reduce 588 Default reduction to rule 588 STATE 522 ---------------------------------------------------------------------- ( 287 320 ) 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 982 AT308 Shift 33 LESS Shift 40 ClassOrInterface Goto 36 GenericType Goto 37 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1104 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 721 OnlyTypeArguments Goto 722 ClassType Goto 721 STATE 523 ---------------------------------------------------------------------- ( 287 ) ExplicitConstructorInvocation ::= Primary DOT this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 723 STATE 524 ---------------------------------------------------------------------- ( 287 ) 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 724 this Shift 725 super Shift 726 STATE 525 ---------------------------------------------------------------------- ( 287 ) ExplicitConstructorInvocation ::= Primary DOT super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 727 STATE 526 ---------------------------------------------------------------------- ( 288 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1105 MethodInvocation ::= super DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 728 STATE 527 ---------------------------------------------------------------------- ( 288 ) FieldAccess ::= super DOT Identifier . (589) MethodInvocation ::= super DOT Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 729 abstract Reduce 589 final Reduce 589 instanceof Reduce 589 native Reduce 589 non-sealed 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 PLUS_PLUS Reduce 589 MINUS_MINUS Reduce 589 EQUAL_EQUAL Reduce 589 LESS_EQUAL Reduce 589 GREATER_EQUAL Reduce 589 NOT_EQUAL Reduce 589 LEFT_SHIFT Reduce 589 RIGHT_SHIFT Reduce 589 UNSIGNED_RIGHT_SHIFT Reduce 589 PLUS_EQUAL Reduce 589 MINUS_EQUAL Reduce 589 MULTIPLY_EQUAL Reduce 589 DIVIDE_EQUAL Reduce 589 AND_EQUAL Reduce 589 OR_EQUAL Reduce 589 XOR_EQUAL Reduce 589 REMAINDER_EQUAL Reduce 589 LEFT_SHIFT_EQUAL Reduce 589 RIGHT_SHIFT_EQUAL Reduce 589 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 589 OR_OR Reduce 589 AND_AND Reduce 589 PLUS Reduce 589 MINUS Reduce 589 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1106 REMAINDER Reduce 589 XOR Reduce 589 AND Reduce 589 MULTIPLY Reduce 589 OR Reduce 589 DIVIDE Reduce 589 GREATER Reduce 589 LESS Reduce 589 RPAREN Reduce 589 RBRACE Reduce 589 LBRACKET Reduce 589 RBRACKET Reduce 589 SEMICOLON Reduce 589 QUESTION Reduce 589 COLON Reduce 589 COMMA Reduce 589 DOT Reduce 589 EQUAL Reduce 589 AT Reduce 589 COLON_COLON Reduce 589 ElidedSemicolonAndRightBrace Reduce 589 BeginCaseExpr Reduce 589 RestrictedIdentifiersealed Reduce 589 $eof Reduce 589 Default reduction to rule 589 STATE 528 ---------------------------------------------------------------------- ( 289 ) ReferenceExpression ::= super COLON_COLON NonWildTypeArgumentsopt .Identifier Identifier Sh/Rd 538 STATE 529 ---------------------------------------------------------------------- ( 290 ) ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 730 STATE 530 ---------------------------------------------------------------------- ( 290 293 305 531 532 649 654 714 716 718 720 723 727 729 749 753 816 818 822 827 828 829 831 849 850 851 885 929 ) ArgumentList ::= ArgumentList .COMMA Expression ArgumentListopt ::= ArgumentList . (700) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1107 COMMA Shift 731 RPAREN Reduce 700 Default reduction to rule 700 STATE 531 ---------------------------------------------------------------------- ( 291 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1108 PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1109 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1110 UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1111 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1112 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 732 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1113 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 532 ---------------------------------------------------------------------- ( 292 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1114 PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1115 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1116 UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1117 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1118 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 733 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1119 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 533 ---------------------------------------------------------------------- ( 293 ) ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 734 STATE 534 ---------------------------------------------------------------------- ( 294 ) Block ::= OpenBlock LBRACE BlockStatementsopt .RBRACE RBRACE Sh/Rd 374 STATE 535 ---------------------------------------------------------------------- ( 295 ) AssertStatement ::= assert Expression COLON .Expression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1120 TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1121 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1122 ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1123 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1124 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1125 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 735 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 536 ---------------------------------------------------------------------- ( 297 ) IfThenStatement ::= if LPAREN Expression .RPAREN Statement IfThenElseStatement ::= if LPAREN Expression .RPAREN StatementNoShortIf else Statement RPAREN Shift 736 STATE 537 ---------------------------------------------------------------------- ( 298 ) WhileStatement ::= while LPAREN Expression .RPAREN Statement RPAREN Shift 737 STATE 538 ---------------------------------------------------------------------- ( 299 ) ForStatement ::= for LPAREN ForInitopt .SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement SEMICOLON Shift 738 STATE 539 ---------------------------------------------------------------------- ( 299 894 ) LocalVariableDeclaration ::= Type .PushModifiers VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Type .PushModifiers Identifier Dimsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1126 PushModifiers ::= . (391) PushModifiers Goto 739 Identifier Reduce 391 Default reduction to rule 391 STATE 540 ---------------------------------------------------------------------- ( 299 894 ) Modifiers ::= Modifiers .Modifier 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 ::= . (78) TypeAnnotationsopt ::= .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:11:53 2021 Page 1127 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 195 volatile Sh/Rd 195 transient Sh/Rd 195 synchronized Sh/Rd 195 RestrictedIdentifiersealed Sh/Rd 195 non-sealed Sh/Rd 195 native Sh/Rd 195 final Sh/Rd 195 abstract Sh/Rd 195 static Sh/Rd 195 private Sh/Rd 195 protected Sh/Rd 195 public Sh/Rd 195 AT Shift 28 Identifier Shift 982 AT308 Shift 33 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 740 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 740 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1128 Annotation Gt/Rd 209 Modifier Gt/Rd 195 Type Goto 740 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 541 ---------------------------------------------------------------------- ( 299 570 894 ) ClassOrInterface ::= Name . (60) 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 . (603) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 1129 Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) Dimsopt ::= .Dims LPAREN Shift 305 BeginTypeArguments Shift 306 DOT Shift 318 LBRACKET Shift 309 AT308 Shift 33 Dims Goto 310 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dimsopt Goto 307 instanceof Reduce 603 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 EQUAL_EQUAL Reduce 603 LESS_EQUAL Reduce 603 GREATER_EQUAL Reduce 603 NOT_EQUAL Reduce 603 LEFT_SHIFT Reduce 603 RIGHT_SHIFT Reduce 603 UNSIGNED_RIGHT_SHIFT Reduce 603 PLUS_EQUAL Reduce 603 MINUS_EQUAL Reduce 603 MULTIPLY_EQUAL Reduce 603 DIVIDE_EQUAL Reduce 603 AND_EQUAL Reduce 603 OR_EQUAL Reduce 603 XOR_EQUAL Reduce 603 REMAINDER_EQUAL Reduce 603 LEFT_SHIFT_EQUAL Reduce 603 RIGHT_SHIFT_EQUAL Reduce 603 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 603 OR_OR Reduce 603 AND_AND Reduce 603 PLUS Reduce 603 MINUS Reduce 603 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1130 REMAINDER Reduce 603 XOR Reduce 603 AND Reduce 603 MULTIPLY Reduce 603 OR Reduce 603 DIVIDE Reduce 603 RPAREN Reduce 603 QUESTION Reduce 603 EQUAL Reduce 603 Identifier Reduce 60 GREATER Reduce 60 LESS Reduce 60 COMMA Reduce 60 COLON_COLON Reduce 697 Default reduction to rule 603 STATE 542 ---------------------------------------------------------------------- ( 299 894 ) ForInit ::= StatementExpressionList . (473) StatementExpressionList ::= StatementExpressionList .COMMA StatementExpression COMMA Shift 741 SEMICOLON Reduce 473 Default reduction to rule 473 STATE 543 ---------------------------------------------------------------------- ( 300 ) EnhancedForStatementHeader ::= EnhancedForStatementHeaderInit COLON Expression .RPAREN RPAREN Sh/Rd 749 STATE 544 ---------------------------------------------------------------------- ( 301 739 ) VariableDeclarators ::= VariableDeclarators .COMMA VariableDeclarator LocalVariableDeclaration ::= Type PushModifiers VariableDeclarators . (389) COMMA Shift 742 SEMICOLON Reduce 389 Default reduction to rule 389 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1131 STATE 545 ---------------------------------------------------------------------- ( 301 415 548 696 708 742 781 812 874 916 ) VariableDeclaratorId ::= Identifier .Dimsopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) LBRACKET Shift 228 AT308 Shift 33 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Gt/Rd 250 Dimsopt Gt/Rd 250 RPAREN Reduce 697 SEMICOLON Reduce 697 COMMA Reduce 697 EQUAL Reduce 697 Default reduction to rule 697 STATE 546 ---------------------------------------------------------------------- ( 301 357 365 415 425 548 739 742 844 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1132 VariableDeclarator ::= VariableDeclaratorId .EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= VariableDeclaratorId .EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EnterVariable ::= . (245) EnterVariable Goto 743 SEMICOLON Reduce 245 COMMA Reduce 245 EQUAL Reduce 245 Default reduction to rule 245 STATE 547 ---------------------------------------------------------------------- ( 302 ) AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface . Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface . Identifier Identifier Shift 744 STATE 548 ---------------------------------------------------------------------- ( 303 ) 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 545 VariableDeclaratorId Goto 546 VariableDeclarator Goto 745 VariableDeclarators Goto 745 STATE 549 ---------------------------------------------------------------------- ( 304 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1133 AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers . interface Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers . interface Identifier TypeParameters interface Shift 746 STATE 550 ---------------------------------------------------------------------- ( 305 ) MethodInvocation ::= Name LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 591 STATE 551 ---------------------------------------------------------------------- ( 306 ) ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew COLON_COLON Shift 747 STATE 552 ---------------------------------------------------------------------- ( 307 ) ReferenceExpression ::= Name Dimsopt COLON_COLON .NonWildTypeArgumentsopt IdentifierOrNew NonWildTypeArgumentsopt ::= . (539) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 40 OnlyTypeArguments Goto 748 NonWildTypeArgumentsopt Goto 748 Identifier Reduce 539 new Reduce 539 Default reduction to rule 539 STATE 553 ---------------------------------------------------------------------- ( 308 ) ExplicitConstructorInvocation ::= Name DOT this .LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1134 PrimaryNoNewArray ::= Name DOT this . (520) LPAREN Shift 749 PLUS_PLUS Reduce 520 MINUS_MINUS Reduce 520 PLUS_EQUAL Reduce 520 MINUS_EQUAL Reduce 520 MULTIPLY_EQUAL Reduce 520 DIVIDE_EQUAL Reduce 520 AND_EQUAL Reduce 520 OR_EQUAL Reduce 520 XOR_EQUAL Reduce 520 REMAINDER_EQUAL Reduce 520 LEFT_SHIFT_EQUAL Reduce 520 RIGHT_SHIFT_EQUAL Reduce 520 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 520 LBRACKET Reduce 520 DOT Reduce 520 EQUAL Reduce 520 COLON_COLON Reduce 520 Default reduction to rule 520 STATE 554 ---------------------------------------------------------------------- ( 308 ) 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 750 this Shift 751 super Shift 752 STATE 555 ---------------------------------------------------------------------- ( 308 ) ExplicitConstructorInvocation ::= Name DOT super .LPAREN ArgumentListopt RPAREN SEMICOLON QualifiedSuperReceiver ::= Name DOT super . (521) LPAREN Shift 753 DOT Reduce 521 COLON_COLON Reduce 521 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1135 Default reduction to rule 521 STATE 556 ---------------------------------------------------------------------- ( 309 ) ArrayAccess ::= Name LBRACKET Expression .RBRACKET RBRACKET Sh/Rd 599 STATE 557 ---------------------------------------------------------------------- ( 310 319 569 ) PrimaryNoNewArray ::= Name Dims DOT .class class Sh/Rd 523 STATE 558 ---------------------------------------------------------------------- ( 311 ) ClassOrInterface ::= GenericType DOT Name . (61) ArrayTypeWithTypeArgumentsName ::= GenericType DOT Name . (64) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName DOT Shift 219 LBRACKET Reduce 64 AT308 Reduce 64 Identifier Reduce 61 abstract Reduce 61 final Reduce 61 instanceof Reduce 61 native Reduce 61 non-sealed Reduce 61 private Reduce 61 protected Reduce 61 public Reduce 61 static Reduce 61 strictfp Reduce 61 synchronized Reduce 61 this Reduce 61 transient Reduce 61 volatile Reduce 61 EQUAL_EQUAL Reduce 61 NOT_EQUAL Reduce 61 RIGHT_SHIFT Reduce 61 UNSIGNED_RIGHT_SHIFT Reduce 61 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1136 OR_OR Reduce 61 AND_AND Reduce 61 XOR Reduce 61 AND Reduce 61 OR Reduce 61 GREATER Reduce 61 LESS Reduce 61 RPAREN Reduce 61 RBRACE Reduce 61 RBRACKET Reduce 61 SEMICOLON Reduce 61 QUESTION Reduce 61 COLON Reduce 61 COMMA Reduce 61 AT Reduce 61 ELLIPSIS Reduce 61 ElidedSemicolonAndRightBrace Reduce 61 AT308DOTDOTDOT Reduce 61 BeginCaseExpr Reduce 61 RestrictedIdentifiersealed Reduce 61 $eof Reduce 61 Default reduction to rule 61 STATE 559 ---------------------------------------------------------------------- ( 313 317 566 ) ReferenceExpression ::= PrimitiveType Dims COLON_COLON . NonWildTypeArgumentsopt IdentifierOrNew NonWildTypeArgumentsopt ::= . (539) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 40 OnlyTypeArguments Goto 754 NonWildTypeArgumentsopt Goto 754 Identifier Reduce 539 new Reduce 539 Default reduction to rule 539 STATE 560 ---------------------------------------------------------------------- ( 313 317 566 ) PrimaryNoNewArray ::= PrimitiveType Dims DOT .class class Sh/Rd 524 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1137 STATE 561 ---------------------------------------------------------------------- ( 316 ) SwitchExpression ::= switch LPAREN Expression .RPAREN OpenBlock SwitchBlock RPAREN Shift 755 STATE 562 ---------------------------------------------------------------------- ( 318 ) MethodInvocation ::= Name DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 750 STATE 563 ---------------------------------------------------------------------- ( 320 ) MethodInvocation ::= Primary DOT OnlyTypeArguments .Identifier LPAREN ArgumentListopt RPAREN Identifier Shift 724 STATE 564 ---------------------------------------------------------------------- ( 321 ) CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds . PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 510 PushRPAREN Goto 756 STATE 565 ---------------------------------------------------------------------- ( 322 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt .AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression AdditionalBoundsListOpt ::= . (626) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1138 AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 463 AdditionalBound Goto 1185 AdditionalBoundList Goto 758 AdditionalBoundsListOpt Goto 757 RPAREN Reduce 626 Default reduction to rule 626 STATE 566 ---------------------------------------------------------------------- ( 322 ) PrimaryNoNewArray ::= PrimitiveType Dims .DOT class ReferenceExpression ::= PrimitiveType Dims .COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew Dimsopt ::= Dims . (698) COLON_COLON Shift 559 DOT Shift 560 AND Reduce 698 RPAREN Reduce 698 Default reduction to rule 698 STATE 567 ---------------------------------------------------------------------- ( 323 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression .Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression .DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1139 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) DOT Shift 759 AT308 Shift 33 LBRACKET Shift 228 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Goto 760 Dimsopt Goto 760 AND Reduce 697 RPAREN Reduce 697 Default reduction to rule 697 STATE 568 ---------------------------------------------------------------------- ( 323 ) PrimaryNoNewArray ::= PushLPAREN Name PushRPAREN . (517) CastExpression ::= PushLPAREN Name PushRPAREN .InsideCastExpressionLL1 UnaryExpressionNotPlusMinus InsideCastExpressionLL1 ::= . (632) InsideCastExpressionLL1 Goto 761 abstract Reduce 517 final Reduce 517 instanceof Reduce 517 native Reduce 517 non-sealed Reduce 517 private Reduce 517 protected Reduce 517 public Reduce 517 static Reduce 517 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1140 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 LBRACKET Reduce 517 RBRACKET Reduce 517 SEMICOLON Reduce 517 QUESTION Reduce 517 COLON Reduce 517 COMMA Reduce 517 DOT Reduce 517 EQUAL Reduce 517 AT Reduce 517 COLON_COLON Reduce 517 ElidedSemicolonAndRightBrace Reduce 517 BeginCaseExpr Reduce 517 RestrictedIdentifiersealed Reduce 517 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1141 $eof Reduce 517 Identifier Reduce 632 boolean Reduce 632 byte Reduce 632 char Reduce 632 double Reduce 632 false Reduce 632 float Reduce 632 int Reduce 632 long Reduce 632 new Reduce 632 null Reduce 632 short Reduce 632 super Reduce 632 switch Reduce 632 this Reduce 632 true Reduce 632 void Reduce 632 IntegerLiteral Reduce 632 LongLiteral Reduce 632 FloatingPointLiteral Reduce 632 DoubleLiteral Reduce 632 CharacterLiteral Reduce 632 StringLiteral Reduce 632 TextBlock Reduce 632 NOT Reduce 632 TWIDDLE Reduce 632 LPAREN Reduce 632 BeginLambda Reduce 632 BeginIntersectionCast Reduce 632 AT308 Reduce 632 Default reduction to rule 517 STATE 569 ---------------------------------------------------------------------- ( 323 ) PrimaryNoNewArray ::= Name Dims .DOT class CastExpression ::= PushLPAREN Name Dims .AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus Dimsopt ::= Dims . (698) AdditionalBoundsListOpt ::= . (626) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType DOT Shift 557 AND Shift 463 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1142 AdditionalBound Goto 1185 AdditionalBoundList Goto 758 AdditionalBoundsListOpt Goto 762 COLON_COLON Reduce 698 RPAREN Reduce 626 Default reduction to rule 698 STATE 570 ---------------------------------------------------------------------- ( 323 ) OnlyTypeArguments ::= LESS .TypeArgumentList1 RelationalExpression_NotName ::= Name LESS .ShiftExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1143 TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 1144 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1145 PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression TypeArgumentList1 ::= .TypeArgumentList COMMA TypeArgument1 TypeArgumentList ::= .TypeArgumentList COMMA TypeArgument TypeArgument ::= .ReferenceType ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 Wildcard ::= .TypeAnnotationsopt QUESTION Wildcard ::= .TypeAnnotationsopt QUESTION WildcardBounds IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1146 Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1115 true Shift 1115 null Shift 1115 TextBlock Shift 1115 StringLiteral Shift 1115 CharacterLiteral Shift 1115 DoubleLiteral Shift 1115 FloatingPointLiteral Shift 1115 LongLiteral Shift 1115 IntegerLiteral Shift 1115 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 1116 PreDecrementExpression Goto 1116 UnaryExpressionNotPlusMinus Goto 1116 Primary Goto 116 Name Goto 541 PostIncrementExpression Goto 1125 PostDecrementExpression Goto 1124 PostfixExpression Goto 447 Literal Goto 1115 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1123 FieldAccess Goto 1122 PrimitiveType Goto 763 MethodInvocation Goto 1121 ArrayAccess Goto 1120 LambdaExpression Goto 1119 ReferenceExpression Goto 1118 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1147 ArrayCreationWithArrayInitializer Goto 80 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1115 ArrayCreationWithoutArrayInitializer Goto 1117 SwitchExpression Goto 1116 CastExpression Goto 1116 UnaryExpression Goto 1116 ShiftExpression Goto 638 ReferenceType1 Gt/Rd 755 Wildcard1 Gt/Rd 755 TypeAnnotationsopt Goto 225 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 1022 TypeAnnotations Goto 104 GenericType Goto 105 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 223 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 995 ReferenceType Goto 222 TypeArgument Goto 221 TypeArgumentList Goto 221 Wildcard Goto 221 TypeArgument1 Gt/Rd 755 TypeArgumentList1 Gt/Rd 755 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 QUESTION Reduce 78 Default reduction to rule 78 STATE 571 ---------------------------------------------------------------------- ( 329 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1148 ShiftExpression ::= ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression . (645) MINUS Shift 332 PLUS Shift 333 abstract Reduce 645 final Reduce 645 instanceof Reduce 645 native Reduce 645 non-sealed 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 EQUAL_EQUAL Reduce 645 LESS_EQUAL Reduce 645 GREATER_EQUAL Reduce 645 NOT_EQUAL Reduce 645 LEFT_SHIFT Reduce 645 RIGHT_SHIFT Reduce 645 UNSIGNED_RIGHT_SHIFT Reduce 645 OR_OR Reduce 645 AND_AND Reduce 645 XOR Reduce 645 AND Reduce 645 OR Reduce 645 GREATER Reduce 645 LESS Reduce 645 RPAREN Reduce 645 RBRACE Reduce 645 RBRACKET Reduce 645 SEMICOLON Reduce 645 QUESTION Reduce 645 COLON Reduce 645 COMMA Reduce 645 AT Reduce 645 ElidedSemicolonAndRightBrace Reduce 645 BeginCaseExpr Reduce 645 RestrictedIdentifiersealed Reduce 645 $eof Reduce 645 Default reduction to rule 645 STATE 572 ---------------------------------------------------------------------- ( 330 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1149 AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= ShiftExpression RIGHT_SHIFT AdditiveExpression . (644) MINUS Shift 332 PLUS Shift 333 abstract Reduce 644 final Reduce 644 instanceof Reduce 644 native Reduce 644 non-sealed Reduce 644 private Reduce 644 protected Reduce 644 public Reduce 644 static Reduce 644 strictfp Reduce 644 synchronized Reduce 644 transient Reduce 644 volatile Reduce 644 EQUAL_EQUAL Reduce 644 LESS_EQUAL Reduce 644 GREATER_EQUAL Reduce 644 NOT_EQUAL Reduce 644 LEFT_SHIFT Reduce 644 RIGHT_SHIFT Reduce 644 UNSIGNED_RIGHT_SHIFT Reduce 644 OR_OR Reduce 644 AND_AND Reduce 644 XOR Reduce 644 AND Reduce 644 OR Reduce 644 GREATER Reduce 644 LESS Reduce 644 RPAREN Reduce 644 RBRACE Reduce 644 RBRACKET Reduce 644 SEMICOLON Reduce 644 QUESTION Reduce 644 COLON Reduce 644 COMMA Reduce 644 AT Reduce 644 ElidedSemicolonAndRightBrace Reduce 644 BeginCaseExpr Reduce 644 RestrictedIdentifiersealed Reduce 644 $eof Reduce 644 Default reduction to rule 644 STATE 573 ---------------------------------------------------------------------- ( 331 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1150 AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression ::= ShiftExpression LEFT_SHIFT AdditiveExpression . (643) MINUS Shift 332 PLUS Shift 333 abstract Reduce 643 final Reduce 643 instanceof Reduce 643 native Reduce 643 non-sealed Reduce 643 private Reduce 643 protected Reduce 643 public Reduce 643 static Reduce 643 strictfp Reduce 643 synchronized Reduce 643 transient Reduce 643 volatile Reduce 643 EQUAL_EQUAL Reduce 643 LESS_EQUAL Reduce 643 GREATER_EQUAL Reduce 643 NOT_EQUAL Reduce 643 LEFT_SHIFT Reduce 643 RIGHT_SHIFT Reduce 643 UNSIGNED_RIGHT_SHIFT Reduce 643 OR_OR Reduce 643 AND_AND Reduce 643 XOR Reduce 643 AND Reduce 643 OR Reduce 643 GREATER Reduce 643 LESS Reduce 643 RPAREN Reduce 643 RBRACE Reduce 643 RBRACKET Reduce 643 SEMICOLON Reduce 643 QUESTION Reduce 643 COLON Reduce 643 COMMA Reduce 643 AT Reduce 643 ElidedSemicolonAndRightBrace Reduce 643 BeginCaseExpr Reduce 643 RestrictedIdentifiersealed Reduce 643 $eof Reduce 643 Default reduction to rule 643 STATE 574 ---------------------------------------------------------------------- ( 332 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1151 MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression ::= AdditiveExpression MINUS MultiplicativeExpression . (641) REMAINDER Shift 326 DIVIDE Shift 327 MULTIPLY Shift 328 abstract Reduce 641 final Reduce 641 instanceof Reduce 641 native Reduce 641 non-sealed Reduce 641 private Reduce 641 protected Reduce 641 public Reduce 641 static Reduce 641 strictfp Reduce 641 synchronized Reduce 641 transient Reduce 641 volatile Reduce 641 EQUAL_EQUAL Reduce 641 LESS_EQUAL Reduce 641 GREATER_EQUAL Reduce 641 NOT_EQUAL Reduce 641 LEFT_SHIFT Reduce 641 RIGHT_SHIFT Reduce 641 UNSIGNED_RIGHT_SHIFT Reduce 641 OR_OR Reduce 641 AND_AND Reduce 641 PLUS Reduce 641 MINUS Reduce 641 XOR Reduce 641 AND Reduce 641 OR Reduce 641 GREATER Reduce 641 LESS Reduce 641 RPAREN Reduce 641 RBRACE Reduce 641 RBRACKET Reduce 641 SEMICOLON Reduce 641 QUESTION Reduce 641 COLON Reduce 641 COMMA Reduce 641 AT Reduce 641 ElidedSemicolonAndRightBrace Reduce 641 BeginCaseExpr Reduce 641 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1152 RestrictedIdentifiersealed Reduce 641 $eof Reduce 641 Default reduction to rule 641 STATE 575 ---------------------------------------------------------------------- ( 333 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression ::= AdditiveExpression PLUS MultiplicativeExpression . (640) REMAINDER Shift 326 DIVIDE Shift 327 MULTIPLY Shift 328 abstract Reduce 640 final Reduce 640 instanceof Reduce 640 native Reduce 640 non-sealed Reduce 640 private Reduce 640 protected Reduce 640 public Reduce 640 static Reduce 640 strictfp Reduce 640 synchronized Reduce 640 transient Reduce 640 volatile Reduce 640 EQUAL_EQUAL Reduce 640 LESS_EQUAL Reduce 640 GREATER_EQUAL Reduce 640 NOT_EQUAL Reduce 640 LEFT_SHIFT Reduce 640 RIGHT_SHIFT Reduce 640 UNSIGNED_RIGHT_SHIFT Reduce 640 OR_OR Reduce 640 AND_AND Reduce 640 PLUS Reduce 640 MINUS Reduce 640 XOR Reduce 640 AND Reduce 640 OR Reduce 640 GREATER Reduce 640 LESS Reduce 640 RPAREN Reduce 640 RBRACE Reduce 640 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1153 RBRACKET Reduce 640 SEMICOLON Reduce 640 QUESTION Reduce 640 COLON Reduce 640 COMMA Reduce 640 AT Reduce 640 ElidedSemicolonAndRightBrace Reduce 640 BeginCaseExpr Reduce 640 RestrictedIdentifiersealed Reduce 640 $eof Reduce 640 Default reduction to rule 640 STATE 576 ---------------------------------------------------------------------- ( 334 ) InstanceofClassic ::= instanceof Modifiersopt .Type InstanceofPrimaryTypePattern ::= instanceof Modifiersopt .Type Identifier Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 1154 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 764 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 764 Type Goto 764 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 577 ---------------------------------------------------------------------- ( 335 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression GREATER_EQUAL ShiftExpression . (650) UNSIGNED_RIGHT_SHIFT Shift 329 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1155 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 650 final Reduce 650 instanceof Reduce 650 native Reduce 650 non-sealed Reduce 650 private Reduce 650 protected Reduce 650 public Reduce 650 static Reduce 650 strictfp Reduce 650 synchronized Reduce 650 transient Reduce 650 volatile Reduce 650 EQUAL_EQUAL Reduce 650 LESS_EQUAL Reduce 650 GREATER_EQUAL Reduce 650 NOT_EQUAL Reduce 650 OR_OR Reduce 650 AND_AND Reduce 650 XOR Reduce 650 AND Reduce 650 OR Reduce 650 GREATER Reduce 650 LESS Reduce 650 RPAREN Reduce 650 RBRACE Reduce 650 RBRACKET Reduce 650 SEMICOLON Reduce 650 QUESTION Reduce 650 COLON Reduce 650 COMMA Reduce 650 AT Reduce 650 ElidedSemicolonAndRightBrace Reduce 650 BeginCaseExpr Reduce 650 RestrictedIdentifiersealed Reduce 650 $eof Reduce 650 Default reduction to rule 650 STATE 578 ---------------------------------------------------------------------- ( 336 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression LESS_EQUAL ShiftExpression . (649) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1156 UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 649 final Reduce 649 instanceof Reduce 649 native Reduce 649 non-sealed 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 EQUAL_EQUAL Reduce 649 LESS_EQUAL Reduce 649 GREATER_EQUAL Reduce 649 NOT_EQUAL Reduce 649 OR_OR Reduce 649 AND_AND Reduce 649 XOR Reduce 649 AND Reduce 649 OR Reduce 649 GREATER Reduce 649 LESS Reduce 649 RPAREN Reduce 649 RBRACE Reduce 649 RBRACKET Reduce 649 SEMICOLON Reduce 649 QUESTION Reduce 649 COLON Reduce 649 COMMA Reduce 649 AT Reduce 649 ElidedSemicolonAndRightBrace Reduce 649 BeginCaseExpr Reduce 649 RestrictedIdentifiersealed Reduce 649 $eof Reduce 649 Default reduction to rule 649 STATE 579 ---------------------------------------------------------------------- ( 337 ) 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:11:53 2021 Page 1157 RelationalExpression ::= RelationalExpression GREATER ShiftExpression . (648) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 648 final Reduce 648 instanceof Reduce 648 native Reduce 648 non-sealed Reduce 648 private Reduce 648 protected Reduce 648 public Reduce 648 static Reduce 648 strictfp Reduce 648 synchronized Reduce 648 transient Reduce 648 volatile Reduce 648 EQUAL_EQUAL Reduce 648 LESS_EQUAL Reduce 648 GREATER_EQUAL Reduce 648 NOT_EQUAL Reduce 648 OR_OR Reduce 648 AND_AND Reduce 648 XOR Reduce 648 AND Reduce 648 OR Reduce 648 GREATER Reduce 648 LESS Reduce 648 RPAREN Reduce 648 RBRACE Reduce 648 RBRACKET Reduce 648 SEMICOLON Reduce 648 QUESTION Reduce 648 COLON Reduce 648 COMMA Reduce 648 AT Reduce 648 ElidedSemicolonAndRightBrace Reduce 648 BeginCaseExpr Reduce 648 RestrictedIdentifiersealed Reduce 648 $eof Reduce 648 Default reduction to rule 648 STATE 580 ---------------------------------------------------------------------- ( 338 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1158 ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= RelationalExpression LESS ShiftExpression . (647) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 647 final Reduce 647 instanceof Reduce 647 native Reduce 647 non-sealed Reduce 647 private Reduce 647 protected Reduce 647 public Reduce 647 static Reduce 647 strictfp Reduce 647 synchronized Reduce 647 transient Reduce 647 volatile Reduce 647 EQUAL_EQUAL Reduce 647 LESS_EQUAL Reduce 647 GREATER_EQUAL Reduce 647 NOT_EQUAL Reduce 647 OR_OR Reduce 647 AND_AND Reduce 647 XOR Reduce 647 AND Reduce 647 OR Reduce 647 GREATER Reduce 647 LESS Reduce 647 RPAREN Reduce 647 RBRACE Reduce 647 RBRACKET Reduce 647 SEMICOLON Reduce 647 QUESTION Reduce 647 COLON Reduce 647 COMMA Reduce 647 AT Reduce 647 ElidedSemicolonAndRightBrace Reduce 647 BeginCaseExpr Reduce 647 RestrictedIdentifiersealed Reduce 647 $eof Reduce 647 Default reduction to rule 647 STATE 581 ---------------------------------------------------------------------- ( 339 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1159 EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression ::= AndExpression AND EqualityExpression . (655) NOT_EQUAL Shift 340 EQUAL_EQUAL Shift 341 abstract Reduce 655 final Reduce 655 native Reduce 655 non-sealed Reduce 655 private Reduce 655 protected Reduce 655 public Reduce 655 static Reduce 655 strictfp Reduce 655 synchronized Reduce 655 transient Reduce 655 volatile Reduce 655 OR_OR Reduce 655 AND_AND Reduce 655 XOR Reduce 655 AND Reduce 655 OR Reduce 655 RPAREN Reduce 655 RBRACE Reduce 655 RBRACKET Reduce 655 SEMICOLON Reduce 655 QUESTION Reduce 655 COLON Reduce 655 COMMA Reduce 655 AT Reduce 655 ElidedSemicolonAndRightBrace Reduce 655 BeginCaseExpr Reduce 655 RestrictedIdentifiersealed Reduce 655 $eof Reduce 655 Default reduction to rule 655 STATE 582 ---------------------------------------------------------------------- ( 340 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression ::= EqualityExpression NOT_EQUAL InstanceofExpression . (653) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern instanceof Shift 334 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1160 InstanceofClassic Gt/Rd 353 InstanceofPrimaryTypePattern Gt/Rd 353 InstanceofPrimaryParenPattern Gt/Rd 353 InstanceofRHS Gt/Rd 353 abstract Reduce 653 final Reduce 653 native Reduce 653 non-sealed Reduce 653 private Reduce 653 protected Reduce 653 public Reduce 653 static Reduce 653 strictfp Reduce 653 synchronized Reduce 653 transient Reduce 653 volatile Reduce 653 EQUAL_EQUAL Reduce 653 NOT_EQUAL Reduce 653 OR_OR Reduce 653 AND_AND Reduce 653 XOR Reduce 653 AND Reduce 653 OR Reduce 653 RPAREN Reduce 653 RBRACE Reduce 653 RBRACKET Reduce 653 SEMICOLON Reduce 653 QUESTION Reduce 653 COLON Reduce 653 COMMA Reduce 653 AT Reduce 653 ElidedSemicolonAndRightBrace Reduce 653 BeginCaseExpr Reduce 653 RestrictedIdentifiersealed Reduce 653 $eof Reduce 653 Default reduction to rule 653 STATE 583 ---------------------------------------------------------------------- ( 341 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression ::= EqualityExpression EQUAL_EQUAL InstanceofExpression . (652) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1161 instanceof Shift 334 InstanceofClassic Gt/Rd 353 InstanceofPrimaryTypePattern Gt/Rd 353 InstanceofPrimaryParenPattern Gt/Rd 353 InstanceofRHS Gt/Rd 353 abstract Reduce 652 final Reduce 652 native Reduce 652 non-sealed Reduce 652 private Reduce 652 protected Reduce 652 public Reduce 652 static Reduce 652 strictfp Reduce 652 synchronized Reduce 652 transient Reduce 652 volatile Reduce 652 EQUAL_EQUAL Reduce 652 NOT_EQUAL Reduce 652 OR_OR Reduce 652 AND_AND Reduce 652 XOR Reduce 652 AND Reduce 652 OR Reduce 652 RPAREN Reduce 652 RBRACE Reduce 652 RBRACKET Reduce 652 SEMICOLON Reduce 652 QUESTION Reduce 652 COLON Reduce 652 COMMA Reduce 652 AT Reduce 652 ElidedSemicolonAndRightBrace Reduce 652 BeginCaseExpr Reduce 652 RestrictedIdentifiersealed Reduce 652 $eof Reduce 652 Default reduction to rule 652 STATE 584 ---------------------------------------------------------------------- ( 342 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression ::= InclusiveOrExpression OR ExclusiveOrExpression . (659) XOR Shift 343 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1162 abstract Reduce 659 final Reduce 659 native Reduce 659 non-sealed Reduce 659 private Reduce 659 protected Reduce 659 public Reduce 659 static Reduce 659 strictfp Reduce 659 synchronized Reduce 659 transient Reduce 659 volatile Reduce 659 OR_OR Reduce 659 AND_AND Reduce 659 OR Reduce 659 RPAREN Reduce 659 RBRACE Reduce 659 RBRACKET Reduce 659 SEMICOLON Reduce 659 QUESTION Reduce 659 COLON Reduce 659 COMMA Reduce 659 AT Reduce 659 ElidedSemicolonAndRightBrace Reduce 659 BeginCaseExpr Reduce 659 RestrictedIdentifiersealed Reduce 659 $eof Reduce 659 Default reduction to rule 659 STATE 585 ---------------------------------------------------------------------- ( 343 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression ::= ExclusiveOrExpression XOR AndExpression . (657) AND Shift 339 abstract Reduce 657 final Reduce 657 native Reduce 657 non-sealed Reduce 657 private Reduce 657 protected Reduce 657 public Reduce 657 static Reduce 657 strictfp Reduce 657 synchronized Reduce 657 transient Reduce 657 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1163 volatile Reduce 657 OR_OR Reduce 657 AND_AND Reduce 657 XOR Reduce 657 OR Reduce 657 RPAREN Reduce 657 RBRACE Reduce 657 RBRACKET Reduce 657 SEMICOLON Reduce 657 QUESTION Reduce 657 COLON Reduce 657 COMMA Reduce 657 AT Reduce 657 ElidedSemicolonAndRightBrace Reduce 657 BeginCaseExpr Reduce 657 RestrictedIdentifiersealed Reduce 657 $eof Reduce 657 Default reduction to rule 657 STATE 586 ---------------------------------------------------------------------- ( 344 ) ConditionalExpression ::= ConditionalOrExpression QUESTION Expression .COLON ConditionalExpression COLON Shift 765 STATE 587 ---------------------------------------------------------------------- ( 345 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression ::= ConditionalOrExpression OR_OR ConditionalAndExpression . (663) AND_AND Shift 346 abstract Reduce 663 final Reduce 663 native Reduce 663 non-sealed Reduce 663 private Reduce 663 protected Reduce 663 public Reduce 663 static Reduce 663 strictfp Reduce 663 synchronized Reduce 663 transient Reduce 663 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1164 volatile Reduce 663 OR_OR Reduce 663 RPAREN Reduce 663 RBRACE Reduce 663 RBRACKET Reduce 663 SEMICOLON Reduce 663 QUESTION Reduce 663 COLON Reduce 663 COMMA Reduce 663 AT Reduce 663 ElidedSemicolonAndRightBrace Reduce 663 BeginCaseExpr Reduce 663 RestrictedIdentifiersealed Reduce 663 $eof Reduce 663 Default reduction to rule 663 STATE 588 ---------------------------------------------------------------------- ( 346 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression ::= ConditionalAndExpression AND_AND InclusiveOrExpression . (661) OR Shift 342 abstract Reduce 661 final Reduce 661 native Reduce 661 non-sealed Reduce 661 private Reduce 661 protected Reduce 661 public Reduce 661 static Reduce 661 strictfp Reduce 661 synchronized Reduce 661 transient Reduce 661 volatile Reduce 661 OR_OR Reduce 661 AND_AND Reduce 661 RPAREN Reduce 661 RBRACE Reduce 661 RBRACKET Reduce 661 SEMICOLON Reduce 661 QUESTION Reduce 661 COLON Reduce 661 COMMA Reduce 661 AT Reduce 661 ElidedSemicolonAndRightBrace Reduce 661 BeginCaseExpr Reduce 661 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1165 RestrictedIdentifiersealed Reduce 661 $eof Reduce 661 Default reduction to rule 661 STATE 589 ---------------------------------------------------------------------- ( 347 ) ArrayInitializer ::= LBRACE PushLeftBrace ,opt .RBRACE RBRACE Sh/Rd 369 STATE 590 ---------------------------------------------------------------------- ( 347 ) ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .RBRACE ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers .COMMA RBRACE VariableInitializers ::= VariableInitializers .COMMA VariableInitializer COMMA Shift 766 RBRACE Sh/Rd 370 STATE 591 ---------------------------------------------------------------------- ( 348 ) ClassBodyDeclaration ::= Diet NestedMethod CreateInitializer .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) OpenBlock Goto 88 Block Gt/Rd 226 LBRACE Reduce 375 Default reduction to rule 375 STATE 592 ---------------------------------------------------------------------- ( 349 ) ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (701) throws Shift 359 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1166 MethodHeaderThrowsClause Gt/Rd 267 MethodHeaderThrowsClauseopt Gt/Rd 267 abstract Reduce 701 final Reduce 701 native Reduce 701 non-sealed Reduce 701 private Reduce 701 protected Reduce 701 public Reduce 701 static Reduce 701 strictfp Reduce 701 synchronized Reduce 701 transient Reduce 701 volatile Reduce 701 LBRACE Reduce 701 SEMICOLON Reduce 701 AT Reduce 701 RestrictedIdentifiersealed Reduce 701 $eof Reduce 701 Default reduction to rule 701 STATE 593 ---------------------------------------------------------------------- ( 351 ) DefaultMethodHeaderName ::= ModifiersWithDefault Type Identifier .LPAREN LPAREN Sh/Rd 262 STATE 594 ---------------------------------------------------------------------- ( 352 ) DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type . Identifier LPAREN Identifier Shift 767 STATE 595 ---------------------------------------------------------------------- ( 353 ) DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims MethodHeaderThrowsClauseopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1167 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 ::= . (697) Dimsopt ::= .Dims LBRACKET Shift 228 AT308 Shift 33 Dims Goto 1186 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dimsopt Gt/Rd 265 MethodHeaderExtendedDims Goto 768 throws Reduce 697 LBRACE Reduce 697 SEMICOLON Reduce 697 Default reduction to rule 697 STATE 596 ---------------------------------------------------------------------- ( 354 ) MethodHeader ::= MethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims MethodHeaderThrowsClauseopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1168 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 ::= . (697) Dimsopt ::= .Dims LBRACKET Shift 228 AT308 Shift 33 Dims Goto 1186 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dimsopt Gt/Rd 265 MethodHeaderExtendedDims Goto 769 throws Reduce 697 LBRACE Reduce 697 SEMICOLON Reduce 697 Default reduction to rule 697 STATE 597 ---------------------------------------------------------------------- ( 356 360 ) MethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN Identifier Shift 770 STATE 598 ---------------------------------------------------------------------- ( 356 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1169 SimpleName ::= Identifier . (73) ConstructorHeaderName ::= Modifiersopt TypeParameters Identifier .LPAREN CompactConstructorHeaderName ::= Modifiersopt TypeParameters Identifier . (351) LPAREN Sh/Rd 268 throws Reduce 351 LBRACE Reduce 351 Identifier Reduce 70 LESS Reduce 70 LBRACKET Reduce 70 DOT Reduce 70 AT308 Reduce 70 Default reduction to rule 73 STATE 599 ---------------------------------------------------------------------- ( 357 365 415 425 ) FieldDeclaration ::= Modifiersopt Type VariableDeclarators .SEMICOLON VariableDeclarators ::= VariableDeclarators .COMMA VariableDeclarator COMMA Shift 742 SEMICOLON Sh/Rd 240 STATE 600 ---------------------------------------------------------------------- ( 357 ) VariableDeclaratorId ::= Identifier .Dimsopt MethodHeaderName ::= Modifiersopt Type Identifier .LPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1170 LPAREN Sh/Rd 260 AT308 Shift 33 LBRACKET Shift 228 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Gt/Rd 250 Dimsopt Gt/Rd 250 SEMICOLON Reduce 697 COMMA Reduce 697 EQUAL Reduce 697 Default reduction to rule 697 STATE 601 ---------------------------------------------------------------------- ( 359 ) MethodHeaderThrowsClause ::= throws ClassTypeList . (266) ClassTypeList ::= ClassTypeList .COMMA ClassTypeElt COMMA Shift 220 abstract Reduce 266 final Reduce 266 native Reduce 266 non-sealed Reduce 266 private Reduce 266 protected Reduce 266 public Reduce 266 static Reduce 266 strictfp Reduce 266 synchronized Reduce 266 transient Reduce 266 volatile Reduce 266 LBRACE Reduce 266 SEMICOLON Reduce 266 AT Reduce 266 RestrictedIdentifiersealed Reduce 266 $eof Reduce 266 Default reduction to rule 266 STATE 602 ---------------------------------------------------------------------- ( 360 364 438 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1171 SimpleName ::= Identifier . (73) ConstructorHeaderName ::= Modifiersopt TypeParameters Identifier .LPAREN LPAREN Sh/Rd 268 Identifier Reduce 70 LESS Reduce 70 LBRACKET Reduce 70 DOT Reduce 70 AT308 Reduce 70 Default reduction to rule 73 STATE 603 ---------------------------------------------------------------------- ( 362 ) MethodHeaderName ::= Modifiersopt Type Identifier .LPAREN LPAREN Sh/Rd 260 STATE 604 ---------------------------------------------------------------------- ( 363 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PackageDeclarationName ::= PackageComment package Name .RejectTypeAnnotations RejectTypeAnnotations ::= . (90) DOT Shift 219 RejectTypeAnnotations Gt/Rd 178 SEMICOLON Reduce 90 Default reduction to rule 90 STATE 605 ---------------------------------------------------------------------- ( 364 ) AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN Identifier Shift 771 STATE 606 ---------------------------------------------------------------------- ( 365 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1172 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 ::= . (697) LPAREN Sh/Rd 892 AT308 Shift 33 LBRACKET Shift 228 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Gt/Rd 250 Dimsopt Gt/Rd 250 SEMICOLON Reduce 697 COMMA Reduce 697 EQUAL Reduce 697 Default reduction to rule 697 STATE 607 ---------------------------------------------------------------------- ( 366 ) PackageDeclarationName ::= Modifiers package PushRealModifiers .Name RejectTypeAnnotations Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1173 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 33 Identifier Shift 982 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 Name Goto 772 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 772 STATE 608 ---------------------------------------------------------------------- ( 367 ) AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MethodHeaderExtendedDims ::= .Dimsopt Dims ::= .DimsLoop IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1174 DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) Dimsopt ::= .Dims LBRACKET Shift 228 AT308 Shift 33 Dims Goto 1186 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dimsopt Gt/Rd 265 MethodHeaderExtendedDims Goto 773 default Reduce 697 SEMICOLON Reduce 697 Default reduction to rule 697 STATE 609 ---------------------------------------------------------------------- ( 368 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName SingleStaticImportDeclarationName ::= import static Name . RejectTypeAnnotations StaticImportOnDemandDeclarationName ::= import static Name .DOT RejectTypeAnnotations MULTIPLY RejectTypeAnnotations ::= . (90) DOT Shift 774 RejectTypeAnnotations Gt/Rd 751 SEMICOLON Reduce 90 Default reduction to rule 90 STATE 610 ---------------------------------------------------------------------- ( 369 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1175 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 ::= . (90) AT308 Shift 33 Identifier Sh/Rd 76 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 SimpleName Gt/Rd 76 TypeAnnotations Goto 456 RejectTypeAnnotations Goto 775 MULTIPLY Reduce 90 Default reduction to rule 90 STATE 611 ---------------------------------------------------------------------- ( 370 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace .MemberValues COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace .MemberValues RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace .COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace .RBRACE Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1176 Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1177 PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1178 FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1179 UnaryExpressionNotPlusMinus_NotName ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus_NotName ::= .CastExpression MultiplicativeExpression_NotName ::= .UnaryExpression_NotName MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .Name MULTIPLY UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .Name DIVIDE UnaryExpression MultiplicativeExpression_NotName ::= .MultiplicativeExpression_NotName REMAINDER UnaryExpression MultiplicativeExpression_NotName ::= .Name REMAINDER UnaryExpression AdditiveExpression_NotName ::= .MultiplicativeExpression_NotName AdditiveExpression_NotName ::= .AdditiveExpression_NotName PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name PLUS MultiplicativeExpression AdditiveExpression_NotName ::= .AdditiveExpression_NotName MINUS MultiplicativeExpression AdditiveExpression_NotName ::= .Name MINUS MultiplicativeExpression ShiftExpression_NotName ::= .AdditiveExpression_NotName ShiftExpression_NotName ::= .ShiftExpression_NotName LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name LEFT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression ShiftExpression_NotName ::= .Name UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= .ShiftExpression_NotName RelationalExpression_NotName ::= .ShiftExpression_NotName LESS ShiftExpression RelationalExpression_NotName ::= .Name LESS ShiftExpression RelationalExpression_NotName ::= .ShiftExpression_NotName GREATER ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1180 AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MemberValue ::= .Name MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA RBRACE MemberValueArrayInitializer ::= .EnterMemberValueArrayInitializer LBRACE PushLeftBrace RBRACE EnterMemberValueArrayInitializer ::= . (921) MemberValues ::= .MemberValues COMMA MemberValue MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RBRACE Sh/Rd 920 COMMA Shift 776 MINUS Shift 170 PLUS Shift 171 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1181 LPAREN Sh/Rd 509 false Shift 1187 true Shift 1187 null Shift 1187 TextBlock Shift 1187 StringLiteral Shift 1187 CharacterLiteral Shift 1187 DoubleLiteral Shift 1187 FloatingPointLiteral Shift 1187 LongLiteral Shift 1187 IntegerLiteral Shift 1187 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AT Shift 28 ConditionalExpression_NotName Goto 777 Name Goto 182 Annotation Goto 777 MemberValueArrayInitializer Goto 777 EnterMemberValueArrayInitializer Goto 163 AnnotationName Goto 29 NormalAnnotation Goto 777 MarkerAnnotation Goto 777 SingleMemberAnnotation Goto 777 ConditionalAndExpression_NotName Goto 180 ConditionalOrExpression_NotName Goto 183 ExclusiveOrExpression_NotName Goto 178 InclusiveOrExpression_NotName Goto 181 EqualityExpression_NotName Goto 176 AndExpression_NotName Goto 179 RelationalExpression_NotName Goto 174 InstanceofExpression_NotName Goto 177 AdditiveExpression_NotName Goto 172 ShiftExpression_NotName Goto 175 UnaryExpression_NotName Goto 1188 MultiplicativeExpression_NotName Goto 173 SwitchExpression Goto 1188 PostfixExpression_NotName Goto 1188 CastExpression Goto 1188 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1195 BooleanLiteral Goto 1187 Primary Goto 169 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1182 TypeAnnotations Goto 104 QualifiedName Goto 1015 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1187 ClassInstanceCreationExpression Goto 1194 FieldAccess Goto 1193 MethodInvocation Goto 1192 ArrayAccess Goto 1191 LambdaExpression Goto 1190 ReferenceExpression Goto 1189 PostfixExpression Goto 166 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PreIncrementExpression Goto 1188 PreDecrementExpression Goto 1188 UnaryExpressionNotPlusMinus_NotName Goto 1188 MemberValue Goto 777 MemberValues Goto 777 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 LBRACE Reduce 921 Default reduction to rule 78 STATE 612 ---------------------------------------------------------------------- ( 375 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= AdditiveExpression_NotName MINUS IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1183 MultiplicativeExpression . (833) REMAINDER Shift 326 DIVIDE Shift 327 MULTIPLY Shift 328 abstract Reduce 833 final Reduce 833 instanceof Reduce 833 native Reduce 833 non-sealed Reduce 833 private Reduce 833 protected Reduce 833 public Reduce 833 static Reduce 833 strictfp Reduce 833 synchronized Reduce 833 transient Reduce 833 volatile Reduce 833 EQUAL_EQUAL Reduce 833 LESS_EQUAL Reduce 833 GREATER_EQUAL Reduce 833 NOT_EQUAL Reduce 833 LEFT_SHIFT Reduce 833 RIGHT_SHIFT Reduce 833 UNSIGNED_RIGHT_SHIFT Reduce 833 OR_OR Reduce 833 AND_AND Reduce 833 PLUS Reduce 833 MINUS Reduce 833 XOR Reduce 833 AND Reduce 833 OR Reduce 833 GREATER Reduce 833 LESS Reduce 833 RPAREN Reduce 833 RBRACE Reduce 833 SEMICOLON Reduce 833 QUESTION Reduce 833 COMMA Reduce 833 AT Reduce 833 RestrictedIdentifiersealed Reduce 833 $eof Reduce 833 Default reduction to rule 833 STATE 613 ---------------------------------------------------------------------- ( 376 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1184 UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= AdditiveExpression_NotName PLUS MultiplicativeExpression . (831) REMAINDER Shift 326 DIVIDE Shift 327 MULTIPLY Shift 328 abstract Reduce 831 final Reduce 831 instanceof Reduce 831 native Reduce 831 non-sealed Reduce 831 private Reduce 831 protected Reduce 831 public Reduce 831 static Reduce 831 strictfp Reduce 831 synchronized Reduce 831 transient Reduce 831 volatile Reduce 831 EQUAL_EQUAL Reduce 831 LESS_EQUAL Reduce 831 GREATER_EQUAL Reduce 831 NOT_EQUAL Reduce 831 LEFT_SHIFT Reduce 831 RIGHT_SHIFT Reduce 831 UNSIGNED_RIGHT_SHIFT Reduce 831 OR_OR Reduce 831 AND_AND Reduce 831 PLUS Reduce 831 MINUS Reduce 831 XOR Reduce 831 AND Reduce 831 OR Reduce 831 GREATER Reduce 831 LESS Reduce 831 RPAREN Reduce 831 RBRACE Reduce 831 SEMICOLON Reduce 831 QUESTION Reduce 831 COMMA Reduce 831 AT Reduce 831 RestrictedIdentifiersealed Reduce 831 $eof Reduce 831 Default reduction to rule 831 STATE 614 ---------------------------------------------------------------------- ( 380 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1185 ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= RelationalExpression_NotName GREATER_EQUAL ShiftExpression . (849) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 849 final Reduce 849 instanceof Reduce 849 native Reduce 849 non-sealed Reduce 849 private Reduce 849 protected Reduce 849 public Reduce 849 static Reduce 849 strictfp Reduce 849 synchronized Reduce 849 transient Reduce 849 volatile Reduce 849 EQUAL_EQUAL Reduce 849 LESS_EQUAL Reduce 849 GREATER_EQUAL Reduce 849 NOT_EQUAL Reduce 849 OR_OR Reduce 849 AND_AND Reduce 849 XOR Reduce 849 AND Reduce 849 OR Reduce 849 RPAREN Reduce 849 RBRACE Reduce 849 SEMICOLON Reduce 849 QUESTION Reduce 849 COMMA Reduce 849 AT Reduce 849 RestrictedIdentifiersealed Reduce 849 $eof Reduce 849 Default reduction to rule 849 STATE 615 ---------------------------------------------------------------------- ( 381 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= RelationalExpression_NotName LESS_EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1186 ShiftExpression . (847) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 847 final Reduce 847 instanceof Reduce 847 native Reduce 847 non-sealed Reduce 847 private Reduce 847 protected Reduce 847 public Reduce 847 static Reduce 847 strictfp Reduce 847 synchronized Reduce 847 transient Reduce 847 volatile Reduce 847 EQUAL_EQUAL Reduce 847 LESS_EQUAL Reduce 847 GREATER_EQUAL Reduce 847 NOT_EQUAL Reduce 847 OR_OR Reduce 847 AND_AND Reduce 847 XOR Reduce 847 AND Reduce 847 OR Reduce 847 RPAREN Reduce 847 RBRACE Reduce 847 SEMICOLON Reduce 847 QUESTION Reduce 847 COMMA Reduce 847 AT Reduce 847 RestrictedIdentifiersealed Reduce 847 $eof Reduce 847 Default reduction to rule 847 STATE 616 ---------------------------------------------------------------------- ( 382 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= ShiftExpression_NotName GREATER ShiftExpression . (845) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1187 LEFT_SHIFT Shift 331 abstract Reduce 845 final Reduce 845 instanceof Reduce 845 native Reduce 845 non-sealed Reduce 845 private Reduce 845 protected Reduce 845 public Reduce 845 static Reduce 845 strictfp Reduce 845 synchronized Reduce 845 transient Reduce 845 volatile Reduce 845 EQUAL_EQUAL Reduce 845 LESS_EQUAL Reduce 845 GREATER_EQUAL Reduce 845 NOT_EQUAL Reduce 845 OR_OR Reduce 845 AND_AND Reduce 845 XOR Reduce 845 AND Reduce 845 OR Reduce 845 RPAREN Reduce 845 RBRACE Reduce 845 SEMICOLON Reduce 845 QUESTION Reduce 845 COMMA Reduce 845 AT Reduce 845 RestrictedIdentifiersealed Reduce 845 $eof Reduce 845 Default reduction to rule 845 STATE 617 ---------------------------------------------------------------------- ( 383 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= ShiftExpression_NotName LESS ShiftExpression . (843) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 843 final Reduce 843 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1188 instanceof Reduce 843 native Reduce 843 non-sealed Reduce 843 private Reduce 843 protected Reduce 843 public Reduce 843 static Reduce 843 strictfp Reduce 843 synchronized Reduce 843 transient Reduce 843 volatile Reduce 843 EQUAL_EQUAL Reduce 843 LESS_EQUAL Reduce 843 GREATER_EQUAL Reduce 843 NOT_EQUAL Reduce 843 OR_OR Reduce 843 AND_AND Reduce 843 XOR Reduce 843 AND Reduce 843 OR Reduce 843 RPAREN Reduce 843 RBRACE Reduce 843 SEMICOLON Reduce 843 QUESTION Reduce 843 COMMA Reduce 843 AT Reduce 843 RestrictedIdentifiersealed Reduce 843 $eof Reduce 843 Default reduction to rule 843 STATE 618 ---------------------------------------------------------------------- ( 384 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= ShiftExpression_NotName UNSIGNED_RIGHT_SHIFT AdditiveExpression . (840) MINUS Shift 332 PLUS Shift 333 abstract Reduce 840 final Reduce 840 instanceof Reduce 840 native Reduce 840 non-sealed Reduce 840 private Reduce 840 protected Reduce 840 public Reduce 840 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1189 static Reduce 840 strictfp Reduce 840 synchronized Reduce 840 transient Reduce 840 volatile Reduce 840 EQUAL_EQUAL Reduce 840 LESS_EQUAL Reduce 840 GREATER_EQUAL Reduce 840 NOT_EQUAL Reduce 840 LEFT_SHIFT Reduce 840 RIGHT_SHIFT Reduce 840 UNSIGNED_RIGHT_SHIFT Reduce 840 OR_OR Reduce 840 AND_AND Reduce 840 XOR Reduce 840 AND Reduce 840 OR Reduce 840 GREATER Reduce 840 LESS Reduce 840 RPAREN Reduce 840 RBRACE Reduce 840 SEMICOLON Reduce 840 QUESTION Reduce 840 COMMA Reduce 840 AT Reduce 840 RestrictedIdentifiersealed Reduce 840 $eof Reduce 840 Default reduction to rule 840 STATE 619 ---------------------------------------------------------------------- ( 385 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= ShiftExpression_NotName RIGHT_SHIFT AdditiveExpression . (838) MINUS Shift 332 PLUS Shift 333 abstract Reduce 838 final Reduce 838 instanceof Reduce 838 native Reduce 838 non-sealed Reduce 838 private Reduce 838 protected Reduce 838 public Reduce 838 static Reduce 838 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1190 strictfp Reduce 838 synchronized Reduce 838 transient Reduce 838 volatile Reduce 838 EQUAL_EQUAL Reduce 838 LESS_EQUAL Reduce 838 GREATER_EQUAL Reduce 838 NOT_EQUAL Reduce 838 LEFT_SHIFT Reduce 838 RIGHT_SHIFT Reduce 838 UNSIGNED_RIGHT_SHIFT Reduce 838 OR_OR Reduce 838 AND_AND Reduce 838 XOR Reduce 838 AND Reduce 838 OR Reduce 838 GREATER Reduce 838 LESS Reduce 838 RPAREN Reduce 838 RBRACE Reduce 838 SEMICOLON Reduce 838 QUESTION Reduce 838 COMMA Reduce 838 AT Reduce 838 RestrictedIdentifiersealed Reduce 838 $eof Reduce 838 Default reduction to rule 838 STATE 620 ---------------------------------------------------------------------- ( 386 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= ShiftExpression_NotName LEFT_SHIFT AdditiveExpression . (836) MINUS Shift 332 PLUS Shift 333 abstract Reduce 836 final Reduce 836 instanceof Reduce 836 native Reduce 836 non-sealed Reduce 836 private Reduce 836 protected Reduce 836 public Reduce 836 static Reduce 836 strictfp Reduce 836 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1191 synchronized Reduce 836 transient Reduce 836 volatile Reduce 836 EQUAL_EQUAL Reduce 836 LESS_EQUAL Reduce 836 GREATER_EQUAL Reduce 836 NOT_EQUAL Reduce 836 LEFT_SHIFT Reduce 836 RIGHT_SHIFT Reduce 836 UNSIGNED_RIGHT_SHIFT Reduce 836 OR_OR Reduce 836 AND_AND Reduce 836 XOR Reduce 836 AND Reduce 836 OR Reduce 836 GREATER Reduce 836 LESS Reduce 836 RPAREN Reduce 836 RBRACE Reduce 836 SEMICOLON Reduce 836 QUESTION Reduce 836 COMMA Reduce 836 AT Reduce 836 RestrictedIdentifiersealed Reduce 836 $eof Reduce 836 Default reduction to rule 836 STATE 621 ---------------------------------------------------------------------- ( 387 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression_NotName ::= EqualityExpression_NotName NOT_EQUAL InstanceofExpression . (857) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern instanceof Shift 334 InstanceofClassic Gt/Rd 353 InstanceofPrimaryTypePattern Gt/Rd 353 InstanceofPrimaryParenPattern Gt/Rd 353 InstanceofRHS Gt/Rd 353 abstract Reduce 857 final Reduce 857 native Reduce 857 non-sealed Reduce 857 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1192 private Reduce 857 protected Reduce 857 public Reduce 857 static Reduce 857 strictfp Reduce 857 synchronized Reduce 857 transient Reduce 857 volatile Reduce 857 EQUAL_EQUAL Reduce 857 NOT_EQUAL Reduce 857 OR_OR Reduce 857 AND_AND Reduce 857 XOR Reduce 857 AND Reduce 857 OR Reduce 857 RPAREN Reduce 857 RBRACE Reduce 857 SEMICOLON Reduce 857 QUESTION Reduce 857 COMMA Reduce 857 AT Reduce 857 RestrictedIdentifiersealed Reduce 857 $eof Reduce 857 Default reduction to rule 857 STATE 622 ---------------------------------------------------------------------- ( 388 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression_NotName ::= EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression . (855) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern instanceof Shift 334 InstanceofClassic Gt/Rd 353 InstanceofPrimaryTypePattern Gt/Rd 353 InstanceofPrimaryParenPattern Gt/Rd 353 InstanceofRHS Gt/Rd 353 abstract Reduce 855 final Reduce 855 native Reduce 855 non-sealed Reduce 855 private Reduce 855 protected Reduce 855 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1193 public Reduce 855 static Reduce 855 strictfp Reduce 855 synchronized Reduce 855 transient Reduce 855 volatile Reduce 855 EQUAL_EQUAL Reduce 855 NOT_EQUAL Reduce 855 OR_OR Reduce 855 AND_AND Reduce 855 XOR Reduce 855 AND Reduce 855 OR Reduce 855 RPAREN Reduce 855 RBRACE Reduce 855 SEMICOLON Reduce 855 QUESTION Reduce 855 COMMA Reduce 855 AT Reduce 855 RestrictedIdentifiersealed Reduce 855 $eof Reduce 855 Default reduction to rule 855 STATE 623 ---------------------------------------------------------------------- ( 389 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression_NotName ::= ExclusiveOrExpression_NotName XOR AndExpression . (863) AND Shift 339 abstract Reduce 863 final Reduce 863 native Reduce 863 non-sealed Reduce 863 private Reduce 863 protected Reduce 863 public Reduce 863 static Reduce 863 strictfp Reduce 863 synchronized Reduce 863 transient Reduce 863 volatile Reduce 863 OR_OR Reduce 863 AND_AND Reduce 863 XOR Reduce 863 OR Reduce 863 RPAREN Reduce 863 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1194 RBRACE Reduce 863 SEMICOLON Reduce 863 QUESTION Reduce 863 COMMA Reduce 863 AT Reduce 863 RestrictedIdentifiersealed Reduce 863 $eof Reduce 863 Default reduction to rule 863 STATE 624 ---------------------------------------------------------------------- ( 390 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= AndExpression_NotName AND EqualityExpression . (860) NOT_EQUAL Shift 340 EQUAL_EQUAL Shift 341 abstract Reduce 860 final Reduce 860 native Reduce 860 non-sealed Reduce 860 private Reduce 860 protected Reduce 860 public Reduce 860 static Reduce 860 strictfp Reduce 860 synchronized Reduce 860 transient Reduce 860 volatile Reduce 860 OR_OR Reduce 860 AND_AND Reduce 860 XOR Reduce 860 AND Reduce 860 OR Reduce 860 RPAREN Reduce 860 RBRACE Reduce 860 SEMICOLON Reduce 860 QUESTION Reduce 860 COMMA Reduce 860 AT Reduce 860 RestrictedIdentifiersealed Reduce 860 $eof Reduce 860 Default reduction to rule 860 STATE 625 ---------------------------------------------------------------------- ( 391 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1195 InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= ConditionalAndExpression_NotName AND_AND InclusiveOrExpression . (869) OR Shift 342 abstract Reduce 869 final Reduce 869 native Reduce 869 non-sealed Reduce 869 private Reduce 869 protected Reduce 869 public Reduce 869 static Reduce 869 strictfp Reduce 869 synchronized Reduce 869 transient Reduce 869 volatile Reduce 869 OR_OR Reduce 869 AND_AND Reduce 869 RPAREN Reduce 869 RBRACE Reduce 869 SEMICOLON Reduce 869 QUESTION Reduce 869 COMMA Reduce 869 AT Reduce 869 RestrictedIdentifiersealed Reduce 869 $eof Reduce 869 Default reduction to rule 869 STATE 626 ---------------------------------------------------------------------- ( 392 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression_NotName ::= InclusiveOrExpression_NotName OR ExclusiveOrExpression . (866) XOR Shift 343 abstract Reduce 866 final Reduce 866 native Reduce 866 non-sealed Reduce 866 private Reduce 866 protected Reduce 866 public Reduce 866 static Reduce 866 strictfp Reduce 866 synchronized Reduce 866 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1196 transient Reduce 866 volatile Reduce 866 OR_OR Reduce 866 AND_AND Reduce 866 OR Reduce 866 RPAREN Reduce 866 RBRACE Reduce 866 SEMICOLON Reduce 866 QUESTION Reduce 866 COMMA Reduce 866 AT Reduce 866 RestrictedIdentifiersealed Reduce 866 $eof Reduce 866 Default reduction to rule 866 STATE 627 ---------------------------------------------------------------------- ( 393 ) ConditionalExpression_NotName ::= Name QUESTION Expression .COLON ConditionalExpression COLON Shift 778 STATE 628 ---------------------------------------------------------------------- ( 394 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= Name OR_OR ConditionalAndExpression . (873) AND_AND Shift 346 abstract Reduce 873 final Reduce 873 native Reduce 873 non-sealed Reduce 873 private Reduce 873 protected Reduce 873 public Reduce 873 static Reduce 873 strictfp Reduce 873 synchronized Reduce 873 transient Reduce 873 volatile Reduce 873 OR_OR Reduce 873 RPAREN Reduce 873 RBRACE Reduce 873 SEMICOLON Reduce 873 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1197 QUESTION Reduce 873 COMMA Reduce 873 AT Reduce 873 RestrictedIdentifiersealed Reduce 873 $eof Reduce 873 Default reduction to rule 873 STATE 629 ---------------------------------------------------------------------- ( 395 ) InclusiveOrExpression ::= InclusiveOrExpression .OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= Name AND_AND InclusiveOrExpression . (870) OR Shift 342 abstract Reduce 870 final Reduce 870 native Reduce 870 non-sealed Reduce 870 private Reduce 870 protected Reduce 870 public Reduce 870 static Reduce 870 strictfp Reduce 870 synchronized Reduce 870 transient Reduce 870 volatile Reduce 870 OR_OR Reduce 870 AND_AND Reduce 870 RPAREN Reduce 870 RBRACE Reduce 870 SEMICOLON Reduce 870 QUESTION Reduce 870 COMMA Reduce 870 AT Reduce 870 RestrictedIdentifiersealed Reduce 870 $eof Reduce 870 Default reduction to rule 870 STATE 630 ---------------------------------------------------------------------- ( 396 ) ExclusiveOrExpression ::= ExclusiveOrExpression .XOR AndExpression InclusiveOrExpression_NotName ::= Name OR ExclusiveOrExpression . (867) XOR Shift 343 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1198 abstract Reduce 867 final Reduce 867 native Reduce 867 non-sealed Reduce 867 private Reduce 867 protected Reduce 867 public Reduce 867 static Reduce 867 strictfp Reduce 867 synchronized Reduce 867 transient Reduce 867 volatile Reduce 867 OR_OR Reduce 867 AND_AND Reduce 867 OR Reduce 867 RPAREN Reduce 867 RBRACE Reduce 867 SEMICOLON Reduce 867 QUESTION Reduce 867 COMMA Reduce 867 AT Reduce 867 RestrictedIdentifiersealed Reduce 867 $eof Reduce 867 Default reduction to rule 867 STATE 631 ---------------------------------------------------------------------- ( 397 ) AndExpression ::= AndExpression .AND EqualityExpression ExclusiveOrExpression_NotName ::= Name XOR AndExpression . (864) AND Shift 339 abstract Reduce 864 final Reduce 864 native Reduce 864 non-sealed Reduce 864 private Reduce 864 protected Reduce 864 public Reduce 864 static Reduce 864 strictfp Reduce 864 synchronized Reduce 864 transient Reduce 864 volatile Reduce 864 OR_OR Reduce 864 AND_AND Reduce 864 XOR Reduce 864 OR Reduce 864 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1199 RPAREN Reduce 864 RBRACE Reduce 864 SEMICOLON Reduce 864 QUESTION Reduce 864 COMMA Reduce 864 AT Reduce 864 RestrictedIdentifiersealed Reduce 864 $eof Reduce 864 Default reduction to rule 864 STATE 632 ---------------------------------------------------------------------- ( 398 ) EqualityExpression ::= EqualityExpression .EQUAL_EQUAL InstanceofExpression EqualityExpression ::= EqualityExpression .NOT_EQUAL InstanceofExpression AndExpression_NotName ::= Name AND EqualityExpression . (861) NOT_EQUAL Shift 340 EQUAL_EQUAL Shift 341 abstract Reduce 861 final Reduce 861 native Reduce 861 non-sealed Reduce 861 private Reduce 861 protected Reduce 861 public Reduce 861 static Reduce 861 strictfp Reduce 861 synchronized Reduce 861 transient Reduce 861 volatile Reduce 861 OR_OR Reduce 861 AND_AND Reduce 861 XOR Reduce 861 AND Reduce 861 OR Reduce 861 RPAREN Reduce 861 RBRACE Reduce 861 SEMICOLON Reduce 861 QUESTION Reduce 861 COMMA Reduce 861 AT Reduce 861 RestrictedIdentifiersealed Reduce 861 $eof Reduce 861 Default reduction to rule 861 STATE 633 ---------------------------------------------------------------------- ( 399 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1200 InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression_NotName ::= Name NOT_EQUAL InstanceofExpression . (858) InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern instanceof Shift 334 InstanceofClassic Gt/Rd 353 InstanceofPrimaryTypePattern Gt/Rd 353 InstanceofPrimaryParenPattern Gt/Rd 353 InstanceofRHS Gt/Rd 353 abstract Reduce 858 final Reduce 858 native Reduce 858 non-sealed Reduce 858 private Reduce 858 protected Reduce 858 public Reduce 858 static Reduce 858 strictfp Reduce 858 synchronized Reduce 858 transient Reduce 858 volatile Reduce 858 EQUAL_EQUAL Reduce 858 NOT_EQUAL Reduce 858 OR_OR Reduce 858 AND_AND Reduce 858 XOR Reduce 858 AND Reduce 858 OR Reduce 858 RPAREN Reduce 858 RBRACE Reduce 858 SEMICOLON Reduce 858 QUESTION Reduce 858 COMMA Reduce 858 AT Reduce 858 RestrictedIdentifiersealed Reduce 858 $eof Reduce 858 Default reduction to rule 858 STATE 634 ---------------------------------------------------------------------- ( 400 ) InstanceofExpression ::= InstanceofExpression .InstanceofRHS EqualityExpression_NotName ::= Name EQUAL_EQUAL InstanceofExpression . (856) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1201 InstanceofClassic ::= .instanceof Modifiersopt Type InstanceofPrimaryTypePattern ::= .instanceof Modifiersopt Type Identifier InstanceofPrimaryParenPattern ::= .instanceof ParenthesizedPattern instanceof Shift 334 InstanceofClassic Gt/Rd 353 InstanceofPrimaryTypePattern Gt/Rd 353 InstanceofPrimaryParenPattern Gt/Rd 353 InstanceofRHS Gt/Rd 353 abstract Reduce 856 final Reduce 856 native Reduce 856 non-sealed Reduce 856 private Reduce 856 protected Reduce 856 public Reduce 856 static Reduce 856 strictfp Reduce 856 synchronized Reduce 856 transient Reduce 856 volatile Reduce 856 EQUAL_EQUAL Reduce 856 NOT_EQUAL Reduce 856 OR_OR Reduce 856 AND_AND Reduce 856 XOR Reduce 856 AND Reduce 856 OR Reduce 856 RPAREN Reduce 856 RBRACE Reduce 856 SEMICOLON Reduce 856 QUESTION Reduce 856 COMMA Reduce 856 AT Reduce 856 RestrictedIdentifiersealed Reduce 856 $eof Reduce 856 Default reduction to rule 856 STATE 635 ---------------------------------------------------------------------- ( 401 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name GREATER_EQUAL ShiftExpression . (850) UNSIGNED_RIGHT_SHIFT Shift 329 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1202 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 850 final Reduce 850 instanceof Reduce 850 native Reduce 850 non-sealed Reduce 850 private Reduce 850 protected Reduce 850 public Reduce 850 static Reduce 850 strictfp Reduce 850 synchronized Reduce 850 transient Reduce 850 volatile Reduce 850 EQUAL_EQUAL Reduce 850 LESS_EQUAL Reduce 850 GREATER_EQUAL Reduce 850 NOT_EQUAL Reduce 850 OR_OR Reduce 850 AND_AND Reduce 850 XOR Reduce 850 AND Reduce 850 OR Reduce 850 RPAREN Reduce 850 RBRACE Reduce 850 SEMICOLON Reduce 850 QUESTION Reduce 850 COMMA Reduce 850 AT Reduce 850 RestrictedIdentifiersealed Reduce 850 $eof Reduce 850 Default reduction to rule 850 STATE 636 ---------------------------------------------------------------------- ( 402 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name LESS_EQUAL ShiftExpression . (848) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 848 final Reduce 848 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1203 instanceof Reduce 848 native Reduce 848 non-sealed Reduce 848 private Reduce 848 protected Reduce 848 public Reduce 848 static Reduce 848 strictfp Reduce 848 synchronized Reduce 848 transient Reduce 848 volatile Reduce 848 EQUAL_EQUAL Reduce 848 LESS_EQUAL Reduce 848 GREATER_EQUAL Reduce 848 NOT_EQUAL Reduce 848 OR_OR Reduce 848 AND_AND Reduce 848 XOR Reduce 848 AND Reduce 848 OR Reduce 848 RPAREN Reduce 848 RBRACE Reduce 848 SEMICOLON Reduce 848 QUESTION Reduce 848 COMMA Reduce 848 AT Reduce 848 RestrictedIdentifiersealed Reduce 848 $eof Reduce 848 Default reduction to rule 848 STATE 637 ---------------------------------------------------------------------- ( 403 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name GREATER ShiftExpression . (846) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 846 final Reduce 846 instanceof Reduce 846 native Reduce 846 non-sealed Reduce 846 private Reduce 846 protected Reduce 846 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1204 public Reduce 846 static Reduce 846 strictfp Reduce 846 synchronized Reduce 846 transient Reduce 846 volatile Reduce 846 EQUAL_EQUAL Reduce 846 LESS_EQUAL Reduce 846 GREATER_EQUAL Reduce 846 NOT_EQUAL Reduce 846 OR_OR Reduce 846 AND_AND Reduce 846 XOR Reduce 846 AND Reduce 846 OR Reduce 846 RPAREN Reduce 846 RBRACE Reduce 846 SEMICOLON Reduce 846 QUESTION Reduce 846 COMMA Reduce 846 AT Reduce 846 RestrictedIdentifiersealed Reduce 846 $eof Reduce 846 Default reduction to rule 846 STATE 638 ---------------------------------------------------------------------- ( 404 570 ) ShiftExpression ::= ShiftExpression .LEFT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .RIGHT_SHIFT AdditiveExpression ShiftExpression ::= ShiftExpression .UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression_NotName ::= Name LESS ShiftExpression . (844) UNSIGNED_RIGHT_SHIFT Shift 329 RIGHT_SHIFT Shift 330 LEFT_SHIFT Shift 331 abstract Reduce 844 final Reduce 844 instanceof Reduce 844 native Reduce 844 non-sealed Reduce 844 private Reduce 844 protected Reduce 844 public Reduce 844 static Reduce 844 strictfp Reduce 844 synchronized Reduce 844 transient Reduce 844 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1205 volatile Reduce 844 EQUAL_EQUAL Reduce 844 LESS_EQUAL Reduce 844 GREATER_EQUAL Reduce 844 NOT_EQUAL Reduce 844 OR_OR Reduce 844 AND_AND Reduce 844 XOR Reduce 844 AND Reduce 844 OR Reduce 844 RPAREN Reduce 844 RBRACE Reduce 844 SEMICOLON Reduce 844 QUESTION Reduce 844 COMMA Reduce 844 AT Reduce 844 RestrictedIdentifiersealed Reduce 844 $eof Reduce 844 Default reduction to rule 844 STATE 639 ---------------------------------------------------------------------- ( 405 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name UNSIGNED_RIGHT_SHIFT AdditiveExpression . (841) MINUS Shift 332 PLUS Shift 333 abstract Reduce 841 final Reduce 841 instanceof Reduce 841 native Reduce 841 non-sealed Reduce 841 private Reduce 841 protected Reduce 841 public Reduce 841 static Reduce 841 strictfp Reduce 841 synchronized Reduce 841 transient Reduce 841 volatile Reduce 841 EQUAL_EQUAL Reduce 841 LESS_EQUAL Reduce 841 GREATER_EQUAL Reduce 841 NOT_EQUAL Reduce 841 LEFT_SHIFT Reduce 841 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1206 RIGHT_SHIFT Reduce 841 UNSIGNED_RIGHT_SHIFT Reduce 841 OR_OR Reduce 841 AND_AND Reduce 841 XOR Reduce 841 AND Reduce 841 OR Reduce 841 GREATER Reduce 841 LESS Reduce 841 RPAREN Reduce 841 RBRACE Reduce 841 SEMICOLON Reduce 841 QUESTION Reduce 841 COMMA Reduce 841 AT Reduce 841 RestrictedIdentifiersealed Reduce 841 $eof Reduce 841 Default reduction to rule 841 STATE 640 ---------------------------------------------------------------------- ( 406 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name RIGHT_SHIFT AdditiveExpression . (839) MINUS Shift 332 PLUS Shift 333 abstract Reduce 839 final Reduce 839 instanceof Reduce 839 native Reduce 839 non-sealed Reduce 839 private Reduce 839 protected Reduce 839 public Reduce 839 static Reduce 839 strictfp Reduce 839 synchronized Reduce 839 transient Reduce 839 volatile Reduce 839 EQUAL_EQUAL Reduce 839 LESS_EQUAL Reduce 839 GREATER_EQUAL Reduce 839 NOT_EQUAL Reduce 839 LEFT_SHIFT Reduce 839 RIGHT_SHIFT Reduce 839 UNSIGNED_RIGHT_SHIFT Reduce 839 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1207 OR_OR Reduce 839 AND_AND Reduce 839 XOR Reduce 839 AND Reduce 839 OR Reduce 839 GREATER Reduce 839 LESS Reduce 839 RPAREN Reduce 839 RBRACE Reduce 839 SEMICOLON Reduce 839 QUESTION Reduce 839 COMMA Reduce 839 AT Reduce 839 RestrictedIdentifiersealed Reduce 839 $eof Reduce 839 Default reduction to rule 839 STATE 641 ---------------------------------------------------------------------- ( 407 ) AdditiveExpression ::= AdditiveExpression .PLUS MultiplicativeExpression AdditiveExpression ::= AdditiveExpression .MINUS MultiplicativeExpression ShiftExpression_NotName ::= Name LEFT_SHIFT AdditiveExpression . (837) MINUS Shift 332 PLUS Shift 333 abstract Reduce 837 final Reduce 837 instanceof Reduce 837 native Reduce 837 non-sealed Reduce 837 private Reduce 837 protected Reduce 837 public Reduce 837 static Reduce 837 strictfp Reduce 837 synchronized Reduce 837 transient Reduce 837 volatile Reduce 837 EQUAL_EQUAL Reduce 837 LESS_EQUAL Reduce 837 GREATER_EQUAL Reduce 837 NOT_EQUAL Reduce 837 LEFT_SHIFT Reduce 837 RIGHT_SHIFT Reduce 837 UNSIGNED_RIGHT_SHIFT Reduce 837 OR_OR Reduce 837 AND_AND Reduce 837 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1208 XOR Reduce 837 AND Reduce 837 OR Reduce 837 GREATER Reduce 837 LESS Reduce 837 RPAREN Reduce 837 RBRACE Reduce 837 SEMICOLON Reduce 837 QUESTION Reduce 837 COMMA Reduce 837 AT Reduce 837 RestrictedIdentifiersealed Reduce 837 $eof Reduce 837 Default reduction to rule 837 STATE 642 ---------------------------------------------------------------------- ( 408 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name MINUS MultiplicativeExpression . (834) REMAINDER Shift 326 DIVIDE Shift 327 MULTIPLY Shift 328 abstract Reduce 834 final Reduce 834 instanceof Reduce 834 native Reduce 834 non-sealed Reduce 834 private Reduce 834 protected Reduce 834 public Reduce 834 static Reduce 834 strictfp Reduce 834 synchronized Reduce 834 transient Reduce 834 volatile Reduce 834 EQUAL_EQUAL Reduce 834 LESS_EQUAL Reduce 834 GREATER_EQUAL Reduce 834 NOT_EQUAL Reduce 834 LEFT_SHIFT Reduce 834 RIGHT_SHIFT Reduce 834 UNSIGNED_RIGHT_SHIFT Reduce 834 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1209 OR_OR Reduce 834 AND_AND Reduce 834 PLUS Reduce 834 MINUS Reduce 834 XOR Reduce 834 AND Reduce 834 OR Reduce 834 GREATER Reduce 834 LESS Reduce 834 RPAREN Reduce 834 RBRACE Reduce 834 SEMICOLON Reduce 834 QUESTION Reduce 834 COMMA Reduce 834 AT Reduce 834 RestrictedIdentifiersealed Reduce 834 $eof Reduce 834 Default reduction to rule 834 STATE 643 ---------------------------------------------------------------------- ( 409 ) MultiplicativeExpression ::= MultiplicativeExpression .MULTIPLY UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .DIVIDE UnaryExpression MultiplicativeExpression ::= MultiplicativeExpression .REMAINDER UnaryExpression AdditiveExpression_NotName ::= Name PLUS MultiplicativeExpression . (832) REMAINDER Shift 326 DIVIDE Shift 327 MULTIPLY Shift 328 abstract Reduce 832 final Reduce 832 instanceof Reduce 832 native Reduce 832 non-sealed Reduce 832 private Reduce 832 protected Reduce 832 public Reduce 832 static Reduce 832 strictfp Reduce 832 synchronized Reduce 832 transient Reduce 832 volatile Reduce 832 EQUAL_EQUAL Reduce 832 LESS_EQUAL Reduce 832 GREATER_EQUAL Reduce 832 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1210 NOT_EQUAL Reduce 832 LEFT_SHIFT Reduce 832 RIGHT_SHIFT Reduce 832 UNSIGNED_RIGHT_SHIFT Reduce 832 OR_OR Reduce 832 AND_AND Reduce 832 PLUS Reduce 832 MINUS Reduce 832 XOR Reduce 832 AND Reduce 832 OR Reduce 832 GREATER Reduce 832 LESS Reduce 832 RPAREN Reduce 832 RBRACE Reduce 832 SEMICOLON Reduce 832 QUESTION Reduce 832 COMMA Reduce 832 AT Reduce 832 RestrictedIdentifiersealed Reduce 832 $eof Reduce 832 Default reduction to rule 832 STATE 644 ---------------------------------------------------------------------- ( 413 ) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression .COLON ConditionalExpression COLON Shift 779 STATE 645 ---------------------------------------------------------------------- ( 414 ) ConditionalAndExpression ::= ConditionalAndExpression .AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= ConditionalOrExpression_NotName OR_OR ConditionalAndExpression . (872) AND_AND Shift 346 abstract Reduce 872 final Reduce 872 native Reduce 872 non-sealed Reduce 872 private Reduce 872 protected Reduce 872 public Reduce 872 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1211 static Reduce 872 strictfp Reduce 872 synchronized Reduce 872 transient Reduce 872 volatile Reduce 872 OR_OR Reduce 872 RPAREN Reduce 872 RBRACE Reduce 872 SEMICOLON Reduce 872 QUESTION Reduce 872 COMMA Reduce 872 AT Reduce 872 RestrictedIdentifiersealed Reduce 872 $eof Reduce 872 Default reduction to rule 872 STATE 646 ---------------------------------------------------------------------- ( 416 ) CatchHeader ::= catch LPAREN CatchFormalParameter .RPAREN LBRACE RPAREN Shift 780 STATE 647 ---------------------------------------------------------------------- ( 416 703 ) CatchFormalParameter ::= Modifiersopt .CatchType VariableDeclaratorId Type ::= .PrimitiveType Type ::= .ReferenceType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1212 Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 Type Gt/Rd 277 UnionType Goto 782 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 1196 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Goto 1196 CatchType Goto 781 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1213 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 648 ---------------------------------------------------------------------- ( 417 ) EnumConstantHeader ::= EnumConstantHeaderName ForceNoDiet Argumentsopt . RestoreDiet RestoreDiet ::= . (249) RestoreDiet Gt/Rd 736 abstract Reduce 249 final Reduce 249 native Reduce 249 non-sealed Reduce 249 private Reduce 249 protected Reduce 249 public Reduce 249 static Reduce 249 strictfp Reduce 249 synchronized Reduce 249 transient Reduce 249 volatile Reduce 249 LBRACE Reduce 249 RBRACE Reduce 249 SEMICOLON Reduce 249 COMMA Reduce 249 AT Reduce 249 RestrictedIdentifiersealed Reduce 249 $eof Reduce 249 Default reduction to rule 249 STATE 649 ---------------------------------------------------------------------- ( 417 ) Arguments ::= LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1214 Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1215 PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1216 FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1217 InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1218 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1219 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 783 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 650 ---------------------------------------------------------------------- ( 418 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen .MethodHeaderExtendedDims MethodHeaderThrowsClause TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1220 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (697) Dimsopt ::= .Dims LBRACKET Shift 228 AT308 Shift 33 Dims Goto 1186 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dimsopt Gt/Rd 265 MethodHeaderExtendedDims Goto 784 abstract Reduce 697 default Reduce 697 final Reduce 697 native Reduce 697 non-sealed Reduce 697 private Reduce 697 protected Reduce 697 public Reduce 697 static Reduce 697 strictfp Reduce 697 synchronized Reduce 697 throws Reduce 697 transient Reduce 697 volatile Reduce 697 AT Reduce 697 RestrictedIdentifiersealed Reduce 697 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1221 $eof Reduce 697 Default reduction to rule 697 STATE 651 ---------------------------------------------------------------------- ( 419 ) RecoveryMethodHeaderName ::= ModifiersWithDefault Type Identifier .LPAREN LPAREN Sh/Rd 930 STATE 652 ---------------------------------------------------------------------- ( 420 ) RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters Type . Identifier LPAREN Identifier Shift 785 STATE 653 ---------------------------------------------------------------------- ( 421 ) ArrayCreationHeader ::= new PrimitiveType DimWithOrWithOutExprs . (573) DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 33 TypeAnnotations Goto 514 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1222 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 514 DimWithOrWithOutExpr Gt/Rd 580 abstract Reduce 573 final Reduce 573 native Reduce 573 non-sealed Reduce 573 private Reduce 573 protected Reduce 573 public Reduce 573 static Reduce 573 strictfp Reduce 573 synchronized Reduce 573 transient Reduce 573 volatile Reduce 573 AT Reduce 573 RestrictedIdentifiersealed Reduce 573 $eof Reduce 573 LBRACKET Reduce 78 Default reduction to rule 573 STATE 654 ---------------------------------------------------------------------- ( 422 ) AllocationHeader ::= new ClassType LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1223 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1224 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1225 ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1226 RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1227 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1228 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 786 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 655 ---------------------------------------------------------------------- ( 423 ) ArrayCreationHeader ::= new ClassOrInterfaceType DimWithOrWithOutExprs . (574) DimWithOrWithOutExprs ::= DimWithOrWithOutExprs .DimWithOrWithOutExpr TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET Expression RBRACKET DimWithOrWithOutExpr ::= .TypeAnnotationsopt LBRACKET RBRACKET AT308 Shift 33 TypeAnnotations Goto 514 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1229 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 514 DimWithOrWithOutExpr Gt/Rd 580 abstract Reduce 574 final Reduce 574 native Reduce 574 non-sealed Reduce 574 private Reduce 574 protected Reduce 574 public Reduce 574 static Reduce 574 strictfp Reduce 574 synchronized Reduce 574 transient Reduce 574 volatile Reduce 574 AT Reduce 574 RestrictedIdentifiersealed Reduce 574 $eof Reduce 574 LBRACKET Reduce 78 Default reduction to rule 574 STATE 656 ---------------------------------------------------------------------- ( 424 438 ) RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type .Identifier LPAREN Identifier Shift 787 STATE 657 ---------------------------------------------------------------------- ( 425 ) VariableDeclaratorId ::= Identifier .Dimsopt RecoveryMethodHeaderName ::= Modifiersopt Type Identifier .LPAREN TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1230 Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) LPAREN Sh/Rd 928 AT308 Shift 33 LBRACKET Shift 228 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Gt/Rd 250 Dimsopt Gt/Rd 250 SEMICOLON Reduce 697 COMMA Reduce 697 EQUAL Reduce 697 Default reduction to rule 697 STATE 658 ---------------------------------------------------------------------- ( 426 ) ModuleHeader ::= Modifiersopt ModuleModifieropt module .UnannotatableName UnannotatableName ::= .UnannotatableName DOT SimpleName Identifier Shift 788 SimpleName Goto 788 UnannotatableName Goto 788 STATE 659 ---------------------------------------------------------------------- ( 428 ) UnannotatableName ::= UnannotatableName .DOT SimpleName SingleRequiresModuleName ::= requires RequiresModifiersopt UnannotatableName . (122) DOT Shift 448 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1231 SEMICOLON Reduce 122 Default reduction to rule 122 STATE 660 ---------------------------------------------------------------------- ( 431 ) TargetModuleListopt ::= to TargetModuleNameList . (132) TargetModuleNameList ::= TargetModuleNameList .COMMA TargetModuleName COMMA Shift 789 SEMICOLON Reduce 132 Default reduction to rule 132 STATE 661 ---------------------------------------------------------------------- ( 431 789 ) UnannotatableName ::= UnannotatableName .DOT SimpleName TargetModuleName ::= UnannotatableName . (133) DOT Shift 448 SEMICOLON Reduce 133 COMMA Reduce 133 Default reduction to rule 133 STATE 662 ---------------------------------------------------------------------- ( 435 ) ServiceImplNameList ::= ServiceImplNameList .COMMA ServiceImplName WithClause ::= with ServiceImplNameList . (146) COMMA Shift 790 SEMICOLON Reduce 146 Default reduction to rule 146 STATE 663 ---------------------------------------------------------------------- ( 435 790 ) QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1232 ServiceImplName ::= Name . (143) DOT Shift 219 SEMICOLON Reduce 143 COMMA Reduce 143 Default reduction to rule 143 STATE 664 ---------------------------------------------------------------------- ( 439 ) Initializer ::= Diet NestedMethod CreateInitializer .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) OpenBlock Goto 88 Block Gt/Rd 228 LBRACE Reduce 375 Default reduction to rule 375 STATE 665 ---------------------------------------------------------------------- ( 440 ) MethodBody ::= NestedMethod LBRACE BlockStatementsopt .RBRACE RBRACE Sh/Rd 282 STATE 666 ---------------------------------------------------------------------- ( 441 ) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations . ReduceImports InternalCompilationUnit ::= PackageDeclaration ImportDeclarations . ReduceImports TypeDeclarations ImportDeclarations ::= ImportDeclarations .ImportDeclaration ReduceImports ::= . (147) SingleTypeImportDeclaration ::= .SingleTypeImportDeclarationName SEMICOLON SingleTypeImportDeclarationName ::= .import Name RejectTypeAnnotations TypeImportOnDemandDeclaration ::= .TypeImportOnDemandDeclarationName SEMICOLON TypeImportOnDemandDeclarationName ::= .import Name DOT RejectTypeAnnotations MULTIPLY SingleStaticImportDeclaration ::= .SingleStaticImportDeclarationName SEMICOLON SingleStaticImportDeclarationName ::= .import static Name RejectTypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1233 StaticImportOnDemandDeclaration ::= .StaticImportOnDemandDeclarationName SEMICOLON StaticImportOnDemandDeclarationName ::= .import static Name DOT RejectTypeAnnotations MULTIPLY import Shift 161 SingleTypeImportDeclarationName Goto 162 TypeImportOnDemandDeclarationName Goto 160 SingleStaticImportDeclarationName Goto 159 StaticImportOnDemandDeclarationName Goto 158 SingleTypeImportDeclaration Gt/Rd 173 TypeImportOnDemandDeclaration Gt/Rd 173 SingleStaticImportDeclaration Gt/Rd 173 StaticImportOnDemandDeclaration Gt/Rd 173 ReduceImports Goto 791 ImportDeclaration Gt/Rd 173 abstract Reduce 147 class Reduce 147 enum Reduce 147 final Reduce 147 interface Reduce 147 native Reduce 147 non-sealed Reduce 147 private Reduce 147 protected Reduce 147 public Reduce 147 static Reduce 147 strictfp Reduce 147 synchronized Reduce 147 transient Reduce 147 volatile Reduce 147 SEMICOLON Reduce 147 AT Reduce 147 RestrictedIdentifierrecord Reduce 147 RestrictedIdentifiersealed Reduce 147 $eof Reduce 147 Default reduction to rule 147 STATE 667 ---------------------------------------------------------------------- ( 441 ) InternalCompilationUnit ::= PackageDeclaration TypeDeclarations . (99) TypeDeclarations ::= TypeDeclarations .TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1234 Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1235 Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 190 AT Shift 98 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiers Goto 145 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 987 Modifiersopt Goto 57 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 ClassDeclaration Gt/Rd 175 InterfaceDeclaration Gt/Rd 175 EnumDeclaration Gt/Rd 175 AnnotationTypeDeclaration Gt/Rd 175 RecordDeclaration Gt/Rd 175 TypeDeclaration Gt/Rd 175 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1236 $eof Reduce 99 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 668 ---------------------------------------------------------------------- ( 442 ) ModuleBody ::= LBRACE .ModuleStatementsOpt RBRACE ModuleStatementsOpt ::= . (112) ModuleStatementsOpt ::= .ModuleStatements ModuleStatements ::= .ModuleStatement ModuleStatements ::= .ModuleStatements ModuleStatement ModuleStatement ::= .RequiresStatement ModuleStatement ::= .ExportsStatement ModuleStatement ::= .OpensStatement ModuleStatement ::= .UsesStatement ModuleStatement ::= .ProvidesStatement RequiresStatement ::= .SingleRequiresModuleName SEMICOLON SingleRequiresModuleName ::= .requires RequiresModifiersopt UnannotatableName ExportsStatement ::= .ExportsHeader TargetModuleListopt SEMICOLON ExportsHeader ::= .exports SinglePkgName OpensStatement ::= .OpensHeader TargetModuleListopt SEMICOLON OpensHeader ::= .opens SinglePkgName UsesStatement ::= .UsesHeader SEMICOLON UsesHeader ::= .uses Name ProvidesStatement ::= .ProvidesInterface WithClause SEMICOLON ProvidesInterface ::= .provides Name provides Shift 200 uses Shift 198 opens Shift 202 exports Shift 196 requires Shift 194 ModuleStatement Gt/Rd 114 ModuleStatements Goto 793 SingleRequiresModuleName Goto 193 ExportsHeader Goto 195 OpensHeader Goto 201 UsesHeader Goto 197 ProvidesInterface Goto 199 RequiresStatement Gt/Rd 116 ExportsStatement Gt/Rd 117 OpensStatement Gt/Rd 118 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1237 UsesStatement Gt/Rd 119 ProvidesStatement Gt/Rd 120 ModuleStatementsOpt Goto 792 RBRACE Reduce 112 Default reduction to rule 112 STATE 669 ---------------------------------------------------------------------- ( 445 ) InternalCompilationUnit ::= ImportDeclarations ReduceImports . (100) InternalCompilationUnit ::= ImportDeclarations ReduceImports .TypeDeclarations InternalCompilationUnit ::= ImportDeclarations ReduceImports . ModuleDeclaration 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 ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1238 RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 190 AT Shift 98 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 Modifiersopt Goto 443 ModuleHeader Goto 442 ClassDeclaration Goto 794 InterfaceDeclaration Goto 794 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1239 EnumDeclaration Goto 794 AnnotationTypeDeclaration Goto 794 RecordDeclaration Goto 794 RecordHeaderName Goto 53 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 49 EnumHeaderName Goto 46 EnumHeader Goto 47 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 ClassHeaderName Goto 56 Modifier Goto 987 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 ClassHeaderName1 Goto 58 ClassHeader Goto 59 TypeDeclaration Goto 794 TypeDeclarations Goto 794 ModuleDeclaration Gt/Rd 104 $eof Reduce 100 class Reduce 693 enum Reduce 693 interface Reduce 693 module Reduce 693 open Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 670 ---------------------------------------------------------------------- ( 451 ) MemberValuePairs ::= MemberValuePairs COMMA .MemberValuePair MemberValuePair ::= .SimpleName EQUAL EnterMemberValue MemberValue ExitMemberValue Identifier Shift 795 SimpleName Goto 795 MemberValuePair Gt/Rd 909 STATE 671 ---------------------------------------------------------------------- ( 452 795 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1240 MemberValuePair ::= SimpleName EQUAL .EnterMemberValue MemberValue ExitMemberValue EnterMemberValue ::= . (911) EnterMemberValue Goto 796 Identifier Reduce 911 boolean Reduce 911 byte Reduce 911 char Reduce 911 double Reduce 911 false Reduce 911 float Reduce 911 int Reduce 911 long Reduce 911 new Reduce 911 null Reduce 911 short Reduce 911 super Reduce 911 switch Reduce 911 this Reduce 911 true Reduce 911 void Reduce 911 IntegerLiteral Reduce 911 LongLiteral Reduce 911 FloatingPointLiteral Reduce 911 DoubleLiteral Reduce 911 CharacterLiteral Reduce 911 StringLiteral Reduce 911 TextBlock Reduce 911 PLUS_PLUS Reduce 911 MINUS_MINUS Reduce 911 PLUS Reduce 911 MINUS Reduce 911 NOT Reduce 911 TWIDDLE Reduce 911 LPAREN Reduce 911 LBRACE Reduce 911 AT Reduce 911 BeginLambda Reduce 911 BeginIntersectionCast Reduce 911 AT308 Reduce 911 Default reduction to rule 911 STATE 672 ---------------------------------------------------------------------- ( 458 ) TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1241 TypeArgumentList ::= TypeArgumentList .COMMA TypeArgument TypeArgumentList2 ::= TypeArgumentList .COMMA TypeArgument2 COMMA Shift 797 STATE 673 ---------------------------------------------------------------------- ( 458 797 798 868 869 911 943 944 ) ClassOrInterfaceType ::= ClassOrInterface . (58) GenericType ::= ClassOrInterface .TypeArguments GenericType ::= ClassOrInterface .LESS GREATER ReferenceType1 ::= ClassOrInterface .LESS TypeArgumentList2 ReferenceType2 ::= ClassOrInterface .LESS TypeArgumentList3 TypeArguments ::= .LESS TypeArgumentList1 LESS Shift 798 TypeArguments Gt/Rd 62 RIGHT_SHIFT Reduce 56 UNSIGNED_RIGHT_SHIFT Reduce 56 GREATER Reduce 56 COMMA Reduce 56 Default reduction to rule 58 STATE 674 ---------------------------------------------------------------------- ( 458 797 ) TypeArgument ::= ReferenceType . (760) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT RIGHT_SHIFT Sh/Rd 770 GREATER Sh/Rd 764 COMMA Reduce 760 Default reduction to rule 760 STATE 675 ---------------------------------------------------------------------- ( 458 797 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void Wildcard ::= TypeAnnotationsopt .QUESTION IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1242 Wildcard ::= TypeAnnotationsopt .QUESTION WildcardBounds Wildcard1 ::= TypeAnnotationsopt .QUESTION GREATER Wildcard1 ::= TypeAnnotationsopt .QUESTION WildcardBounds1 Wildcard2 ::= TypeAnnotationsopt .QUESTION RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt .QUESTION WildcardBounds2 QUESTION Shift 799 void Sh/Rd 48 boolean Sh/Rd 47 double Sh/Rd 44 float Sh/Rd 44 char Sh/Rd 44 long Sh/Rd 44 int Sh/Rd 44 short Sh/Rd 44 byte Sh/Rd 44 IntegralType Gt/Rd 44 FloatingPointType Gt/Rd 44 NumericType Gt/Rd 44 STATE 676 ---------------------------------------------------------------------- ( 459 ) WildcardBounds ::= super .ReferenceType WildcardBounds1 ::= super .ReferenceType1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1243 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 ReferenceType Goto 800 ClassOrInterface Goto 223 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotationsopt Goto 100 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 800 ReferenceType1 Gt/Rd 784 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 677 ---------------------------------------------------------------------- ( 459 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1244 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 ReferenceType Goto 801 ClassOrInterface Goto 223 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1245 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotationsopt Goto 100 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 801 ReferenceType1 Gt/Rd 783 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 678 ---------------------------------------------------------------------- ( 465 ) TypeElidedFormalParameter ::= Modifiersopt .Identifier Identifier Sh/Rd 552 STATE 679 ---------------------------------------------------------------------- ( 466 ) FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT .TypeAnnotations ELLIPSIS VariableDeclaratorIdOrThis TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1246 AT308 Shift 33 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotations Goto 802 STATE 680 ---------------------------------------------------------------------- ( 466 ) FormalParameter ::= Modifiersopt Type PushZeroTypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis ELLIPSIS Shift 803 STATE 681 ---------------------------------------------------------------------- ( 466 803 870 ) SimpleName ::= Identifier . (73) VariableDeclaratorId ::= Identifier .Dimsopt TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) LBRACKET Shift 228 AT308 Shift 33 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1247 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Gt/Rd 250 Dimsopt Gt/Rd 250 DOT Reduce 74 RPAREN Reduce 697 COMMA Reduce 697 Default reduction to rule 697 STATE 682 ---------------------------------------------------------------------- ( 466 803 870 ) UnannotatableName ::= UnannotatableName .DOT SimpleName VariableDeclaratorIdOrThis ::= UnannotatableName .DOT this DOT Shift 804 STATE 683 ---------------------------------------------------------------------- ( 469 479 ) InterfaceTypeList ::= InterfaceTypeList COMMA .InterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1248 SingleMemberAnnotationMemberValue RPAREN InterfaceType ::= .ClassOrInterfaceType AT308 Shift 33 Identifier Shift 982 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Gt/Rd 219 InterfaceType Gt/Rd 218 STATE 684 ---------------------------------------------------------------------- ( 470 ) EnumBody ::= LBRACE COMMA EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 730 STATE 685 ---------------------------------------------------------------------- ( 473 ) EnumBody ::= LBRACE EnumConstants EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 732 STATE 686 ---------------------------------------------------------------------- ( 473 ) EnumBody ::= LBRACE EnumConstants COMMA .EnumBodyDeclarationsopt RBRACE EnumConstants ::= EnumConstants COMMA .EnumConstant Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1249 Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers EnumConstantHeaderName ::= .Modifiersopt Identifier EnumConstantHeader ::= .EnumConstantHeaderName ForceNoDiet Argumentsopt RestoreDiet EnumConstant ::= .EnumConstantHeader ForceNoDiet ClassBody RestoreDiet EnumConstant ::= .EnumConstantHeader EnumDeclarations ::= .SEMICOLON ClassBodyDeclarationsopt EnumBodyDeclarationsopt ::= . (743) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Shift 472 AT Shift 28 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 EnumConstantHeaderName Goto 188 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1250 Modifiersopt Goto 474 EnumConstantHeader Goto 475 EnumDeclarations Goto 805 EnumBodyDeclarationsopt Goto 805 EnumConstant Gt/Rd 734 RBRACE Reduce 743 Identifier Reduce 693 Default reduction to rule 743 STATE 687 ---------------------------------------------------------------------- ( 475 ) EnumConstant ::= EnumConstantHeader ForceNoDiet .ClassBody RestoreDiet ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 256 ClassBody Goto 806 STATE 688 ---------------------------------------------------------------------- ( 477 ) AnnotationTypeMemberDeclarationsopt ::= NestedType AnnotationTypeMemberDeclarations . (888) AnnotationTypeMemberDeclarations ::= AnnotationTypeMemberDeclarations . AnnotationTypeMemberDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1251 ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier EnumHeaderName ::= .Modifiersopt enum Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier AnnotationTypeDeclarationHeaderName ::= .Modifiers AT PushRealModifiers interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier TypeParameters AnnotationTypeDeclarationHeaderName ::= .AT PushModifiersForHeader interface Identifier AnnotationTypeDeclarationHeader ::= .AnnotationTypeDeclarationHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt AnnotationTypeDeclaration ::= .AnnotationTypeDeclarationHeader AnnotationTypeBody AnnotationMethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN AnnotationMethodHeaderName ::= .Modifiersopt Type Identifier LPAREN AnnotationMethodHeader ::= .AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims AnnotationMethodHeaderDefaultValueopt AnnotationTypeMemberDeclaration ::= .AnnotationMethodHeader SEMICOLON Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1252 Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN SEMICOLON Sh/Rd 190 AT Shift 98 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AnnotationMethodHeaderName Goto 157 Modifiers Goto 145 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 155 FieldDeclaration Gt/Rd 890 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassDeclaration Gt/Rd 890 InterfaceDeclaration Gt/Rd 890 EnumDeclaration Gt/Rd 890 AnnotationTypeDeclaration Gt/Rd 890 RecordDeclaration Gt/Rd 890 RecordHeaderName Goto 53 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 AnnotationTypeDeclarationHeaderName Goto 48 AnnotationTypeDeclarationHeader Goto 49 EnumHeaderName Goto 46 EnumHeader Goto 47 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 ClassHeaderName Goto 56 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1253 ClassHeaderName1 Goto 58 ClassHeader Goto 59 AnnotationMethodHeader Goto 154 ConstantDeclaration Gt/Rd 890 ConstructorDeclaration Gt/Rd 890 TypeDeclaration Gt/Rd 890 AnnotationTypeMemberDeclaration Gt/Rd 890 RBRACE Reduce 888 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 689 ---------------------------------------------------------------------- ( 478 ) ClassTypeList ::= ClassTypeList .COMMA ClassTypeElt InterfaceHeaderPermittedSubClassesAndSubInterfaces ::= RestrictedIdentifierpermits ClassTypeList . (713) COMMA Shift 220 abstract Reduce 713 final Reduce 713 native Reduce 713 non-sealed Reduce 713 private Reduce 713 protected Reduce 713 public Reduce 713 static Reduce 713 strictfp Reduce 713 synchronized Reduce 713 transient Reduce 713 volatile Reduce 713 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1254 LBRACE Reduce 713 AT Reduce 713 RestrictedIdentifiersealed Reduce 713 $eof Reduce 713 Default reduction to rule 713 STATE 690 ---------------------------------------------------------------------- ( 480 ) TypeParameterList ::= TypeParameterList COMMA .TypeParameter TypeParameterList1 ::= TypeParameterList COMMA .TypeParameter1 TypeAnnotationsopt ::= . (78) TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN TypeParameterHeader ::= .TypeAnnotationsopt Identifier TypeParameter ::= .TypeParameterHeader TypeParameter ::= .TypeParameterHeader extends ReferenceType TypeParameter ::= .TypeParameterHeader extends ReferenceType AdditionalBoundList TypeParameter1 ::= .TypeParameterHeader GREATER TypeParameter1 ::= .TypeParameterHeader extends ReferenceType1 TypeParameter1 ::= .TypeParameterHeader extends ReferenceType AdditionalBoundList1 AT308 Shift 33 TypeParameterHeader Goto 482 TypeAnnotationsopt Goto 481 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 481 TypeParameter Gt/Rd 796 TypeParameter1 Gt/Rd 804 Identifier Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1255 Default reduction to rule 78 STATE 691 ---------------------------------------------------------------------- ( 482 ) TypeParameter ::= TypeParameterHeader extends .ReferenceType TypeParameter ::= TypeParameterHeader extends .ReferenceType AdditionalBoundList TypeParameter1 ::= TypeParameterHeader extends .ReferenceType1 TypeParameter1 ::= TypeParameterHeader extends .ReferenceType AdditionalBoundList1 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ReferenceType1 ::= .ReferenceType GREATER ReferenceType1 ::= .ClassOrInterface LESS TypeArgumentList2 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1256 AT308 Shift 33 Identifier Shift 982 ReferenceType Goto 807 ClassOrInterface Goto 223 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotationsopt Goto 100 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 807 ReferenceType1 Gt/Rd 806 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 692 ---------------------------------------------------------------------- ( 484 ) InterfaceMemberDeclarations ::= InterfaceMemberDeclarations . InterfaceMemberDeclaration InterfaceMemberDeclarationsopt ::= NestedType InterfaceMemberDeclarations . (715) 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:11:53 2021 Page 1257 Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier Diet ::= . (227) Initializer ::= .Diet NestedMethod CreateInitializer Block FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier InterfaceMemberDeclaration ::= .SEMICOLON InterfaceMemberDeclaration ::= .DefaultMethodHeader MethodBody InterfaceMemberDeclaration ::= .MethodHeader MethodBody InterfaceMemberDeclaration ::= .DefaultMethodHeader SEMICOLON InvalidConstructorDeclaration ::= .ConstructorHeader MethodBody InvalidConstructorDeclaration ::= .ConstructorHeader SEMICOLON RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1258 RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 private Shift 978 protected Shift 978 public Shift 978 static Shift 139 AT Shift 98 SEMICOLON Sh/Rd 309 FieldDeclaration Gt/Rd 308 Modifiers Goto 145 Annotation Gt/Rd 209 AnnotationName Goto 29 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1259 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 150 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 MethodHeaderName Goto 143 MethodHeader Goto 694 ConstructorHeader Goto 693 ConstructorHeaderName Goto 136 StaticInitializer Gt/Rd 308 Initializer Gt/Rd 308 Diet Goto 205 StaticOnly Goto 138 ClassHeader Goto 59 ClassHeaderName1 Goto 58 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 ConstantDeclaration Gt/Rd 308 DefaultMethodHeader Goto 695 AbstractMethodDeclaration Gt/Rd 308 InvalidConstructorDeclaration Gt/Rd 308 InvalidInitializer Gt/Rd 308 ClassDeclaration Gt/Rd 308 InterfaceDeclaration Gt/Rd 308 EnumDeclaration Gt/Rd 308 AnnotationTypeDeclaration Gt/Rd 308 RecordDeclaration Gt/Rd 308 InterfaceMemberDeclaration Gt/Rd 308 RBRACE Reduce 715 LBRACE Reduce 227 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1260 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 693 ---------------------------------------------------------------------- ( 484 692 ) InvalidConstructorDeclaration ::= ConstructorHeader .MethodBody InvalidConstructorDeclaration ::= ConstructorHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (283) SEMICOLON Sh/Rd 315 NestedMethod Goto 206 MethodBody Gt/Rd 314 LBRACE Reduce 283 Default reduction to rule 283 STATE 694 ---------------------------------------------------------------------- ( 484 692 ) AbstractMethodDeclaration ::= MethodHeader .SEMICOLON InterfaceMemberDeclaration ::= MethodHeader .MethodBody MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (283) SEMICOLON Sh/Rd 256 NestedMethod Goto 206 MethodBody Gt/Rd 312 LBRACE Reduce 283 Default reduction to rule 283 STATE 695 ---------------------------------------------------------------------- ( 484 692 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1261 InterfaceMemberDeclaration ::= DefaultMethodHeader .MethodBody InterfaceMemberDeclaration ::= DefaultMethodHeader .SEMICOLON MethodBody ::= .NestedMethod LBRACE BlockStatementsopt RBRACE NestedMethod ::= . (283) SEMICOLON Sh/Rd 313 NestedMethod Goto 206 MethodBody Gt/Rd 311 LBRACE Reduce 283 Default reduction to rule 283 STATE 696 ---------------------------------------------------------------------- ( 486 ) RecordComponent ::= Modifiersopt Type .VariableDeclaratorId VariableArityRecordComponent ::= Modifiersopt Type .PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId VariableArityRecordComponent ::= Modifiersopt Type .AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId PushZeroTypeAnnotations ::= . (91) VariableDeclaratorId ::= .Identifier Dimsopt AT308DOTDOTDOT Shift 808 Identifier Shift 545 VariableDeclaratorId Gt/Rd 338 PushZeroTypeAnnotations Goto 809 ELLIPSIS Reduce 91 Default reduction to rule 91 STATE 697 ---------------------------------------------------------------------- ( 487 ) RecordComponents ::= RecordComponents COMMA .RecordComponent 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:11:53 2021 Page 1262 Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation RecordComponent ::= .Modifiersopt Type VariableDeclaratorId VariableArityRecordComponent ::= .Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS VariableDeclaratorId VariableArityRecordComponent ::= .Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS VariableDeclaratorId Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 Modifiersopt Goto 486 Modifier Goto 978 Modifiers Goto 30 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 VariableArityRecordComponent Gt/Rd 336 RecordComponent Gt/Rd 336 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1263 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 698 ---------------------------------------------------------------------- ( 490 ) ClassHeaderPermittedSubclasses ::= RestrictedIdentifierpermits .ClassTypeList ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ClassType ::= .ClassOrInterfaceType Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ClassTypeList ::= .ClassTypeList COMMA ClassTypeElt ClassTypeElt ::= .ClassType AT308 Shift 33 Identifier Shift 982 ClassType Gt/Rd 281 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1264 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 985 ClassTypeElt Goto 810 ClassTypeList Goto 810 STATE 699 ---------------------------------------------------------------------- ( 493 ) ClassBodyDeclarations ::= ClassBodyDeclarations .ClassBodyDeclaration ClassBodyDeclarationsopt ::= NestedType ClassBodyDeclarations . (692) Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ClassBodyDeclaration ::= .Diet NestedMethod CreateInitializer Block Diet ::= . (227) ClassMemberDeclaration ::= .SEMICOLON FieldDeclaration ::= .Modifiersopt Type VariableDeclarators SEMICOLON MethodDeclaration ::= .MethodHeader MethodBody MethodDeclaration ::= .DefaultMethodHeader MethodBody IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1265 AbstractMethodDeclaration ::= .MethodHeader SEMICOLON MethodHeader ::= .MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt DefaultMethodHeader ::= .DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims MethodHeaderThrowsClauseopt MethodHeaderName ::= .Modifiersopt TypeParameters Type Identifier LPAREN MethodHeaderName ::= .Modifiersopt Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault TypeParameters Type Identifier LPAREN DefaultMethodHeaderName ::= .ModifiersWithDefault Type Identifier LPAREN ModifiersWithDefault ::= .Modifiersopt default Modifiersopt ConstructorHeader ::= .ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt ConstructorHeaderName ::= .Modifiersopt TypeParameters Identifier LPAREN ConstructorHeaderName ::= .Modifiersopt Identifier LPAREN StaticInitializer ::= .StaticOnly Block StaticOnly ::= .static ConstructorDeclaration ::= .ConstructorHeader MethodBody ConstructorDeclaration ::= .ConstructorHeader SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1266 Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 139 private Shift 978 protected Shift 978 public Shift 978 AT Shift 98 SEMICOLON Sh/Rd 237 FieldDeclaration Gt/Rd 222 MethodDeclaration Gt/Rd 222 ClassDeclaration Gt/Rd 222 InterfaceDeclaration Gt/Rd 222 EnumDeclaration Gt/Rd 222 AnnotationTypeDeclaration Gt/Rd 222 RecordDeclaration Gt/Rd 222 RecordHeaderName Goto 53 Modifiersopt Goto 150 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 49 EnumHeaderName Goto 46 EnumHeader Goto 47 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 ClassHeaderName Goto 56 ClassHeaderName1 Goto 58 ClassHeader Goto 59 MethodHeader Goto 144 MethodHeaderName Goto 143 DefaultMethodHeaderName Goto 142 ModifiersWithDefault Goto 141 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1267 AbstractMethodDeclaration Gt/Rd 222 DefaultMethodHeader Goto 140 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 StaticOnly Goto 138 ConstructorHeader Goto 137 ConstructorHeaderName Goto 136 ClassMemberDeclaration Gt/Rd 222 StaticInitializer Gt/Rd 222 ConstructorDeclaration Gt/Rd 222 Diet Goto 135 ClassBodyDeclaration Gt/Rd 222 RBRACE Reduce 692 LBRACE Reduce 227 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 class Reduce 693 default Reduce 693 double Reduce 693 enum Reduce 693 float Reduce 693 int Reduce 693 interface Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 LESS Reduce 693 AT308 Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 700 ---------------------------------------------------------------------- ( 494 ) TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt . (491) TryStatementWithResources ::= try ResourceSpecification TryBlock Catchesopt . Finally Finally ::= .finally Block finally Shift 702 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1268 Finally Gt/Rd 492 Identifier Reduce 491 abstract Reduce 491 assert Reduce 491 boolean Reduce 491 break Reduce 491 byte Reduce 491 case Reduce 491 char Reduce 491 class Reduce 491 continue Reduce 491 default Reduce 491 do Reduce 491 double Reduce 491 else Reduce 491 enum Reduce 491 false Reduce 491 final Reduce 491 float Reduce 491 for Reduce 491 if Reduce 491 int Reduce 491 interface Reduce 491 long Reduce 491 native Reduce 491 new Reduce 491 non-sealed Reduce 491 null Reduce 491 private Reduce 491 protected Reduce 491 public Reduce 491 return Reduce 491 short Reduce 491 static Reduce 491 strictfp Reduce 491 super Reduce 491 switch Reduce 491 synchronized Reduce 491 this Reduce 491 throw Reduce 491 transient Reduce 491 true Reduce 491 try Reduce 491 void Reduce 491 volatile Reduce 491 while Reduce 491 IntegerLiteral Reduce 491 LongLiteral Reduce 491 FloatingPointLiteral Reduce 491 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1269 DoubleLiteral Reduce 491 CharacterLiteral Reduce 491 StringLiteral Reduce 491 TextBlock Reduce 491 PLUS_PLUS Reduce 491 MINUS_MINUS Reduce 491 LESS Reduce 491 LPAREN Reduce 491 LBRACE Reduce 491 RBRACE Reduce 491 SEMICOLON Reduce 491 AT Reduce 491 BeginLambda Reduce 491 AT308 Reduce 491 RestrictedIdentifierYield Reduce 491 RestrictedIdentifierrecord Reduce 491 RestrictedIdentifiersealed Reduce 491 $eof Reduce 491 Default reduction to rule 491 STATE 701 ---------------------------------------------------------------------- ( 494 ) Catches ::= Catches .CatchClause Catchesopt ::= Catches . (724) CatchClause ::= .catch LPAREN CatchFormalParameter RPAREN Block catch Shift 496 CatchClause Gt/Rd 506 Identifier Reduce 724 abstract Reduce 724 assert Reduce 724 boolean Reduce 724 break Reduce 724 byte Reduce 724 case Reduce 724 char Reduce 724 class Reduce 724 continue Reduce 724 default Reduce 724 do Reduce 724 double Reduce 724 else Reduce 724 enum Reduce 724 false Reduce 724 final Reduce 724 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1270 finally Reduce 724 float Reduce 724 for Reduce 724 if Reduce 724 int Reduce 724 interface Reduce 724 long Reduce 724 native Reduce 724 new Reduce 724 non-sealed Reduce 724 null Reduce 724 private Reduce 724 protected Reduce 724 public Reduce 724 return Reduce 724 short Reduce 724 static Reduce 724 strictfp Reduce 724 super Reduce 724 switch Reduce 724 synchronized Reduce 724 this Reduce 724 throw Reduce 724 transient Reduce 724 true Reduce 724 try Reduce 724 void Reduce 724 volatile Reduce 724 while Reduce 724 IntegerLiteral Reduce 724 LongLiteral Reduce 724 FloatingPointLiteral Reduce 724 DoubleLiteral Reduce 724 CharacterLiteral Reduce 724 StringLiteral Reduce 724 TextBlock Reduce 724 PLUS_PLUS Reduce 724 MINUS_MINUS Reduce 724 LESS Reduce 724 LPAREN Reduce 724 LBRACE Reduce 724 RBRACE Reduce 724 SEMICOLON Reduce 724 AT Reduce 724 BeginLambda Reduce 724 AT308 Reduce 724 RestrictedIdentifierYield Reduce 724 RestrictedIdentifierrecord Reduce 724 RestrictedIdentifiersealed Reduce 724 $eof Reduce 724 Default reduction to rule 724 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1271 STATE 702 ---------------------------------------------------------------------- ( 495 700 ) Finally ::= finally .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) OpenBlock Goto 88 Block Gt/Rd 508 LBRACE Reduce 375 Default reduction to rule 375 STATE 703 ---------------------------------------------------------------------- ( 496 ) CatchClause ::= catch LPAREN .CatchFormalParameter RPAREN Block Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation CatchFormalParameter ::= .Modifiersopt CatchType VariableDeclaratorId Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1272 strictfp Shift 978 volatile Shift 978 transient Shift 978 synchronized Shift 978 RestrictedIdentifiersealed Shift 978 non-sealed Shift 978 native Shift 978 final Shift 978 abstract Shift 978 static Shift 978 private Shift 978 protected Shift 978 public Shift 978 AT Shift 28 Modifiers Goto 30 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 978 Modifiersopt Goto 647 CatchFormalParameter Goto 811 Identifier Reduce 693 boolean Reduce 693 byte Reduce 693 char Reduce 693 double Reduce 693 float Reduce 693 int Reduce 693 long Reduce 693 short Reduce 693 void Reduce 693 AT308 Reduce 693 Default reduction to rule 693 STATE 704 ---------------------------------------------------------------------- ( 498 ) Resources ::= Resources TrailingSemiColon .Resource Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1273 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1274 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 ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1275 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 33 AT Shift 28 strictfp Shift 502 volatile Shift 502 transient Shift 502 synchronized Shift 502 RestrictedIdentifiersealed Shift 502 non-sealed Shift 502 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1276 native Shift 502 final Shift 502 abstract Shift 502 static Shift 502 private Shift 502 protected Shift 502 public Shift 502 null Shift 1065 TextBlock Shift 1065 StringLiteral Shift 1065 CharacterLiteral Shift 1065 DoubleLiteral Shift 1065 FloatingPointLiteral Shift 1065 LongLiteral Shift 1065 IntegerLiteral Shift 1065 false Shift 1065 true Shift 1065 LPAREN Sh/Rd 509 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 PrimitiveType Goto 106 ReferenceType Goto 503 ClassOrInterface Goto 36 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1066 Name Goto 501 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 503 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 100 Modifier Goto 502 Modifiers Goto 502 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Primary Goto 499 QualifiedSuperReceiver Goto 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1277 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 499 BooleanLiteral Goto 1065 ClassInstanceCreationExpressionName Goto 78 LambdaParameters Goto 76 Literal Goto 1065 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 1071 FieldAccess Goto 500 MethodInvocation Goto 1070 ArrayAccess Goto 1069 LambdaExpression Goto 1068 ReferenceExpression Goto 1067 Type Goto 503 Resource Gt/Rd 497 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 705 ---------------------------------------------------------------------- ( 498 ) ResourceSpecification ::= LPAREN Resources ;opt .RPAREN RPAREN Sh/Rd 493 STATE 706 ---------------------------------------------------------------------- ( 498 ) ;opt ::= SEMICOLON . (495) TrailingSemiColon ::= SEMICOLON . (498) Identifier Reduce 498 abstract Reduce 498 boolean Reduce 498 byte Reduce 498 char Reduce 498 double Reduce 498 false Reduce 498 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1278 final Reduce 498 float Reduce 498 int Reduce 498 long Reduce 498 native Reduce 498 new Reduce 498 non-sealed Reduce 498 null Reduce 498 private Reduce 498 protected Reduce 498 public Reduce 498 short Reduce 498 static Reduce 498 strictfp Reduce 498 super Reduce 498 synchronized Reduce 498 this Reduce 498 transient Reduce 498 true Reduce 498 void Reduce 498 volatile Reduce 498 IntegerLiteral Reduce 498 LongLiteral Reduce 498 FloatingPointLiteral Reduce 498 DoubleLiteral Reduce 498 CharacterLiteral Reduce 498 StringLiteral Reduce 498 TextBlock Reduce 498 LPAREN Reduce 498 AT Reduce 498 BeginLambda Reduce 498 AT308 Reduce 498 RestrictedIdentifiersealed Reduce 498 RPAREN Reduce 495 Default reduction to rule 498 STATE 707 ---------------------------------------------------------------------- ( 502 ) Resource ::= Modifiers Type .PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization PushRealModifiers ::= . (393) PushRealModifiers Goto 812 Identifier Reduce 393 Default reduction to rule 393 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1279 STATE 708 ---------------------------------------------------------------------- ( 503 ) Resource ::= Type PushModifiers .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 545 VariableDeclaratorId Goto 813 STATE 709 ---------------------------------------------------------------------- ( 504 ) SynchronizedStatement ::= OnlySynchronized LPAREN Expression RPAREN .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) OpenBlock Goto 88 Block Gt/Rd 487 LBRACE Reduce 375 Default reduction to rule 375 STATE 710 ---------------------------------------------------------------------- ( 505 ) DoStatement ::= do Statement while LPAREN .Expression RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1280 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1281 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:11:53 2021 Page 1282 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1283 ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1284 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1285 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 814 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 711 ---------------------------------------------------------------------- ( 506 ) SwitchStatement ::= switch LPAREN Expression RPAREN .OpenBlock SwitchBlock OpenBlock ::= . (375) OpenBlock Goto 815 LBRACE Reduce 375 Default reduction to rule 375 STATE 712 ---------------------------------------------------------------------- ( 507 ) LambdaBody ::= ElidedLeftBraceAndReturn Expression . ElidedSemicolonAndRightBrace ElidedSemicolonAndRightBrace Sh/Rd 553 STATE 713 ---------------------------------------------------------------------- ( 508 ) MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier . IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1286 LPAREN ArgumentListopt RPAREN LPAREN Shift 816 STATE 714 ---------------------------------------------------------------------- ( 509 ) MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1287 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1288 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:11:53 2021 Page 1289 UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1290 ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1291 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 817 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1292 void Reduce 78 Default reduction to rule 78 STATE 715 ---------------------------------------------------------------------- ( 511 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 818 STATE 716 ---------------------------------------------------------------------- ( 512 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1293 TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1294 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArgumentList ::= .Expression ArgumentList ::= .ArgumentList COMMA Expression ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1295 PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1296 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1297 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1298 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 819 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 717 ---------------------------------------------------------------------- ( 514 ) DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET .Expression RBRACKET DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET .RBRACKET Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1299 TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1300 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1301 PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1302 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 582 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1303 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 820 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1304 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 718 ---------------------------------------------------------------------- ( 515 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN UnqualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 1305 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 1306 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1307 PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1308 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1309 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1310 ArgumentListopt Goto 821 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 719 ---------------------------------------------------------------------- ( 516 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt LPAREN Shift 822 STATE 720 ---------------------------------------------------------------------- ( 521 ) MethodInvocation ::= Primary DOT Identifier LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1311 QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1312 LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1313 ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1314 RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1315 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1316 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 823 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 721 ---------------------------------------------------------------------- ( 522 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (563) EnterInstanceCreationArgumentList Goto 824 LPAREN Reduce 563 Default reduction to rule 563 STATE 722 ---------------------------------------------------------------------- ( 522 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments . ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1317 ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 ClassOrInterface Goto 36 GenericType Goto 37 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 Name Goto 38 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 ClassOrInterfaceType Goto 825 ClassType Goto 825 STATE 723 ---------------------------------------------------------------------- ( 523 ) ExplicitConstructorInvocation ::= Primary DOT this LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1318 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1319 PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 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:11:53 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 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1322 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1323 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 826 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 724 ---------------------------------------------------------------------- ( 524 563 ) MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 827 STATE 725 ---------------------------------------------------------------------- ( 524 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1324 ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 828 STATE 726 ---------------------------------------------------------------------- ( 524 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 829 STATE 727 ---------------------------------------------------------------------- ( 525 ) ExplicitConstructorInvocation ::= Primary DOT super LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 1325 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 1326 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1327 UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1328 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1329 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 830 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1330 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 728 ---------------------------------------------------------------------- ( 526 ) MethodInvocation ::= super DOT OnlyTypeArguments Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 831 STATE 729 ---------------------------------------------------------------------- ( 527 ) MethodInvocation ::= super DOT Identifier LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1331 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1332 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1333 ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1334 RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1335 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1336 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 832 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 730 ---------------------------------------------------------------------- ( 529 ) ExplicitConstructorInvocation ::= super LPAREN ArgumentListopt RPAREN . SEMICOLON SEMICOLON Sh/Rd 290 STATE 731 ---------------------------------------------------------------------- ( 530 ) ArgumentList ::= ArgumentList COMMA .Expression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1337 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1338 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:11:53 2021 Page 1339 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1340 ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1341 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1342 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Gt/Rd 572 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 732 ---------------------------------------------------------------------- ( 531 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 833 STATE 733 ---------------------------------------------------------------------- ( 532 ) ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 834 STATE 734 ---------------------------------------------------------------------- ( 533 ) ExplicitConstructorInvocation ::= this LPAREN ArgumentListopt RPAREN . SEMICOLON SEMICOLON Sh/Rd 288 STATE 735 ---------------------------------------------------------------------- ( 535 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1343 AssertStatement ::= assert Expression COLON Expression .SEMICOLON SEMICOLON Sh/Rd 479 STATE 736 ---------------------------------------------------------------------- ( 536 ) 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 ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1344 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 ::= . (375) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1345 IfThenElseStatementNoShortIf ::= .if LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1346 ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1347 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1348 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 for Shift 838 while Shift 839 if Shift 840 Label Goto 841 EnhancedForStatementHeader Goto 837 StatementWithoutTrailingSubstatement Goto 836 LabeledStatementNoShortIf Goto 835 IfThenElseStatementNoShortIf Goto 835 WhileStatementNoShortIf Goto 835 ForStatementNoShortIf Goto 835 EnhancedForStatementNoShortIf Goto 835 AssertStatement Goto 1197 Block Goto 1197 EmptyStatement Goto 1197 ExpressionStatement Goto 1197 SwitchStatement Goto 1197 DoStatement Goto 1197 BreakStatement Goto 1197 ContinueStatement Goto 1197 ReturnStatement Goto 1197 SynchronizedStatement Goto 1197 ThrowStatement Goto 1197 TryStatement Goto 1197 TryStatementWithResources Goto 1197 YieldStatement Goto 1197 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1349 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 EnhancedForStatementHeaderInit Goto 95 LabeledStatement Gt/Rd 434 IfThenStatement Gt/Rd 434 IfThenElseStatement Gt/Rd 434 WhileStatement Gt/Rd 434 ForStatement Gt/Rd 434 EnhancedForStatement Gt/Rd 434 Statement Gt/Rd 434 StatementNoShortIf Goto 835 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1350 STATE 737 ---------------------------------------------------------------------- ( 537 ) WhileStatement ::= while LPAREN Expression RPAREN .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1351 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 ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1352 Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1353 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 EnhancedForStatementHeaderInit ::= .for LPAREN Modifiers Type PushRealModifiers IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1354 Identifier Dimsopt EnhancedForStatementHeader ::= .EnhancedForStatementHeaderInit COLON Expression RPAREN OnlyTypeArguments ::= .LESS TypeArgumentList1 for Shift 94 while Shift 92 if Shift 91 assert Shift 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 AssertStatement Gt/Rd 468 Block Gt/Rd 468 EmptyStatement Gt/Rd 468 ExpressionStatement Gt/Rd 468 SwitchStatement Gt/Rd 468 DoStatement Gt/Rd 468 BreakStatement Gt/Rd 468 ContinueStatement Gt/Rd 468 ReturnStatement Gt/Rd 468 SynchronizedStatement Gt/Rd 468 ThrowStatement Gt/Rd 468 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1355 TryStatement Gt/Rd 468 TryStatementWithResources Gt/Rd 468 YieldStatement Gt/Rd 468 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 Label Goto 90 EnhancedForStatementHeader Goto 93 EnhancedForStatementHeaderInit Goto 95 StatementWithoutTrailingSubstatement Gt/Rd 468 LabeledStatement Gt/Rd 468 IfThenStatement Gt/Rd 468 IfThenElseStatement Gt/Rd 468 WhileStatement Gt/Rd 468 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1356 ForStatement Gt/Rd 468 EnhancedForStatement Gt/Rd 468 Statement Gt/Rd 468 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 738 ---------------------------------------------------------------------- ( 538 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON .Expressionopt SEMICOLON ForUpdateopt RPAREN Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1357 TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1358 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1359 PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1360 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 ::= . (686) MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AssignmentExpression Gt/Rd 683 ConditionalOrExpression Goto 130 InclusiveOrExpression Goto 128 ConditionalAndExpression Goto 131 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1361 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PostfixExpression Goto 132 Literal Goto 997 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 PrimitiveType Goto 112 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 997 ArrayCreationWithoutArrayInitializer Goto 1008 SwitchExpression Goto 998 CastExpression Goto 998 UnaryExpression Goto 998 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalExpression Goto 1009 Assignment Goto 1009 Expression Goto 842 Expressionopt Goto 842 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1362 SEMICOLON Reduce 686 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 739 ---------------------------------------------------------------------- ( 539 ) 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 843 VariableDeclaratorId Goto 546 VariableDeclarator Goto 544 VariableDeclarators Goto 544 STATE 740 ---------------------------------------------------------------------- ( 540 ) LocalVariableDeclaration ::= Modifiers Type .PushRealModifiers VariableDeclarators EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type . PushRealModifiers Identifier Dimsopt PushRealModifiers ::= . (393) PushRealModifiers Goto 844 Identifier Reduce 393 Default reduction to rule 393 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1363 STATE 741 ---------------------------------------------------------------------- ( 542 936 ) StatementExpressionList ::= StatementExpressionList COMMA .StatementExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1364 PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1365 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 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1366 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 994 BooleanLiteral Goto 988 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1034 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 988 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 73 FieldAccess Goto 993 MethodInvocation Goto 72 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 StatementExpression Gt/Rd 477 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1367 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 742 ---------------------------------------------------------------------- ( 544 599 745 ) VariableDeclarators ::= VariableDeclarators COMMA .VariableDeclarator VariableDeclarator ::= .VariableDeclaratorId EnterVariable ExitVariableWithoutInitialization VariableDeclarator ::= .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 545 VariableDeclaratorId Goto 546 VariableDeclarator Gt/Rd 242 STATE 743 ---------------------------------------------------------------------- ( 546 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable . ExitVariableWithoutInitialization VariableDeclarator ::= VariableDeclaratorId EnterVariable .EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ExitVariableWithoutInitialization ::= . (247) EQUAL Shift 845 ExitVariableWithoutInitialization Gt/Rd 243 SEMICOLON Reduce 247 COMMA Reduce 247 Default reduction to rule 247 STATE 744 ---------------------------------------------------------------------- ( 547 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1368 AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier .TypeParameters AnnotationTypeDeclarationHeaderName ::= AT PushModifiersForHeader interface Identifier . (883) TypeParameters ::= .LESS TypeParameterList1 LESS Shift 246 TypeParameters Gt/Rd 882 abstract Reduce 883 extends Reduce 883 final Reduce 883 implements Reduce 883 native Reduce 883 non-sealed Reduce 883 private Reduce 883 protected Reduce 883 public Reduce 883 static Reduce 883 strictfp Reduce 883 synchronized Reduce 883 transient Reduce 883 volatile Reduce 883 LBRACE Reduce 883 AT Reduce 883 RestrictedIdentifiersealed Reduce 883 $eof Reduce 883 Default reduction to rule 883 STATE 745 ---------------------------------------------------------------------- ( 548 844 ) VariableDeclarators ::= VariableDeclarators .COMMA VariableDeclarator LocalVariableDeclaration ::= Modifiers Type PushRealModifiers VariableDeclarators . (390) COMMA Shift 742 SEMICOLON Reduce 390 Default reduction to rule 390 STATE 746 ---------------------------------------------------------------------- ( 549 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1369 interface .Identifier AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface .Identifier TypeParameters Identifier Shift 846 STATE 747 ---------------------------------------------------------------------- ( 551 ) ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON . NonWildTypeArgumentsopt IdentifierOrNew NonWildTypeArgumentsopt ::= . (539) OnlyTypeArguments ::= .LESS TypeArgumentList1 LESS Shift 40 OnlyTypeArguments Goto 847 NonWildTypeArgumentsopt Goto 847 Identifier Reduce 539 new Reduce 539 Default reduction to rule 539 STATE 748 ---------------------------------------------------------------------- ( 552 ) ReferenceExpression ::= Name Dimsopt COLON_COLON NonWildTypeArgumentsopt . IdentifierOrNew IdentifierOrNew ::= .Identifier IdentifierOrNew ::= .new new Sh/Rd 542 Identifier Sh/Rd 541 IdentifierOrNew Gt/Rd 534 STATE 749 ---------------------------------------------------------------------- ( 553 ) ExplicitConstructorInvocation ::= Name DOT this LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1370 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1371 PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1372 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1373 PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1374 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1375 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 848 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 750 ---------------------------------------------------------------------- ( 554 562 ) MethodInvocation ::= Name DOT OnlyTypeArguments Identifier .LPAREN ArgumentListopt RPAREN LPAREN Shift 849 STATE 751 ---------------------------------------------------------------------- ( 554 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1376 ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 850 STATE 752 ---------------------------------------------------------------------- ( 554 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super .LPAREN ArgumentListopt RPAREN SEMICOLON LPAREN Shift 851 STATE 753 ---------------------------------------------------------------------- ( 555 ) ExplicitConstructorInvocation ::= Name DOT super LPAREN .ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 1377 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 1378 LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1379 UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1380 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1381 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 852 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1382 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 754 ---------------------------------------------------------------------- ( 559 ) ReferenceExpression ::= PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt .IdentifierOrNew IdentifierOrNew ::= .Identifier IdentifierOrNew ::= .new new Sh/Rd 542 Identifier Sh/Rd 541 IdentifierOrNew Gt/Rd 533 STATE 755 ---------------------------------------------------------------------- ( 561 ) SwitchExpression ::= switch LPAREN Expression RPAREN .OpenBlock SwitchBlock OpenBlock ::= . (375) OpenBlock Goto 853 LBRACE Reduce 375 Default reduction to rule 375 STATE 756 ---------------------------------------------------------------------- ( 564 ) CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN .InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1383 InsideCastExpressionLL1WithBounds ::= . (633) InsideCastExpressionLL1WithBounds Goto 854 Identifier Reduce 633 boolean Reduce 633 byte Reduce 633 char Reduce 633 double Reduce 633 false Reduce 633 float Reduce 633 int Reduce 633 long Reduce 633 new Reduce 633 null Reduce 633 short Reduce 633 super Reduce 633 switch Reduce 633 this Reduce 633 true Reduce 633 void Reduce 633 IntegerLiteral Reduce 633 LongLiteral Reduce 633 FloatingPointLiteral Reduce 633 DoubleLiteral Reduce 633 CharacterLiteral Reduce 633 StringLiteral Reduce 633 TextBlock Reduce 633 NOT Reduce 633 TWIDDLE Reduce 633 LPAREN Reduce 633 BeginLambda Reduce 633 BeginIntersectionCast Reduce 633 AT308 Reduce 633 Default reduction to rule 633 STATE 757 ---------------------------------------------------------------------- ( 565 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt . PushRPAREN InsideCastExpression UnaryExpression PushRPAREN ::= .RPAREN RPAREN Sh/Rd 510 PushRPAREN Goto 855 STATE 758 ---------------------------------------------------------------------- ( 565 569 760 908 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1384 AdditionalBoundsListOpt ::= AdditionalBoundList . (627) AdditionalBoundList ::= AdditionalBoundList .AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 463 AdditionalBound Gt/Rd 801 RPAREN Reduce 627 Default reduction to rule 627 STATE 759 ---------------------------------------------------------------------- ( 567 ) 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 TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 Identifier Shift 982 Name Goto 38 GenericType Goto 37 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1385 ClassOrInterface Goto 36 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1036 ClassOrInterfaceType Goto 856 STATE 760 ---------------------------------------------------------------------- ( 567 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt .AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus AdditionalBoundsListOpt ::= . (626) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 463 AdditionalBound Goto 1185 AdditionalBoundList Goto 758 AdditionalBoundsListOpt Goto 857 RPAREN Reduce 626 Default reduction to rule 626 STATE 761 ---------------------------------------------------------------------- ( 568 ) CastExpression ::= PushLPAREN Name PushRPAREN InsideCastExpressionLL1 . UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1386 Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1387 ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1388 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 119 TWIDDLE Shift 120 BeginIntersectionCast Shift 117 null Shift 1198 TextBlock Shift 1198 StringLiteral Shift 1198 CharacterLiteral Shift 1198 DoubleLiteral Shift 1198 FloatingPointLiteral Shift 1198 LongLiteral Shift 1198 IntegerLiteral Shift 1198 false Shift 1198 true Shift 1198 LPAREN Sh/Rd 509 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1389 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1207 PostDecrementExpression Goto 1206 PostfixExpression Goto 447 Literal Goto 1198 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1205 FieldAccess Goto 1204 PrimitiveType Goto 112 MethodInvocation Goto 1203 ArrayAccess Goto 1202 LambdaExpression Goto 1201 ReferenceExpression Goto 1200 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1198 ArrayCreationWithoutArrayInitializer Goto 1199 SwitchExpression Gt/Rd 623 CastExpression Gt/Rd 623 UnaryExpressionNotPlusMinus Gt/Rd 623 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1390 void Reduce 78 Default reduction to rule 78 STATE 762 ---------------------------------------------------------------------- ( 569 ) CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt .PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 510 PushRPAREN Goto 858 STATE 763 ---------------------------------------------------------------------- ( 570 ) 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 312 LBRACKET Shift 228 AT308 Shift 33 OneDimLoop Goto 1023 DimsLoop Goto 229 TypeAnnotations0 Goto 35 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1391 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 227 Dims Goto 313 STATE 764 ---------------------------------------------------------------------- ( 576 ) InstanceofClassic ::= instanceof Modifiersopt Type . (357) InstanceofPrimaryTypePattern ::= instanceof Modifiersopt Type .Identifier Identifier Sh/Rd 358 abstract Reduce 357 final Reduce 357 instanceof Reduce 357 native Reduce 357 non-sealed Reduce 357 private Reduce 357 protected Reduce 357 public Reduce 357 static Reduce 357 strictfp Reduce 357 synchronized Reduce 357 transient Reduce 357 volatile Reduce 357 EQUAL_EQUAL Reduce 357 NOT_EQUAL Reduce 357 OR_OR Reduce 357 AND_AND Reduce 357 XOR Reduce 357 AND Reduce 357 OR Reduce 357 RPAREN Reduce 357 RBRACE Reduce 357 RBRACKET Reduce 357 SEMICOLON Reduce 357 QUESTION Reduce 357 COLON Reduce 357 COMMA Reduce 357 AT Reduce 357 ElidedSemicolonAndRightBrace Reduce 357 BeginCaseExpr Reduce 357 RestrictedIdentifiersealed Reduce 357 $eof Reduce 357 Default reduction to rule 357 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1392 STATE 765 ---------------------------------------------------------------------- ( 586 ) ConditionalExpression ::= ConditionalOrExpression QUESTION Expression COLON . ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1393 PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1394 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:11:53 2021 Page 1395 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1396 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1208 true Shift 1208 null Shift 1208 TextBlock Shift 1208 StringLiteral Shift 1208 CharacterLiteral Shift 1208 DoubleLiteral Shift 1208 FloatingPointLiteral Shift 1208 LongLiteral Shift 1208 IntegerLiteral Shift 1208 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1209 MultiplicativeExpression Goto 121 SwitchExpression Goto 1209 PostfixExpression Goto 447 CastExpression Goto 1209 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1218 BooleanLiteral Goto 1208 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1397 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1208 ClassInstanceCreationExpression Goto 1217 FieldAccess Goto 1216 MethodInvocation Goto 1215 ArrayAccess Goto 1214 LambdaExpression Goto 1213 ReferenceExpression Goto 1212 PostIncrementExpression Goto 1211 PostDecrementExpression Goto 1210 PreIncrementExpression Goto 1209 PreDecrementExpression Goto 1209 UnaryExpressionNotPlusMinus Goto 1209 ConditionalExpression Gt/Rd 665 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 766 ---------------------------------------------------------------------- ( 590 ) ArrayInitializer ::= LBRACE PushLeftBrace VariableInitializers COMMA .RBRACE VariableInitializers ::= VariableInitializers COMMA .VariableInitializer Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1398 BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1399 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1400 MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1401 MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression RBRACE Sh/Rd 371 LBRACE Shift 133 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 NOT Shift 119 TWIDDLE Shift 120 BeginIntersectionCast Shift 117 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1402 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 false Shift 997 true Shift 997 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 MINUS Shift 109 PLUS Shift 110 AssignmentExpression Gt/Rd 683 ConditionalOrExpression Goto 130 InclusiveOrExpression Goto 128 ConditionalAndExpression Goto 131 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PostfixExpression Goto 132 Literal Goto 997 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 PrimitiveType Goto 112 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1403 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 997 ArrayCreationWithoutArrayInitializer Goto 1008 SwitchExpression Goto 998 CastExpression Goto 998 UnaryExpression Goto 998 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalExpression Goto 1009 Assignment Goto 1009 Expression Gt/Rd 373 ArrayInitializer Gt/Rd 373 VariableInitializer Gt/Rd 373 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 767 ---------------------------------------------------------------------- ( 594 ) DefaultMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier .LPAREN LPAREN Sh/Rd 261 STATE 768 ---------------------------------------------------------------------- ( 595 ) DefaultMethodHeader ::= DefaultMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . MethodHeaderThrowsClauseopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1404 MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (701) throws Shift 359 MethodHeaderThrowsClause Gt/Rd 258 MethodHeaderThrowsClauseopt Gt/Rd 258 LBRACE Reduce 701 SEMICOLON Reduce 701 Default reduction to rule 701 STATE 769 ---------------------------------------------------------------------- ( 596 ) MethodHeader ::= MethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . MethodHeaderThrowsClauseopt MethodHeaderThrowsClause ::= .throws ClassTypeList MethodHeaderThrowsClauseopt ::= . (701) throws Shift 359 MethodHeaderThrowsClause Gt/Rd 257 MethodHeaderThrowsClauseopt Gt/Rd 257 LBRACE Reduce 701 SEMICOLON Reduce 701 Default reduction to rule 701 STATE 770 ---------------------------------------------------------------------- ( 597 ) MethodHeaderName ::= Modifiersopt TypeParameters Type Identifier .LPAREN LPAREN Sh/Rd 259 STATE 771 ---------------------------------------------------------------------- ( 605 ) AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier . LPAREN LPAREN Sh/Rd 891 STATE 772 ---------------------------------------------------------------------- ( 607 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1405 QualifiedName ::= Name .DOT SimpleName QualifiedName ::= Name .DOT TypeAnnotations SimpleName PackageDeclarationName ::= Modifiers package PushRealModifiers Name . RejectTypeAnnotations RejectTypeAnnotations ::= . (90) DOT Shift 219 RejectTypeAnnotations Gt/Rd 177 SEMICOLON Reduce 90 Default reduction to rule 90 STATE 773 ---------------------------------------------------------------------- ( 608 ) AnnotationMethodHeader ::= AnnotationMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . AnnotationMethodHeaderDefaultValueopt AnnotationMethodHeaderDefaultValueopt ::= . (893) AnnotationMethodHeaderDefaultValueopt ::= .DefaultValue DefaultValue ::= .default MemberValue default Shift 859 DefaultValue Gt/Rd 894 AnnotationMethodHeaderDefaultValueopt Gt/Rd 895 SEMICOLON Reduce 893 Default reduction to rule 893 STATE 774 ---------------------------------------------------------------------- ( 609 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1406 TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RejectTypeAnnotations ::= . (90) AT308 Shift 33 Identifier Sh/Rd 76 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 SimpleName Gt/Rd 76 TypeAnnotations Goto 456 RejectTypeAnnotations Goto 860 MULTIPLY Reduce 90 Default reduction to rule 90 STATE 775 ---------------------------------------------------------------------- ( 610 ) TypeImportOnDemandDeclarationName ::= import Name DOT RejectTypeAnnotations . MULTIPLY MULTIPLY Sh/Rd 187 STATE 776 ---------------------------------------------------------------------- ( 611 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace COMMA .RBRACE RBRACE Sh/Rd 919 STATE 777 ---------------------------------------------------------------------- ( 611 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues .COMMA RBRACE MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues .RBRACE MemberValues ::= MemberValues .COMMA MemberValue IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1407 RBRACE Sh/Rd 918 COMMA Shift 861 STATE 778 ---------------------------------------------------------------------- ( 627 ) ConditionalExpression_NotName ::= Name QUESTION Expression COLON . ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1408 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1409 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:11:53 2021 Page 1410 PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1411 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1208 true Shift 1208 null Shift 1208 TextBlock Shift 1208 StringLiteral Shift 1208 CharacterLiteral Shift 1208 DoubleLiteral Shift 1208 FloatingPointLiteral Shift 1208 LongLiteral Shift 1208 IntegerLiteral Shift 1208 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1209 MultiplicativeExpression Goto 121 SwitchExpression Goto 1209 PostfixExpression Goto 447 CastExpression Goto 1209 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1218 BooleanLiteral Goto 1208 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1412 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1208 ClassInstanceCreationExpression Goto 1217 FieldAccess Goto 1216 MethodInvocation Goto 1215 ArrayAccess Goto 1214 LambdaExpression Goto 1213 ReferenceExpression Goto 1212 PostIncrementExpression Goto 1211 PostDecrementExpression Goto 1210 PreIncrementExpression Goto 1209 PreDecrementExpression Goto 1209 UnaryExpressionNotPlusMinus Goto 1209 ConditionalExpression Gt/Rd 876 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 779 ---------------------------------------------------------------------- ( 644 ) ConditionalExpression_NotName ::= ConditionalOrExpression_NotName QUESTION Expression COLON .ConditionalExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1413 Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1414 IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1415 MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1416 MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1208 true Shift 1208 null Shift 1208 TextBlock Shift 1208 StringLiteral Shift 1208 CharacterLiteral Shift 1208 DoubleLiteral Shift 1208 FloatingPointLiteral Shift 1208 LongLiteral Shift 1208 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1417 IntegerLiteral Shift 1208 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 1209 MultiplicativeExpression Goto 121 SwitchExpression Goto 1209 PostfixExpression Goto 447 CastExpression Goto 1209 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1218 BooleanLiteral Goto 1208 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1208 ClassInstanceCreationExpression Goto 1217 FieldAccess Goto 1216 MethodInvocation Goto 1215 ArrayAccess Goto 1214 LambdaExpression Goto 1213 ReferenceExpression Goto 1212 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1418 PostIncrementExpression Goto 1211 PostDecrementExpression Goto 1210 PreIncrementExpression Goto 1209 PreDecrementExpression Goto 1209 UnaryExpressionNotPlusMinus Goto 1209 ConditionalExpression Gt/Rd 875 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 780 ---------------------------------------------------------------------- ( 646 ) CatchHeader ::= catch LPAREN CatchFormalParameter RPAREN .LBRACE LBRACE Sh/Rd 171 STATE 781 ---------------------------------------------------------------------- ( 647 ) CatchFormalParameter ::= Modifiersopt CatchType .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 545 VariableDeclaratorId Gt/Rd 275 STATE 782 ---------------------------------------------------------------------- ( 647 ) CatchType ::= UnionType . (276) UnionType ::= UnionType .OR Type OR Shift 862 Identifier Reduce 276 Default reduction to rule 276 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1419 STATE 783 ---------------------------------------------------------------------- ( 649 ) Arguments ::= LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 739 STATE 784 ---------------------------------------------------------------------- ( 650 ) RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . AnnotationMethodHeaderDefaultValueopt RecoveryMethodHeader ::= RecoveryMethodHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderExtendedDims . MethodHeaderThrowsClause MethodHeaderThrowsClause ::= .throws ClassTypeList AnnotationMethodHeaderDefaultValueopt ::= . (893) AnnotationMethodHeaderDefaultValueopt ::= .DefaultValue DefaultValue ::= .default MemberValue default Shift 859 throws Shift 359 DefaultValue Gt/Rd 894 AnnotationMethodHeaderDefaultValueopt Gt/Rd 931 MethodHeaderThrowsClause Gt/Rd 932 abstract Reduce 893 final Reduce 893 native Reduce 893 non-sealed Reduce 893 private Reduce 893 protected Reduce 893 public Reduce 893 static Reduce 893 strictfp Reduce 893 synchronized Reduce 893 transient Reduce 893 volatile Reduce 893 AT Reduce 893 RestrictedIdentifiersealed Reduce 893 $eof Reduce 893 Default reduction to rule 893 STATE 785 ---------------------------------------------------------------------- ( 652 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1420 RecoveryMethodHeaderName ::= ModifiersWithDefault TypeParameters Type Identifier .LPAREN LPAREN Sh/Rd 929 STATE 786 ---------------------------------------------------------------------- ( 654 ) AllocationHeader ::= new ClassType LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 556 STATE 787 ---------------------------------------------------------------------- ( 656 ) RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type Identifier . LPAREN LPAREN Sh/Rd 927 STATE 788 ---------------------------------------------------------------------- ( 658 ) UnannotatableName ::= UnannotatableName .DOT SimpleName ModuleHeader ::= Modifiersopt ModuleModifieropt module UnannotatableName . (107) DOT Shift 448 abstract Reduce 107 final Reduce 107 native Reduce 107 non-sealed Reduce 107 private Reduce 107 protected Reduce 107 public Reduce 107 static Reduce 107 strictfp Reduce 107 synchronized Reduce 107 transient Reduce 107 volatile Reduce 107 LBRACE Reduce 107 AT Reduce 107 RestrictedIdentifiersealed Reduce 107 $eof Reduce 107 Default reduction to rule 107 STATE 789 ---------------------------------------------------------------------- ( 660 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1421 TargetModuleNameList ::= TargetModuleNameList COMMA .TargetModuleName SimpleName ::= .Identifier UnannotatableName ::= .SimpleName UnannotatableName ::= .UnannotatableName DOT SimpleName TargetModuleName ::= .UnannotatableName Identifier Shift 1182 SimpleName Goto 1182 UnannotatableName Goto 661 TargetModuleName Gt/Rd 135 STATE 790 ---------------------------------------------------------------------- ( 662 ) 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 33 Identifier Shift 982 SimpleName Gt/Rd 70 TypeAnnotations Goto 32 QualifiedName Goto 1183 Name Goto 663 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1422 ServiceImplName Gt/Rd 145 STATE 791 ---------------------------------------------------------------------- ( 666 ) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports . (97) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports .TypeDeclarations TypeDeclarations ::= .TypeDeclarations TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) Modifiersopt ::= .Modifiers EnumDeclaration ::= .EnumHeader EnumBody EnumHeader ::= .EnumHeaderName ClassHeaderImplementsopt EnumHeaderName ::= .Modifiersopt enum Identifier IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1423 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 190 AT Shift 98 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 ClassDeclaration Goto 863 InterfaceDeclaration Goto 863 EnumDeclaration Goto 863 AnnotationTypeDeclaration Goto 863 RecordDeclaration Goto 863 RecordHeaderName Goto 53 Modifiersopt Goto 57 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 145 AnnotationTypeDeclarationHeader Goto 49 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1424 EnumHeaderName Goto 46 EnumHeader Goto 47 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 ClassHeaderName Goto 56 Modifier Goto 987 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 ClassHeaderName1 Goto 58 ClassHeader Goto 59 TypeDeclaration Goto 863 TypeDeclarations Goto 863 $eof Reduce 97 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 792 ---------------------------------------------------------------------- ( 668 ) ModuleBody ::= LBRACE ModuleStatementsOpt .RBRACE RBRACE Sh/Rd 111 STATE 793 ---------------------------------------------------------------------- ( 668 ) ModuleStatementsOpt ::= ModuleStatements . (113) ModuleStatements ::= ModuleStatements .ModuleStatement ModuleStatement ::= .RequiresStatement ModuleStatement ::= .ExportsStatement ModuleStatement ::= .OpensStatement ModuleStatement ::= .UsesStatement ModuleStatement ::= .ProvidesStatement RequiresStatement ::= .SingleRequiresModuleName SEMICOLON SingleRequiresModuleName ::= .requires RequiresModifiersopt UnannotatableName ExportsStatement ::= .ExportsHeader TargetModuleListopt SEMICOLON ExportsHeader ::= .exports SinglePkgName OpensStatement ::= .OpensHeader TargetModuleListopt SEMICOLON OpensHeader ::= .opens SinglePkgName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1425 UsesStatement ::= .UsesHeader SEMICOLON UsesHeader ::= .uses Name ProvidesStatement ::= .ProvidesInterface WithClause SEMICOLON ProvidesInterface ::= .provides Name provides Shift 200 uses Shift 198 opens Shift 202 exports Shift 196 requires Shift 194 SingleRequiresModuleName Goto 193 ExportsHeader Goto 195 OpensHeader Goto 201 UsesHeader Goto 197 ProvidesInterface Goto 199 RequiresStatement Gt/Rd 116 ExportsStatement Gt/Rd 117 OpensStatement Gt/Rd 118 UsesStatement Gt/Rd 119 ProvidesStatement Gt/Rd 120 ModuleStatement Gt/Rd 115 RBRACE Reduce 113 Default reduction to rule 113 STATE 794 ---------------------------------------------------------------------- ( 669 ) InternalCompilationUnit ::= ImportDeclarations ReduceImports TypeDeclarations . (102) TypeDeclarations ::= TypeDeclarations .TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1426 Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 190 AT Shift 98 strictfp Shift 987 volatile Shift 987 transient Shift 987 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1427 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiers Goto 145 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 987 Modifiersopt Goto 57 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 ClassDeclaration Gt/Rd 175 InterfaceDeclaration Gt/Rd 175 EnumDeclaration Gt/Rd 175 AnnotationTypeDeclaration Gt/Rd 175 RecordDeclaration Gt/Rd 175 TypeDeclaration Gt/Rd 175 $eof Reduce 102 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 795 ---------------------------------------------------------------------- ( 670 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1428 MemberValuePair ::= SimpleName .EQUAL EnterMemberValue MemberValue ExitMemberValue EQUAL Shift 671 STATE 796 ---------------------------------------------------------------------- ( 671 ) MemberValuePair ::= SimpleName EQUAL EnterMemberValue .MemberValue ExitMemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1429 PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1430 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 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1431 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 ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1432 ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression 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 ::= . (921) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1433 MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN MINUS Shift 170 PLUS Shift 171 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1012 true Shift 1012 null Shift 1012 TextBlock Shift 1012 StringLiteral Shift 1012 CharacterLiteral Shift 1012 DoubleLiteral Shift 1012 FloatingPointLiteral Shift 1012 LongLiteral Shift 1012 IntegerLiteral Shift 1012 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AT Shift 28 ConditionalOrExpression_NotName Goto 183 Name Goto 182 InclusiveOrExpression_NotName Goto 181 ConditionalAndExpression_NotName Goto 180 AndExpression_NotName Goto 179 ExclusiveOrExpression_NotName Goto 178 InstanceofExpression_NotName Goto 177 EqualityExpression_NotName Goto 176 ShiftExpression_NotName Goto 175 RelationalExpression_NotName Goto 174 MultiplicativeExpression_NotName Goto 173 AdditiveExpression_NotName Goto 172 PreIncrementExpression Goto 1013 PreDecrementExpression Goto 1013 UnaryExpressionNotPlusMinus_NotName Goto 1013 Primary Goto 169 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PostfixExpression Goto 166 Literal Goto 1012 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1434 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1021 FieldAccess Goto 1020 PrimitiveType Goto 112 MethodInvocation Goto 1019 ArrayAccess Goto 1018 LambdaExpression Goto 1017 ReferenceExpression Goto 1016 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1015 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1012 ArrayCreationWithoutArrayInitializer Goto 1014 SwitchExpression Goto 1013 PostfixExpression_NotName Goto 1013 CastExpression Goto 1013 UnaryExpression_NotName Goto 1013 NormalAnnotation Goto 864 MarkerAnnotation Goto 864 SingleMemberAnnotation Goto 864 AnnotationName Goto 29 EnterMemberValueArrayInitializer Goto 163 ConditionalExpression_NotName Goto 864 Annotation Goto 864 MemberValueArrayInitializer Goto 864 MemberValue Goto 864 LBRACE Reduce 921 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1435 STATE 797 ---------------------------------------------------------------------- ( 672 ) TypeArgumentList1 ::= TypeArgumentList COMMA .TypeArgument1 TypeArgumentList ::= TypeArgumentList COMMA .TypeArgument TypeArgumentList2 ::= TypeArgumentList COMMA .TypeArgument2 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1436 Wildcard1 ::= .TypeAnnotationsopt QUESTION GREATER Wildcard1 ::= .TypeAnnotationsopt QUESTION WildcardBounds1 Wildcard2 ::= .TypeAnnotationsopt QUESTION RIGHT_SHIFT Wildcard2 ::= .TypeAnnotationsopt QUESTION WildcardBounds2 AT308 Shift 33 Identifier Shift 982 ReferenceType Goto 674 ClassOrInterface Goto 673 TypeAnnotationsopt Goto 675 ReferenceType2 Gt/Rd 767 Wildcard2 Gt/Rd 767 Wildcard Gt/Rd 759 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 1022 ReferenceType1 Gt/Rd 757 Wildcard1 Gt/Rd 757 TypeArgument1 Gt/Rd 757 TypeArgument Gt/Rd 759 TypeArgument2 Gt/Rd 767 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 QUESTION Reduce 78 Default reduction to rule 78 STATE 798 ---------------------------------------------------------------------- ( 673 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1437 GenericType ::= ClassOrInterface LESS .GREATER TypeArguments ::= LESS .TypeArgumentList1 ReferenceType1 ::= ClassOrInterface LESS .TypeArgumentList2 ReferenceType2 ::= ClassOrInterface LESS .TypeArgumentList3 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ReferenceType ::= .ArrayType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1438 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 63 AT308 Shift 33 Identifier Shift 982 ReferenceType3 Gt/Rd 771 Wildcard3 Gt/Rd 771 TypeAnnotationsopt Goto 867 ReferenceType Goto 866 TypeArgument3 Gt/Rd 771 TypeArgumentList Goto 865 ReferenceType2 Gt/Rd 765 Wildcard2 Gt/Rd 765 ClassOrInterface Goto 673 TypeArgument2 Gt/Rd 765 ReferenceType1 Gt/Rd 754 Wildcard1 Gt/Rd 754 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 1022 TypeAnnotations Goto 104 GenericType Goto 105 PrimitiveType Goto 224 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 983 TypeArgument Goto 865 Wildcard Goto 865 TypeArgument1 Gt/Rd 754 TypeArgumentList1 Gt/Rd 754 TypeArgumentList2 Gt/Rd 765 TypeArgumentList3 Gt/Rd 771 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1439 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 QUESTION Reduce 78 Default reduction to rule 78 STATE 799 ---------------------------------------------------------------------- ( 675 ) Wildcard ::= TypeAnnotationsopt QUESTION . (777) Wildcard ::= TypeAnnotationsopt QUESTION .WildcardBounds Wildcard1 ::= TypeAnnotationsopt QUESTION .GREATER Wildcard1 ::= TypeAnnotationsopt QUESTION .WildcardBounds1 Wildcard2 ::= TypeAnnotationsopt QUESTION .RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt QUESTION .WildcardBounds2 WildcardBounds ::= .extends ReferenceType WildcardBounds ::= .super ReferenceType WildcardBounds1 ::= .extends ReferenceType1 WildcardBounds1 ::= .super ReferenceType1 WildcardBounds2 ::= .extends ReferenceType2 WildcardBounds2 ::= .super ReferenceType2 RIGHT_SHIFT Sh/Rd 785 GREATER Sh/Rd 781 super Shift 868 extends Shift 869 WildcardBounds Gt/Rd 778 WildcardBounds1 Gt/Rd 782 WildcardBounds2 Gt/Rd 786 COMMA Reduce 777 Default reduction to rule 777 STATE 800 ---------------------------------------------------------------------- ( 676 ) ReferenceType1 ::= ReferenceType .GREATER WildcardBounds ::= super ReferenceType . (780) GREATER Sh/Rd 764 COMMA Reduce 780 Default reduction to rule 780 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1440 STATE 801 ---------------------------------------------------------------------- ( 677 ) ReferenceType1 ::= ReferenceType .GREATER WildcardBounds ::= extends ReferenceType . (779) GREATER Sh/Rd 764 COMMA Reduce 779 Default reduction to rule 779 STATE 802 ---------------------------------------------------------------------- ( 679 ) FormalParameter ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations .ELLIPSIS VariableDeclaratorIdOrThis ELLIPSIS Shift 870 STATE 803 ---------------------------------------------------------------------- ( 680 ) 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 92 Identifier Shift 681 SimpleName Goto 682 UnannotatableName Goto 682 VariableDeclaratorId Gt/Rd 94 VariableDeclaratorIdOrThis Gt/Rd 273 STATE 804 ---------------------------------------------------------------------- ( 682 ) UnannotatableName ::= UnannotatableName DOT .SimpleName VariableDeclaratorIdOrThis ::= UnannotatableName DOT .this IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1441 this Sh/Rd 93 Identifier Sh/Rd 75 SimpleName Gt/Rd 75 STATE 805 ---------------------------------------------------------------------- ( 686 ) EnumBody ::= LBRACE EnumConstants COMMA EnumBodyDeclarationsopt .RBRACE RBRACE Sh/Rd 731 STATE 806 ---------------------------------------------------------------------- ( 687 ) EnumConstant ::= EnumConstantHeader ForceNoDiet ClassBody .RestoreDiet RestoreDiet ::= . (249) RestoreDiet Gt/Rd 737 RBRACE Reduce 249 SEMICOLON Reduce 249 COMMA Reduce 249 Default reduction to rule 249 STATE 807 ---------------------------------------------------------------------- ( 691 ) ReferenceType1 ::= ReferenceType .GREATER TypeParameter ::= TypeParameterHeader extends ReferenceType . (798) 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 764 AND Shift 872 AdditionalBound1 Gt/Rd 807 AdditionalBoundList Goto 871 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1442 AdditionalBound Goto 871 AdditionalBoundList1 Gt/Rd 807 COMMA Reduce 798 Default reduction to rule 798 STATE 808 ---------------------------------------------------------------------- ( 696 ) VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT . TypeAnnotations ELLIPSIS VariableDeclaratorId TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN AT308 Shift 33 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotations Goto 873 STATE 809 ---------------------------------------------------------------------- ( 696 ) VariableArityRecordComponent ::= Modifiersopt Type PushZeroTypeAnnotations . ELLIPSIS VariableDeclaratorId ELLIPSIS Shift 874 STATE 810 ---------------------------------------------------------------------- ( 698 ) ClassTypeList ::= ClassTypeList .COMMA ClassTypeElt ClassHeaderPermittedSubclasses ::= RestrictedIdentifierpermits ClassTypeList . IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1443 (710) COMMA Shift 220 abstract Reduce 710 final Reduce 710 native Reduce 710 non-sealed Reduce 710 private Reduce 710 protected Reduce 710 public Reduce 710 static Reduce 710 strictfp Reduce 710 synchronized Reduce 710 transient Reduce 710 volatile Reduce 710 LBRACE Reduce 710 AT Reduce 710 RestrictedIdentifiersealed Reduce 710 $eof Reduce 710 Default reduction to rule 710 STATE 811 ---------------------------------------------------------------------- ( 703 ) CatchClause ::= catch LPAREN CatchFormalParameter .RPAREN Block RPAREN Shift 875 STATE 812 ---------------------------------------------------------------------- ( 707 ) Resource ::= Modifiers Type PushRealModifiers .VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 545 VariableDeclaratorId Goto 876 STATE 813 ---------------------------------------------------------------------- ( 708 ) Resource ::= Type PushModifiers VariableDeclaratorId .EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1444 ExitVariableWithInitialization EnterVariable ::= . (245) EnterVariable Goto 877 EQUAL Reduce 245 Default reduction to rule 245 STATE 814 ---------------------------------------------------------------------- ( 710 ) DoStatement ::= do Statement while LPAREN Expression .RPAREN SEMICOLON RPAREN Shift 878 STATE 815 ---------------------------------------------------------------------- ( 711 ) 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 879 SwitchBlock Gt/Rd 437 STATE 816 ---------------------------------------------------------------------- ( 713 ) MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN .ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1445 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1446 ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1447 MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1448 AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1449 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1450 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 880 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 817 ---------------------------------------------------------------------- ( 714 ) MethodInvocation ::= QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 595 STATE 818 ---------------------------------------------------------------------- ( 715 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1451 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1452 PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1453 ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1454 CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1455 MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1456 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 881 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 819 ---------------------------------------------------------------------- ( 716 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1457 EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 882 STATE 820 ---------------------------------------------------------------------- ( 717 ) DimWithOrWithOutExpr ::= TypeAnnotationsopt LBRACKET Expression .RBRACKET RBRACKET Sh/Rd 581 STATE 821 ---------------------------------------------------------------------- ( 718 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN UnqualifiedClassBodyopt RPAREN Shift 883 STATE 822 ---------------------------------------------------------------------- ( 719 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN UnqualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1458 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1459 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:11:53 2021 Page 1460 LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1461 ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1462 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1463 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 884 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 823 ---------------------------------------------------------------------- ( 720 ) MethodInvocation ::= Primary DOT Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 594 STATE 824 ---------------------------------------------------------------------- ( 721 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 885 STATE 825 ---------------------------------------------------------------------- ( 722 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1464 ClassType . EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt EnterInstanceCreationArgumentList ::= . (563) EnterInstanceCreationArgumentList Goto 886 LPAREN Reduce 563 Default reduction to rule 563 STATE 826 ---------------------------------------------------------------------- ( 723 ) ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt . RPAREN SEMICOLON RPAREN Shift 887 STATE 827 ---------------------------------------------------------------------- ( 724 ) MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1465 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1466 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1467 ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1468 RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1469 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1470 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 888 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 828 ---------------------------------------------------------------------- ( 725 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1471 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1472 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1473 ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1474 RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1475 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1476 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 889 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 829 ---------------------------------------------------------------------- ( 726 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1477 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1478 ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1479 ArrayAccess ::= .PrimaryNoNewArray LBRACKET Expression RBRACKET ArrayAccess ::= .ArrayCreationWithArrayInitializer LBRACKET Expression RBRACKET PostfixExpression ::= .Primary PostfixExpression ::= .Name PostfixExpression ::= .PostIncrementExpression PostfixExpression ::= .PostDecrementExpression PostIncrementExpression ::= .PostfixExpression PLUS_PLUS PostDecrementExpression ::= .PostfixExpression MINUS_MINUS UnaryExpression ::= .PreIncrementExpression UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1480 RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1481 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1482 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 890 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 830 ---------------------------------------------------------------------- ( 727 ) ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt . RPAREN SEMICOLON RPAREN Shift 891 STATE 831 ---------------------------------------------------------------------- ( 728 ) MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1483 PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1484 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 ArgumentListopt RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1485 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1486 AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1487 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1488 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 892 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 832 ---------------------------------------------------------------------- ( 729 ) MethodInvocation ::= super DOT Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 598 STATE 833 ---------------------------------------------------------------------- ( 732 ) ExplicitConstructorInvocation ::= OnlyTypeArguments super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 291 STATE 834 ---------------------------------------------------------------------- ( 733 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1489 ExplicitConstructorInvocation ::= OnlyTypeArguments this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 289 STATE 835 ---------------------------------------------------------------------- ( 736 ) IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf .else Statement else Shift 893 STATE 836 ---------------------------------------------------------------------- ( 736 837 897 958 959 974 977 ) Statement ::= StatementWithoutTrailingSubstatement . (394) StatementNoShortIf ::= StatementWithoutTrailingSubstatement . (401) else Reduce 401 Identifier Reduce 394 abstract Reduce 394 assert Reduce 394 boolean Reduce 394 break Reduce 394 byte Reduce 394 case Reduce 394 char Reduce 394 class Reduce 394 continue Reduce 394 default Reduce 394 do Reduce 394 double Reduce 394 enum Reduce 394 false Reduce 394 final Reduce 394 float Reduce 394 for Reduce 394 if Reduce 394 int Reduce 394 interface Reduce 394 long Reduce 394 native Reduce 394 new Reduce 394 non-sealed Reduce 394 null Reduce 394 private Reduce 394 protected Reduce 394 public Reduce 394 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1490 return Reduce 394 short Reduce 394 static Reduce 394 strictfp Reduce 394 super Reduce 394 switch Reduce 394 synchronized Reduce 394 this Reduce 394 throw Reduce 394 transient Reduce 394 true Reduce 394 try Reduce 394 void Reduce 394 volatile Reduce 394 while Reduce 394 IntegerLiteral Reduce 394 LongLiteral Reduce 394 FloatingPointLiteral Reduce 394 DoubleLiteral Reduce 394 CharacterLiteral Reduce 394 StringLiteral Reduce 394 TextBlock Reduce 394 PLUS_PLUS Reduce 394 MINUS_MINUS Reduce 394 LESS Reduce 394 LPAREN Reduce 394 LBRACE Reduce 394 RBRACE Reduce 394 SEMICOLON Reduce 394 AT Reduce 394 BeginLambda Reduce 394 AT308 Reduce 394 RestrictedIdentifierYield Reduce 394 RestrictedIdentifierrecord Reduce 394 RestrictedIdentifiersealed Reduce 394 $eof Reduce 394 Default reduction to rule 394 STATE 837 ---------------------------------------------------------------------- ( 736 837 897 958 959 974 977 ) EnhancedForStatement ::= EnhancedForStatementHeader .Statement EnhancedForStatementNoShortIf ::= EnhancedForStatementHeader . StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1491 Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1492 ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1493 ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody 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:11:53 2021 Page 1494 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1495 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 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 for Shift 838 while Shift 839 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1496 if Shift 840 Label Goto 841 EnhancedForStatementHeader Goto 837 StatementWithoutTrailingSubstatement Goto 836 LabeledStatementNoShortIf Gt/Rd 746 IfThenElseStatementNoShortIf Gt/Rd 746 WhileStatementNoShortIf Gt/Rd 746 ForStatementNoShortIf Gt/Rd 746 EnhancedForStatementNoShortIf Gt/Rd 746 AssertStatement Goto 1197 Block Goto 1197 EmptyStatement Goto 1197 ExpressionStatement Goto 1197 SwitchStatement Goto 1197 DoStatement Goto 1197 BreakStatement Goto 1197 ContinueStatement Goto 1197 ReturnStatement Goto 1197 SynchronizedStatement Goto 1197 ThrowStatement Goto 1197 TryStatement Goto 1197 TryStatementWithResources Goto 1197 YieldStatement Goto 1197 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1497 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 EnhancedForStatementHeaderInit Goto 95 LabeledStatement Gt/Rd 745 IfThenStatement Gt/Rd 745 IfThenElseStatement Gt/Rd 745 WhileStatement Gt/Rd 745 ForStatement Gt/Rd 745 EnhancedForStatement Gt/Rd 745 Statement Gt/Rd 745 StatementNoShortIf Gt/Rd 746 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 838 ---------------------------------------------------------------------- ( 736 837 897 958 959 974 977 ) 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 894 STATE 839 ---------------------------------------------------------------------- ( 736 837 897 958 959 974 977 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1498 WhileStatement ::= while .LPAREN Expression RPAREN Statement WhileStatementNoShortIf ::= while .LPAREN Expression RPAREN StatementNoShortIf LPAREN Shift 895 STATE 840 ---------------------------------------------------------------------- ( 736 837 897 958 959 974 977 ) IfThenStatement ::= if .LPAREN Expression RPAREN Statement IfThenElseStatement ::= if .LPAREN Expression RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if .LPAREN Expression RPAREN StatementNoShortIf else StatementNoShortIf LPAREN Shift 896 STATE 841 ---------------------------------------------------------------------- ( 736 837 897 958 959 974 977 ) LabeledStatement ::= Label .COLON Statement LabeledStatementNoShortIf ::= Label .COLON StatementNoShortIf COLON Shift 897 STATE 842 ---------------------------------------------------------------------- ( 738 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt .SEMICOLON ForUpdateopt RPAREN Statement SEMICOLON Shift 898 STATE 843 ---------------------------------------------------------------------- ( 739 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1499 MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) LBRACKET Shift 228 AT308 Shift 33 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Goto 899 Dimsopt Goto 899 SEMICOLON Reduce 697 COLON Reduce 697 COMMA Reduce 697 EQUAL Reduce 697 Default reduction to rule 697 STATE 844 ---------------------------------------------------------------------- ( 740 ) 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 900 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1500 VariableDeclaratorId Goto 546 VariableDeclarator Goto 745 VariableDeclarators Goto 745 STATE 845 ---------------------------------------------------------------------- ( 743 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL .ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ForceNoDiet ::= . (248) ForceNoDiet Goto 901 Identifier Reduce 248 boolean Reduce 248 byte Reduce 248 char Reduce 248 double Reduce 248 false Reduce 248 float Reduce 248 int Reduce 248 long Reduce 248 new Reduce 248 null Reduce 248 short Reduce 248 super Reduce 248 switch Reduce 248 this Reduce 248 true Reduce 248 void Reduce 248 IntegerLiteral Reduce 248 LongLiteral Reduce 248 FloatingPointLiteral Reduce 248 DoubleLiteral Reduce 248 CharacterLiteral Reduce 248 StringLiteral Reduce 248 TextBlock Reduce 248 PLUS_PLUS Reduce 248 MINUS_MINUS Reduce 248 PLUS Reduce 248 MINUS Reduce 248 NOT Reduce 248 TWIDDLE Reduce 248 LPAREN Reduce 248 LBRACE Reduce 248 BeginLambda Reduce 248 BeginIntersectionCast Reduce 248 AT308 Reduce 248 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1501 Default reduction to rule 248 STATE 846 ---------------------------------------------------------------------- ( 746 ) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier . (880) AnnotationTypeDeclarationHeaderName ::= Modifiers AT PushRealModifiers interface Identifier .TypeParameters TypeParameters ::= .LESS TypeParameterList1 LESS Shift 246 TypeParameters Gt/Rd 881 abstract Reduce 880 extends Reduce 880 final Reduce 880 implements Reduce 880 native Reduce 880 non-sealed Reduce 880 private Reduce 880 protected Reduce 880 public Reduce 880 static Reduce 880 strictfp Reduce 880 synchronized Reduce 880 transient Reduce 880 volatile Reduce 880 LBRACE Reduce 880 AT Reduce 880 RestrictedIdentifiersealed Reduce 880 $eof Reduce 880 Default reduction to rule 880 STATE 847 ---------------------------------------------------------------------- ( 747 ) ReferenceExpression ::= Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt .IdentifierOrNew IdentifierOrNew ::= .Identifier IdentifierOrNew ::= .new new Sh/Rd 542 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1502 Identifier Sh/Rd 541 IdentifierOrNew Gt/Rd 535 STATE 848 ---------------------------------------------------------------------- ( 749 ) ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 902 STATE 849 ---------------------------------------------------------------------- ( 750 ) MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN . ArgumentListopt RPAREN Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .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:11:53 2021 Page 1503 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 1504 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1505 UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1506 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1507 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 903 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1508 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 850 ---------------------------------------------------------------------- ( 751 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .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:11:53 2021 Page 1509 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 1510 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1511 UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1512 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1513 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 904 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1514 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 851 ---------------------------------------------------------------------- ( 752 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN . ArgumentListopt RPAREN SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .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:11:53 2021 Page 1515 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 1516 QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1517 UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1518 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 ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1519 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 905 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1520 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 852 ---------------------------------------------------------------------- ( 753 ) ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt . RPAREN SEMICOLON RPAREN Shift 906 STATE 853 ---------------------------------------------------------------------- ( 755 ) 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 879 SwitchBlock Gt/Rd 452 STATE 854 ---------------------------------------------------------------------- ( 756 ) CastExpression ::= BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds . UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1521 Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1522 IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1523 MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 119 TWIDDLE Shift 120 BeginIntersectionCast Shift 117 null Shift 1198 TextBlock Shift 1198 StringLiteral Shift 1198 CharacterLiteral Shift 1198 DoubleLiteral Shift 1198 FloatingPointLiteral Shift 1198 LongLiteral Shift 1198 IntegerLiteral Shift 1198 false Shift 1198 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1524 true Shift 1198 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1207 PostDecrementExpression Goto 1206 PostfixExpression Goto 447 Literal Goto 1198 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1205 FieldAccess Goto 1204 PrimitiveType Goto 112 MethodInvocation Goto 1203 ArrayAccess Goto 1202 LambdaExpression Goto 1201 ReferenceExpression Goto 1200 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1198 ArrayCreationWithoutArrayInitializer Goto 1199 SwitchExpression Gt/Rd 624 CastExpression Gt/Rd 624 UnaryExpressionNotPlusMinus Gt/Rd 624 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1525 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 855 ---------------------------------------------------------------------- ( 757 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN .InsideCastExpression UnaryExpression InsideCastExpression ::= . (631) InsideCastExpression Goto 907 Identifier Reduce 631 boolean Reduce 631 byte Reduce 631 char Reduce 631 double Reduce 631 false Reduce 631 float Reduce 631 int Reduce 631 long Reduce 631 new Reduce 631 null Reduce 631 short Reduce 631 super Reduce 631 switch Reduce 631 this Reduce 631 true Reduce 631 void Reduce 631 IntegerLiteral Reduce 631 LongLiteral Reduce 631 FloatingPointLiteral Reduce 631 DoubleLiteral Reduce 631 CharacterLiteral Reduce 631 StringLiteral Reduce 631 TextBlock Reduce 631 PLUS_PLUS Reduce 631 MINUS_MINUS Reduce 631 PLUS Reduce 631 MINUS Reduce 631 NOT Reduce 631 TWIDDLE Reduce 631 LPAREN Reduce 631 BeginLambda Reduce 631 BeginIntersectionCast Reduce 631 AT308 Reduce 631 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1526 Default reduction to rule 631 STATE 856 ---------------------------------------------------------------------- ( 759 ) 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 SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) LBRACKET Shift 228 AT308 Shift 33 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Goto 908 Dimsopt Goto 908 AND Reduce 697 RPAREN Reduce 697 Default reduction to rule 697 STATE 857 ---------------------------------------------------------------------- ( 760 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1527 CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt .PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 510 PushRPAREN Goto 909 STATE 858 ---------------------------------------------------------------------- ( 762 ) CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN . InsideCastExpression UnaryExpressionNotPlusMinus InsideCastExpression ::= . (631) InsideCastExpression Goto 910 Identifier Reduce 631 boolean Reduce 631 byte Reduce 631 char Reduce 631 double Reduce 631 false Reduce 631 float Reduce 631 int Reduce 631 long Reduce 631 new Reduce 631 null Reduce 631 short Reduce 631 super Reduce 631 switch Reduce 631 this Reduce 631 true Reduce 631 void Reduce 631 IntegerLiteral Reduce 631 LongLiteral Reduce 631 FloatingPointLiteral Reduce 631 DoubleLiteral Reduce 631 CharacterLiteral Reduce 631 StringLiteral Reduce 631 TextBlock Reduce 631 NOT Reduce 631 TWIDDLE Reduce 631 LPAREN Reduce 631 BeginLambda Reduce 631 BeginIntersectionCast Reduce 631 AT308 Reduce 631 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1528 Default reduction to rule 631 STATE 859 ---------------------------------------------------------------------- ( 773 784 ) DefaultValue ::= default .MemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1529 PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1530 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 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:11:53 2021 Page 1531 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 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1532 ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression 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 ::= . (921) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1533 MINUS Shift 170 PLUS Shift 171 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1012 true Shift 1012 null Shift 1012 TextBlock Shift 1012 StringLiteral Shift 1012 CharacterLiteral Shift 1012 DoubleLiteral Shift 1012 FloatingPointLiteral Shift 1012 LongLiteral Shift 1012 IntegerLiteral Shift 1012 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 164 TWIDDLE Shift 165 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AT Shift 28 ConditionalOrExpression_NotName Goto 183 Name Goto 182 InclusiveOrExpression_NotName Goto 181 ConditionalAndExpression_NotName Goto 180 AndExpression_NotName Goto 179 ExclusiveOrExpression_NotName Goto 178 InstanceofExpression_NotName Goto 177 EqualityExpression_NotName Goto 176 ShiftExpression_NotName Goto 175 RelationalExpression_NotName Goto 174 MultiplicativeExpression_NotName Goto 173 AdditiveExpression_NotName Goto 172 PreIncrementExpression Goto 1013 PreDecrementExpression Goto 1013 UnaryExpressionNotPlusMinus_NotName Goto 1013 Primary Goto 169 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 PostfixExpression Goto 166 Literal Goto 1012 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1021 FieldAccess Goto 1020 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1534 PrimitiveType Goto 112 MethodInvocation Goto 1019 ArrayAccess Goto 1018 LambdaExpression Goto 1017 ReferenceExpression Goto 1016 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1015 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1012 ArrayCreationWithoutArrayInitializer Goto 1014 SwitchExpression Goto 1013 PostfixExpression_NotName Goto 1013 CastExpression Goto 1013 UnaryExpression_NotName Goto 1013 NormalAnnotation Gt/Rd 900 MarkerAnnotation Gt/Rd 900 SingleMemberAnnotation Gt/Rd 900 AnnotationName Goto 29 EnterMemberValueArrayInitializer Goto 163 ConditionalExpression_NotName Gt/Rd 900 Annotation Gt/Rd 900 MemberValueArrayInitializer Gt/Rd 900 MemberValue Gt/Rd 900 LBRACE Reduce 921 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 860 ---------------------------------------------------------------------- ( 774 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1535 StaticImportOnDemandDeclarationName ::= import static Name DOT RejectTypeAnnotations .MULTIPLY MULTIPLY Sh/Rd 753 STATE 861 ---------------------------------------------------------------------- ( 777 ) MemberValueArrayInitializer ::= EnterMemberValueArrayInitializer LBRACE PushLeftBrace MemberValues COMMA .RBRACE MemberValues ::= MemberValues COMMA .MemberValue Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1536 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1537 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 UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1538 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 ShiftExpression RelationalExpression_NotName ::= .Name GREATER ShiftExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1539 RelationalExpression_NotName ::= .RelationalExpression_NotName LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name LESS_EQUAL ShiftExpression RelationalExpression_NotName ::= .RelationalExpression_NotName GREATER_EQUAL ShiftExpression RelationalExpression_NotName ::= .Name GREATER_EQUAL ShiftExpression InstanceofExpression_NotName ::= .RelationalExpression_NotName InstanceofExpression_NotName ::= .Name InstanceofRHS InstanceofExpression_NotName ::= .InstanceofExpression_NotName InstanceofRHS EqualityExpression_NotName ::= .InstanceofExpression_NotName EqualityExpression_NotName ::= .EqualityExpression_NotName EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name EQUAL_EQUAL InstanceofExpression EqualityExpression_NotName ::= .EqualityExpression_NotName NOT_EQUAL InstanceofExpression EqualityExpression_NotName ::= .Name NOT_EQUAL InstanceofExpression AndExpression_NotName ::= .EqualityExpression_NotName AndExpression_NotName ::= .AndExpression_NotName AND EqualityExpression AndExpression_NotName ::= .Name AND EqualityExpression ExclusiveOrExpression_NotName ::= .AndExpression_NotName ExclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName XOR AndExpression ExclusiveOrExpression_NotName ::= .Name XOR AndExpression InclusiveOrExpression_NotName ::= .ExclusiveOrExpression_NotName InclusiveOrExpression_NotName ::= .InclusiveOrExpression_NotName OR ExclusiveOrExpression InclusiveOrExpression_NotName ::= .Name OR ExclusiveOrExpression ConditionalAndExpression_NotName ::= .InclusiveOrExpression_NotName ConditionalAndExpression_NotName ::= .ConditionalAndExpression_NotName AND_AND InclusiveOrExpression ConditionalAndExpression_NotName ::= .Name AND_AND InclusiveOrExpression ConditionalOrExpression_NotName ::= .ConditionalAndExpression_NotName ConditionalOrExpression_NotName ::= .ConditionalOrExpression_NotName OR_OR ConditionalAndExpression ConditionalOrExpression_NotName ::= .Name OR_OR ConditionalAndExpression ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName ConditionalExpression_NotName ::= .ConditionalOrExpression_NotName QUESTION Expression COLON ConditionalExpression ConditionalExpression_NotName ::= .Name QUESTION Expression COLON ConditionalExpression 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1540 EnterMemberValueArrayInitializer ::= . (921) MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RBRACE Sh/Rd 917 AT Shift 28 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 NOT Shift 164 TWIDDLE Shift 165 BeginIntersectionCast Shift 117 null Shift 1012 TextBlock Shift 1012 StringLiteral Shift 1012 CharacterLiteral Shift 1012 DoubleLiteral Shift 1012 FloatingPointLiteral Shift 1012 LongLiteral Shift 1012 IntegerLiteral Shift 1012 false Shift 1012 true Shift 1012 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 MINUS Shift 170 PLUS Shift 171 ConditionalOrExpression_NotName Goto 183 Name Goto 182 InclusiveOrExpression_NotName Goto 181 ConditionalAndExpression_NotName Goto 180 AndExpression_NotName Goto 179 ExclusiveOrExpression_NotName Goto 178 InstanceofExpression_NotName Goto 177 EqualityExpression_NotName Goto 176 ShiftExpression_NotName Goto 175 RelationalExpression_NotName Goto 174 MultiplicativeExpression_NotName Goto 173 AdditiveExpression_NotName Goto 172 PreIncrementExpression Goto 1013 PreDecrementExpression Goto 1013 UnaryExpressionNotPlusMinus_NotName Goto 1013 Primary Goto 169 PostIncrementExpression Goto 168 PostDecrementExpression Goto 167 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1541 PostfixExpression Goto 166 Literal Goto 1012 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1021 FieldAccess Goto 1020 PrimitiveType Goto 112 MethodInvocation Goto 1019 ArrayAccess Goto 1018 LambdaExpression Goto 1017 ReferenceExpression Goto 1016 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1015 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1012 ArrayCreationWithoutArrayInitializer Goto 1014 SwitchExpression Goto 1013 PostfixExpression_NotName Goto 1013 CastExpression Goto 1013 UnaryExpression_NotName Goto 1013 NormalAnnotation Gt/Rd 923 MarkerAnnotation Gt/Rd 923 SingleMemberAnnotation Gt/Rd 923 AnnotationName Goto 29 EnterMemberValueArrayInitializer Goto 163 ConditionalExpression_NotName Gt/Rd 923 Annotation Gt/Rd 923 MemberValueArrayInitializer Gt/Rd 923 MemberValue Gt/Rd 923 LBRACE Reduce 921 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1542 Default reduction to rule 78 STATE 862 ---------------------------------------------------------------------- ( 782 ) 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1543 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 ArrayType Gt/Rd 278 GenericType Goto 105 PrimitiveType Goto 211 Name Goto 210 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 983 ReferenceType Gt/Rd 278 Type Gt/Rd 278 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 863 ---------------------------------------------------------------------- ( 791 ) InternalCompilationUnit ::= PackageDeclaration ImportDeclarations ReduceImports TypeDeclarations . (98) TypeDeclarations ::= TypeDeclarations .TypeDeclaration TypeDeclaration ::= .SEMICOLON Modifiers ::= .Modifier Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1544 Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Modifiersopt ::= . (693) 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 190 AT Shift 98 strictfp Shift 987 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1545 volatile Shift 987 transient Shift 987 synchronized Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiers Goto 145 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 987 Modifiersopt Goto 57 ClassHeaderName Goto 56 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 EnumHeader Goto 47 EnumHeaderName Goto 46 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 ClassDeclaration Gt/Rd 175 InterfaceDeclaration Gt/Rd 175 EnumDeclaration Gt/Rd 175 AnnotationTypeDeclaration Gt/Rd 175 RecordDeclaration Gt/Rd 175 TypeDeclaration Gt/Rd 175 $eof Reduce 98 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 693 STATE 864 ---------------------------------------------------------------------- ( 796 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1546 MemberValuePair ::= SimpleName EQUAL EnterMemberValue MemberValue . ExitMemberValue ExitMemberValue ::= . (912) ExitMemberValue Gt/Rd 910 RPAREN Reduce 912 COMMA Reduce 912 Default reduction to rule 912 STATE 865 ---------------------------------------------------------------------- ( 798 ) TypeArgumentList1 ::= TypeArgumentList .COMMA TypeArgument1 TypeArgumentList ::= TypeArgumentList .COMMA TypeArgument TypeArgumentList2 ::= TypeArgumentList .COMMA TypeArgument2 TypeArgumentList3 ::= TypeArgumentList .COMMA TypeArgument3 COMMA Shift 911 STATE 866 ---------------------------------------------------------------------- ( 798 911 ) TypeArgument ::= ReferenceType . (760) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT UNSIGNED_RIGHT_SHIFT Sh/Rd 776 RIGHT_SHIFT Sh/Rd 770 GREATER Sh/Rd 764 COMMA Reduce 760 Default reduction to rule 760 STATE 867 ---------------------------------------------------------------------- ( 798 911 ) PrimitiveType ::= TypeAnnotationsopt .NumericType PrimitiveType ::= TypeAnnotationsopt .boolean PrimitiveType ::= TypeAnnotationsopt .void Wildcard ::= TypeAnnotationsopt .QUESTION Wildcard ::= TypeAnnotationsopt .QUESTION WildcardBounds Wildcard1 ::= TypeAnnotationsopt .QUESTION GREATER Wildcard1 ::= TypeAnnotationsopt .QUESTION WildcardBounds1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1547 Wildcard2 ::= TypeAnnotationsopt .QUESTION RIGHT_SHIFT Wildcard2 ::= TypeAnnotationsopt .QUESTION WildcardBounds2 Wildcard3 ::= TypeAnnotationsopt .QUESTION UNSIGNED_RIGHT_SHIFT Wildcard3 ::= TypeAnnotationsopt .QUESTION WildcardBounds3 QUESTION Shift 912 void Sh/Rd 48 boolean Sh/Rd 47 double Sh/Rd 44 float Sh/Rd 44 char Sh/Rd 44 long Sh/Rd 44 int Sh/Rd 44 short Sh/Rd 44 byte Sh/Rd 44 IntegralType Gt/Rd 44 FloatingPointType Gt/Rd 44 NumericType Gt/Rd 44 STATE 868 ---------------------------------------------------------------------- ( 799 ) 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1548 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 ReferenceType Goto 913 ClassOrInterface Goto 673 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotationsopt Goto 100 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 913 ReferenceType1 Gt/Rd 784 ReferenceType2 Gt/Rd 788 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1549 STATE 869 ---------------------------------------------------------------------- ( 799 ) WildcardBounds ::= extends .ReferenceType WildcardBounds1 ::= extends .ReferenceType1 WildcardBounds2 ::= extends .ReferenceType2 PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1550 ReferenceType Goto 914 ClassOrInterface Goto 673 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotationsopt Goto 100 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 914 ReferenceType1 Gt/Rd 783 ReferenceType2 Gt/Rd 787 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 870 ---------------------------------------------------------------------- ( 802 ) 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 92 Identifier Shift 681 SimpleName Goto 682 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1551 UnannotatableName Goto 682 VariableDeclaratorId Gt/Rd 94 VariableDeclaratorIdOrThis Gt/Rd 274 STATE 871 ---------------------------------------------------------------------- ( 807 ) TypeParameter ::= TypeParameterHeader extends ReferenceType AdditionalBoundList . (799) AdditionalBoundList ::= AdditionalBoundList .AdditionalBound AdditionalBoundList1 ::= AdditionalBoundList .AdditionalBound1 AdditionalBound ::= .AND ReferenceType AdditionalBound1 ::= .AND ReferenceType1 AND Shift 872 AdditionalBound Gt/Rd 801 AdditionalBound1 Gt/Rd 809 COMMA Reduce 799 Default reduction to rule 799 STATE 872 ---------------------------------------------------------------------- ( 807 871 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1552 QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 ReferenceType Goto 915 ClassOrInterface Goto 223 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotationsopt Goto 100 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 915 ReferenceType1 Gt/Rd 810 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1553 STATE 873 ---------------------------------------------------------------------- ( 808 ) VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations .ELLIPSIS VariableDeclaratorId ELLIPSIS Shift 916 STATE 874 ---------------------------------------------------------------------- ( 809 ) VariableArityRecordComponent ::= Modifiersopt Type PushZeroTypeAnnotations ELLIPSIS .VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 545 VariableDeclaratorId Gt/Rd 339 STATE 875 ---------------------------------------------------------------------- ( 811 ) CatchClause ::= catch LPAREN CatchFormalParameter RPAREN .Block Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) OpenBlock Goto 88 Block Gt/Rd 507 LBRACE Reduce 375 Default reduction to rule 375 STATE 876 ---------------------------------------------------------------------- ( 812 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId . EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EnterVariable ::= . (245) EnterVariable Goto 917 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1554 EQUAL Reduce 245 Default reduction to rule 245 STATE 877 ---------------------------------------------------------------------- ( 813 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable .EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EQUAL Shift 918 STATE 878 ---------------------------------------------------------------------- ( 814 ) DoStatement ::= do Statement while LPAREN Expression RPAREN .SEMICOLON SEMICOLON Sh/Rd 470 STATE 879 ---------------------------------------------------------------------- ( 815 853 ) SwitchBlock ::= LBRACE .RBRACE SwitchBlock ::= LBRACE .SwitchBlockStatements RBRACE SwitchBlock ::= LBRACE .SwitchLabels RBRACE SwitchBlock ::= LBRACE .SwitchBlockStatements SwitchLabels RBRACE SwitchBlockStatements ::= .SwitchBlockStatements SwitchBlockStatement SwitchBlockStatement ::= .SwitchLabels BlockStatements SwitchLabels ::= .SwitchLabels SwitchLabel SwitchLabel ::= .SwitchLabelCaseLhs COLON SwitchLabel ::= .default COLON SwitchLabeledRule ::= .SwitchLabeledExpression SwitchLabeledRule ::= .SwitchLabeledBlock SwitchLabeledRule ::= .SwitchLabeledThrowStatement SwitchLabeledExpression ::= .SwitchLabelExpr Expression SEMICOLON SwitchLabeledBlock ::= .SwitchLabelExpr Block SwitchLabeledThrowStatement ::= .SwitchLabelExpr ThrowExpression SEMICOLON SwitchLabelExpr ::= .default ARROW SwitchLabelExpr ::= .SwitchLabelCaseLhs BeginCaseExpr ARROW SwitchLabelCaseLhs ::= .case CaseLabelElements RBRACE Sh/Rd 438 case Shift 45 default Shift 921 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1555 SwitchLabeledRule Goto 919 SwitchLabels Goto 923 SwitchLabelCaseLhs Goto 922 SwitchLabel Goto 923 SwitchLabelExpr Goto 920 SwitchLabeledExpression Gt/Rd 453 SwitchLabeledBlock Gt/Rd 454 SwitchLabeledThrowStatement Gt/Rd 455 SwitchBlockStatement Goto 919 SwitchBlockStatements Goto 919 STATE 880 ---------------------------------------------------------------------- ( 816 ) MethodInvocation ::= QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 596 STATE 881 ---------------------------------------------------------------------- ( 818 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 924 STATE 882 ---------------------------------------------------------------------- ( 819 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (568) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (570) QualifiedEnterAnonymousClassBody Goto 925 QualifiedClassBodyopt Gt/Rd 561 abstract Reduce 568 final Reduce 568 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1556 instanceof Reduce 568 native Reduce 568 non-sealed Reduce 568 private Reduce 568 protected Reduce 568 public Reduce 568 static Reduce 568 strictfp Reduce 568 synchronized Reduce 568 transient Reduce 568 volatile Reduce 568 PLUS_PLUS Reduce 568 MINUS_MINUS Reduce 568 EQUAL_EQUAL Reduce 568 LESS_EQUAL Reduce 568 GREATER_EQUAL Reduce 568 NOT_EQUAL Reduce 568 LEFT_SHIFT Reduce 568 RIGHT_SHIFT Reduce 568 UNSIGNED_RIGHT_SHIFT Reduce 568 PLUS_EQUAL Reduce 568 MINUS_EQUAL Reduce 568 MULTIPLY_EQUAL Reduce 568 DIVIDE_EQUAL Reduce 568 AND_EQUAL Reduce 568 OR_EQUAL Reduce 568 XOR_EQUAL Reduce 568 REMAINDER_EQUAL Reduce 568 LEFT_SHIFT_EQUAL Reduce 568 RIGHT_SHIFT_EQUAL Reduce 568 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 568 OR_OR Reduce 568 AND_AND Reduce 568 PLUS Reduce 568 MINUS Reduce 568 REMAINDER Reduce 568 XOR Reduce 568 AND Reduce 568 MULTIPLY Reduce 568 OR Reduce 568 DIVIDE Reduce 568 GREATER Reduce 568 LESS Reduce 568 RPAREN Reduce 568 RBRACE Reduce 568 LBRACKET Reduce 568 RBRACKET Reduce 568 SEMICOLON Reduce 568 QUESTION Reduce 568 COLON Reduce 568 COMMA Reduce 568 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1557 DOT Reduce 568 EQUAL Reduce 568 AT Reduce 568 COLON_COLON Reduce 568 ElidedSemicolonAndRightBrace Reduce 568 BeginCaseExpr Reduce 568 RestrictedIdentifiersealed Reduce 568 $eof Reduce 568 LBRACE Reduce 570 Default reduction to rule 568 STATE 883 ---------------------------------------------------------------------- ( 821 ) ClassInstanceCreationExpression ::= new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . UnqualifiedClassBodyopt UnqualifiedClassBodyopt ::= . (565) UnqualifiedClassBodyopt ::= .UnqualifiedEnterAnonymousClassBody ClassBody UnqualifiedEnterAnonymousClassBody ::= . (567) UnqualifiedEnterAnonymousClassBody Goto 926 UnqualifiedClassBodyopt Gt/Rd 558 abstract Reduce 565 final Reduce 565 instanceof Reduce 565 native Reduce 565 non-sealed Reduce 565 private Reduce 565 protected Reduce 565 public Reduce 565 static Reduce 565 strictfp Reduce 565 synchronized Reduce 565 transient Reduce 565 volatile Reduce 565 PLUS_PLUS Reduce 565 MINUS_MINUS Reduce 565 EQUAL_EQUAL Reduce 565 LESS_EQUAL Reduce 565 GREATER_EQUAL Reduce 565 NOT_EQUAL Reduce 565 LEFT_SHIFT Reduce 565 RIGHT_SHIFT Reduce 565 UNSIGNED_RIGHT_SHIFT Reduce 565 PLUS_EQUAL Reduce 565 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1558 MINUS_EQUAL Reduce 565 MULTIPLY_EQUAL Reduce 565 DIVIDE_EQUAL Reduce 565 AND_EQUAL Reduce 565 OR_EQUAL Reduce 565 XOR_EQUAL Reduce 565 REMAINDER_EQUAL Reduce 565 LEFT_SHIFT_EQUAL Reduce 565 RIGHT_SHIFT_EQUAL Reduce 565 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 565 OR_OR Reduce 565 AND_AND Reduce 565 PLUS Reduce 565 MINUS Reduce 565 REMAINDER Reduce 565 XOR Reduce 565 AND Reduce 565 MULTIPLY Reduce 565 OR Reduce 565 DIVIDE Reduce 565 GREATER Reduce 565 LESS Reduce 565 RPAREN Reduce 565 RBRACE Reduce 565 LBRACKET Reduce 565 RBRACKET Reduce 565 SEMICOLON Reduce 565 QUESTION Reduce 565 COLON Reduce 565 COMMA Reduce 565 DOT Reduce 565 EQUAL Reduce 565 AT Reduce 565 COLON_COLON Reduce 565 ElidedSemicolonAndRightBrace Reduce 565 BeginCaseExpr Reduce 565 RestrictedIdentifiersealed Reduce 565 $eof Reduce 565 LBRACE Reduce 567 Default reduction to rule 565 STATE 884 ---------------------------------------------------------------------- ( 822 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN UnqualifiedClassBodyopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1559 RPAREN Shift 927 STATE 885 ---------------------------------------------------------------------- ( 824 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1560 Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1561 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:11:53 2021 Page 1562 UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1563 ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1564 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 928 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1565 void Reduce 78 Default reduction to rule 78 STATE 886 ---------------------------------------------------------------------- ( 825 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList .LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt LPAREN Shift 929 STATE 887 ---------------------------------------------------------------------- ( 826 ) ExplicitConstructorInvocation ::= Primary DOT this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 296 STATE 888 ---------------------------------------------------------------------- ( 827 ) MethodInvocation ::= Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 593 STATE 889 ---------------------------------------------------------------------- ( 828 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 930 STATE 890 ---------------------------------------------------------------------- ( 829 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 931 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1566 STATE 891 ---------------------------------------------------------------------- ( 830 ) ExplicitConstructorInvocation ::= Primary DOT super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 292 STATE 892 ---------------------------------------------------------------------- ( 831 ) MethodInvocation ::= super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 597 STATE 893 ---------------------------------------------------------------------- ( 835 ) IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf else . Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1567 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 ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON WhileStatement ::= .while LPAREN Expression RPAREN Statement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1568 DoStatement ::= .do Statement while LPAREN Expression RPAREN SEMICOLON ForStatement ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .Identifier NestedLambda IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1569 LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1570 ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 94 while Shift 92 if Shift 91 assert Shift 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1571 break Shift 65 continue Shift 64 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 AssertStatement Gt/Rd 435 Block Gt/Rd 435 EmptyStatement Gt/Rd 435 ExpressionStatement Gt/Rd 435 SwitchStatement Gt/Rd 435 DoStatement Gt/Rd 435 BreakStatement Gt/Rd 435 ContinueStatement Gt/Rd 435 ReturnStatement Gt/Rd 435 SynchronizedStatement Gt/Rd 435 ThrowStatement Gt/Rd 435 TryStatement Gt/Rd 435 TryStatementWithResources Gt/Rd 435 YieldStatement Gt/Rd 435 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1572 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 Label Goto 90 EnhancedForStatementHeader Goto 93 EnhancedForStatementHeaderInit Goto 95 StatementWithoutTrailingSubstatement Gt/Rd 435 LabeledStatement Gt/Rd 435 IfThenStatement Gt/Rd 435 IfThenElseStatement Gt/Rd 435 WhileStatement Gt/Rd 435 ForStatement Gt/Rd 435 EnhancedForStatement Gt/Rd 435 Statement Gt/Rd 435 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 894 ---------------------------------------------------------------------- ( 838 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1573 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Modifiers ::= .Modifiers Modifier Modifier ::= .Annotation LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1574 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 LambdaParameters ::= .BeginLambda 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:11:53 2021 Page 1575 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1576 PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement ForInitopt ::= . (717) Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 strictfp Shift 540 volatile Shift 540 transient Shift 540 synchronized Shift 540 RestrictedIdentifiersealed Shift 540 non-sealed Shift 540 native Shift 540 final Shift 540 abstract Shift 540 static Shift 540 private Shift 540 protected Shift 540 public Shift 540 AT Shift 28 StatementExpressionList Goto 542 LocalVariableDeclaration Goto 932 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1577 PrimitiveType Goto 106 ReferenceType Goto 539 ClassOrInterface Goto 36 GenericType Goto 105 Name Goto 541 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 539 Modifier Goto 540 Modifiers Goto 540 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 Type Goto 539 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 116 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 995 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 StatementExpression Goto 1093 ForInit Goto 932 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1578 ForInitopt Goto 932 SEMICOLON Reduce 717 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 895 ---------------------------------------------------------------------- ( 839 ) 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 ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) 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:11:53 2021 Page 1579 NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 1580 ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1581 UnaryExpression ::= .PreDecrementExpression UnaryExpression ::= .PLUS PushPosition UnaryExpression UnaryExpression ::= .MINUS PushPosition UnaryExpression UnaryExpression ::= .UnaryExpressionNotPlusMinus PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1582 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1583 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 933 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1584 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 896 ---------------------------------------------------------------------- ( 840 ) 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 ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 1585 InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS 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:11:53 2021 Page 1586 EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1587 PreIncrementExpression ::= .PLUS_PLUS PushPosition UnaryExpression PreDecrementExpression ::= .MINUS_MINUS PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .PostfixExpression UnaryExpressionNotPlusMinus ::= .TWIDDLE PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1588 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1589 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 934 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1590 void Reduce 78 Default reduction to rule 78 STATE 897 ---------------------------------------------------------------------- ( 841 ) LabeledStatement ::= Label COLON .Statement LabeledStatementNoShortIf ::= Label COLON .StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1591 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 ::= . (375) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1592 StatementNoShortIf else StatementNoShortIf SwitchStatement ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1593 NonWildTypeArgumentsopt 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:11:53 2021 Page 1594 MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1595 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 for Shift 838 while Shift 839 if Shift 840 Label Goto 841 EnhancedForStatementHeader Goto 837 StatementWithoutTrailingSubstatement Goto 836 LabeledStatementNoShortIf Gt/Rd 423 IfThenElseStatementNoShortIf Gt/Rd 423 WhileStatementNoShortIf Gt/Rd 423 ForStatementNoShortIf Gt/Rd 423 EnhancedForStatementNoShortIf Gt/Rd 423 AssertStatement Goto 1197 Block Goto 1197 EmptyStatement Goto 1197 ExpressionStatement Goto 1197 SwitchStatement Goto 1197 DoStatement Goto 1197 BreakStatement Goto 1197 ContinueStatement Goto 1197 ReturnStatement Goto 1197 SynchronizedStatement Goto 1197 ThrowStatement Goto 1197 TryStatement Goto 1197 TryStatementWithResources Goto 1197 YieldStatement Goto 1197 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1596 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 EnhancedForStatementHeaderInit Goto 95 LabeledStatement Gt/Rd 422 IfThenStatement Gt/Rd 422 IfThenElseStatement Gt/Rd 422 WhileStatement Gt/Rd 422 ForStatement Gt/Rd 422 EnhancedForStatement Gt/Rd 422 Statement Gt/Rd 422 StatementNoShortIf Gt/Rd 423 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 898 ---------------------------------------------------------------------- ( 842 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1597 ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON . ForUpdateopt RPAREN Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression ForUpdate ::= .StatementExpressionList StatementExpressionList ::= .StatementExpression StatementExpressionList ::= .StatementExpressionList COMMA StatementExpression PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1598 PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1599 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 ::= . (719) MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1600 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 StatementExpressionList Goto 936 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 116 Name Goto 115 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 StatementExpression Goto 1219 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1601 ForUpdate Goto 935 ForUpdateopt Goto 935 RPAREN Reduce 719 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 899 ---------------------------------------------------------------------- ( 843 ) VariableDeclaratorId ::= Identifier Dimsopt . (250) EnhancedForStatementHeaderInit ::= for LPAREN Type PushModifiers Identifier Dimsopt . (747) COLON Reduce 747 SEMICOLON Reduce 250 COMMA Reduce 250 EQUAL Reduce 250 Default reduction to rule 250 STATE 900 ---------------------------------------------------------------------- ( 844 ) 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 SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN Dims ::= .DimsLoop IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1602 DimsLoop ::= .OneDimLoop DimsLoop ::= .DimsLoop OneDimLoop OneDimLoop ::= .LBRACKET RBRACKET OneDimLoop ::= .TypeAnnotations LBRACKET RBRACKET Dimsopt ::= . (697) LBRACKET Shift 228 AT308 Shift 33 DimsLoop Goto 229 TypeAnnotations Goto 227 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 OneDimLoop Goto 1023 Dims Goto 937 Dimsopt Goto 937 SEMICOLON Reduce 697 COLON Reduce 697 COMMA Reduce 697 EQUAL Reduce 697 Default reduction to rule 697 STATE 901 ---------------------------------------------------------------------- ( 845 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet . VariableInitializer RestoreDiet ExitVariableWithInitialization Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1603 Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1604 NonWildTypeArgumentsopt 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:11:53 2021 Page 1605 MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1606 ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1607 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 LBRACE Shift 133 AssignmentExpression Gt/Rd 683 ConditionalOrExpression Goto 130 InclusiveOrExpression Goto 128 ConditionalAndExpression Goto 131 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PostfixExpression Goto 132 Literal Goto 997 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 PrimitiveType Goto 112 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1608 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 997 ArrayCreationWithoutArrayInitializer Goto 1008 SwitchExpression Goto 998 CastExpression Goto 998 UnaryExpression Goto 998 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalExpression Goto 1009 Assignment Goto 1009 Expression Goto 938 ArrayInitializer Goto 938 VariableInitializer Goto 938 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 902 ---------------------------------------------------------------------- ( 848 ) ExplicitConstructorInvocation ::= Name DOT this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 298 STATE 903 ---------------------------------------------------------------------- ( 849 ) MethodInvocation ::= Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt .RPAREN RPAREN Sh/Rd 592 STATE 904 ---------------------------------------------------------------------- ( 850 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1609 ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 939 STATE 905 ---------------------------------------------------------------------- ( 851 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt .RPAREN SEMICOLON RPAREN Shift 940 STATE 906 ---------------------------------------------------------------------- ( 852 ) ExplicitConstructorInvocation ::= Name DOT super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 294 STATE 907 ---------------------------------------------------------------------- ( 855 ) CastExpression ::= PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression .UnaryExpression Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1610 TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 1611 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1612 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 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 1072 true Shift 1072 null Shift 1072 TextBlock Shift 1072 StringLiteral Shift 1072 CharacterLiteral Shift 1072 DoubleLiteral Shift 1072 FloatingPointLiteral Shift 1072 LongLiteral Shift 1072 IntegerLiteral Shift 1072 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1613 PLUS_PLUS Shift 69 SwitchExpression Gt/Rd 620 PostfixExpression Goto 447 CastExpression Gt/Rd 620 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1081 BooleanLiteral Goto 1072 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 1072 ClassInstanceCreationExpression Goto 1080 FieldAccess Goto 1079 MethodInvocation Goto 1078 ArrayAccess Goto 1077 LambdaExpression Goto 1076 ReferenceExpression Goto 1075 PostIncrementExpression Goto 1074 PostDecrementExpression Goto 1073 PreIncrementExpression Gt/Rd 620 PreDecrementExpression Gt/Rd 620 UnaryExpressionNotPlusMinus Gt/Rd 620 UnaryExpression Gt/Rd 620 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1614 STATE 908 ---------------------------------------------------------------------- ( 856 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt .AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus AdditionalBoundsListOpt ::= . (626) AdditionalBoundsListOpt ::= .AdditionalBoundList AdditionalBoundList ::= .AdditionalBound AdditionalBoundList ::= .AdditionalBoundList AdditionalBound AdditionalBound ::= .AND ReferenceType AND Shift 463 AdditionalBound Goto 1185 AdditionalBoundList Goto 758 AdditionalBoundsListOpt Goto 941 RPAREN Reduce 626 Default reduction to rule 626 STATE 909 ---------------------------------------------------------------------- ( 857 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN . InsideCastExpression UnaryExpressionNotPlusMinus InsideCastExpression ::= . (631) InsideCastExpression Goto 942 Identifier Reduce 631 boolean Reduce 631 byte Reduce 631 char Reduce 631 double Reduce 631 false Reduce 631 float Reduce 631 int Reduce 631 long Reduce 631 new Reduce 631 null Reduce 631 short Reduce 631 super Reduce 631 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1615 switch Reduce 631 this Reduce 631 true Reduce 631 void Reduce 631 IntegerLiteral Reduce 631 LongLiteral Reduce 631 FloatingPointLiteral Reduce 631 DoubleLiteral Reduce 631 CharacterLiteral Reduce 631 StringLiteral Reduce 631 TextBlock Reduce 631 NOT Reduce 631 TWIDDLE Reduce 631 LPAREN Reduce 631 BeginLambda Reduce 631 BeginIntersectionCast Reduce 631 AT308 Reduce 631 Default reduction to rule 631 STATE 910 ---------------------------------------------------------------------- ( 858 ) CastExpression ::= PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression .UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1616 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:11:53 2021 Page 1617 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1618 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 119 TWIDDLE Shift 120 BeginIntersectionCast Shift 117 null Shift 1198 TextBlock Shift 1198 StringLiteral Shift 1198 CharacterLiteral Shift 1198 DoubleLiteral Shift 1198 FloatingPointLiteral Shift 1198 LongLiteral Shift 1198 IntegerLiteral Shift 1198 false Shift 1198 true Shift 1198 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1207 PostDecrementExpression Goto 1206 PostfixExpression Goto 447 Literal Goto 1198 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1205 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1619 FieldAccess Goto 1204 PrimitiveType Goto 112 MethodInvocation Goto 1203 ArrayAccess Goto 1202 LambdaExpression Goto 1201 ReferenceExpression Goto 1200 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1198 ArrayCreationWithoutArrayInitializer Goto 1199 SwitchExpression Gt/Rd 625 CastExpression Gt/Rd 625 UnaryExpressionNotPlusMinus Gt/Rd 625 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 911 ---------------------------------------------------------------------- ( 865 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1620 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 ReferenceType Goto 866 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1621 TypeAnnotationsopt Goto 867 ReferenceType3 Gt/Rd 773 Wildcard3 Gt/Rd 773 ClassOrInterface Goto 673 ReferenceType2 Gt/Rd 767 Wildcard2 Gt/Rd 767 Wildcard Gt/Rd 759 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 1022 ReferenceType1 Gt/Rd 757 Wildcard1 Gt/Rd 757 TypeArgument1 Gt/Rd 757 TypeArgument Gt/Rd 759 TypeArgument2 Gt/Rd 767 TypeArgument3 Gt/Rd 773 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 QUESTION Reduce 78 Default reduction to rule 78 STATE 912 ---------------------------------------------------------------------- ( 867 ) Wildcard ::= TypeAnnotationsopt QUESTION . (777) Wildcard ::= TypeAnnotationsopt QUESTION .WildcardBounds Wildcard1 ::= TypeAnnotationsopt QUESTION .GREATER Wildcard1 ::= TypeAnnotationsopt QUESTION .WildcardBounds1 Wildcard2 ::= TypeAnnotationsopt QUESTION .RIGHT_SHIFT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1622 Wildcard2 ::= TypeAnnotationsopt QUESTION .WildcardBounds2 Wildcard3 ::= TypeAnnotationsopt QUESTION .UNSIGNED_RIGHT_SHIFT Wildcard3 ::= TypeAnnotationsopt QUESTION .WildcardBounds3 WildcardBounds ::= .extends ReferenceType WildcardBounds ::= .super ReferenceType WildcardBounds1 ::= .extends ReferenceType1 WildcardBounds1 ::= .super ReferenceType1 WildcardBounds2 ::= .extends ReferenceType2 WildcardBounds2 ::= .super ReferenceType2 WildcardBounds3 ::= .extends ReferenceType3 WildcardBounds3 ::= .super ReferenceType3 UNSIGNED_RIGHT_SHIFT Sh/Rd 789 RIGHT_SHIFT Sh/Rd 785 GREATER Sh/Rd 781 super Shift 943 extends Shift 944 WildcardBounds Gt/Rd 778 WildcardBounds1 Gt/Rd 782 WildcardBounds2 Gt/Rd 786 WildcardBounds3 Gt/Rd 790 COMMA Reduce 777 Default reduction to rule 777 STATE 913 ---------------------------------------------------------------------- ( 868 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT WildcardBounds ::= super ReferenceType . (780) RIGHT_SHIFT Sh/Rd 770 GREATER Sh/Rd 764 COMMA Reduce 780 Default reduction to rule 780 STATE 914 ---------------------------------------------------------------------- ( 869 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT WildcardBounds ::= extends ReferenceType . (779) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1623 RIGHT_SHIFT Sh/Rd 770 GREATER Sh/Rd 764 COMMA Reduce 779 Default reduction to rule 779 STATE 915 ---------------------------------------------------------------------- ( 872 ) ReferenceType1 ::= ReferenceType .GREATER AdditionalBound ::= AND ReferenceType . (802) GREATER Sh/Rd 764 AND Reduce 802 COMMA Reduce 802 Default reduction to rule 802 STATE 916 ---------------------------------------------------------------------- ( 873 ) VariableArityRecordComponent ::= Modifiersopt Type AT308DOTDOTDOT TypeAnnotations ELLIPSIS . VariableDeclaratorId VariableDeclaratorId ::= .Identifier Dimsopt Identifier Shift 545 VariableDeclaratorId Gt/Rd 340 STATE 917 ---------------------------------------------------------------------- ( 876 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable .EQUAL ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization EQUAL Shift 945 STATE 918 ---------------------------------------------------------------------- ( 877 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL . ForceNoDiet VariableInitializer RestoreDiet IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1624 ExitVariableWithInitialization ForceNoDiet ::= . (248) ForceNoDiet Goto 946 Identifier Reduce 248 boolean Reduce 248 byte Reduce 248 char Reduce 248 double Reduce 248 false Reduce 248 float Reduce 248 int Reduce 248 long Reduce 248 new Reduce 248 null Reduce 248 short Reduce 248 super Reduce 248 switch Reduce 248 this Reduce 248 true Reduce 248 void Reduce 248 IntegerLiteral Reduce 248 LongLiteral Reduce 248 FloatingPointLiteral Reduce 248 DoubleLiteral Reduce 248 CharacterLiteral Reduce 248 StringLiteral Reduce 248 TextBlock Reduce 248 PLUS_PLUS Reduce 248 MINUS_MINUS Reduce 248 PLUS Reduce 248 MINUS Reduce 248 NOT Reduce 248 TWIDDLE Reduce 248 LPAREN Reduce 248 LBRACE Reduce 248 BeginLambda Reduce 248 BeginIntersectionCast Reduce 248 AT308 Reduce 248 Default reduction to rule 248 STATE 919 ---------------------------------------------------------------------- ( 879 ) SwitchBlock ::= LBRACE SwitchBlockStatements .RBRACE SwitchBlock ::= LBRACE SwitchBlockStatements .SwitchLabels RBRACE SwitchBlockStatements ::= SwitchBlockStatements .SwitchBlockStatement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1625 SwitchBlockStatement ::= .SwitchLabels BlockStatements SwitchLabels ::= .SwitchLabels SwitchLabel SwitchLabel ::= .SwitchLabelCaseLhs COLON SwitchLabel ::= .default COLON SwitchLabeledRule ::= .SwitchLabeledExpression SwitchLabeledRule ::= .SwitchLabeledBlock SwitchLabeledRule ::= .SwitchLabeledThrowStatement SwitchLabeledExpression ::= .SwitchLabelExpr Expression SEMICOLON SwitchLabeledBlock ::= .SwitchLabelExpr Block SwitchLabeledThrowStatement ::= .SwitchLabelExpr ThrowExpression SEMICOLON SwitchLabelExpr ::= .default ARROW SwitchLabelExpr ::= .SwitchLabelCaseLhs BeginCaseExpr ARROW SwitchLabelCaseLhs ::= .case CaseLabelElements RBRACE Sh/Rd 439 case Shift 45 default Shift 921 SwitchLabeledExpression Gt/Rd 453 SwitchLabeledBlock Gt/Rd 454 SwitchLabeledThrowStatement Gt/Rd 455 SwitchLabelExpr Goto 920 SwitchLabelCaseLhs Goto 922 SwitchLabeledRule Gt/Rd 443 SwitchLabels Goto 947 SwitchLabel Goto 947 SwitchBlockStatement Gt/Rd 443 STATE 920 ---------------------------------------------------------------------- ( 879 919 ) SwitchLabeledExpression ::= SwitchLabelExpr .Expression SEMICOLON SwitchLabeledBlock ::= SwitchLabelExpr .Block SwitchLabeledThrowStatement ::= SwitchLabelExpr .ThrowExpression SEMICOLON Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1626 Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) 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 QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .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:11:53 2021 Page 1627 ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1628 MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1629 AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1630 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 throw Shift 950 OpenBlock Goto 88 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1631 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Goto 949 Block Gt/Rd 457 ThrowExpression Goto 948 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 LBRACE Reduce 375 Default reduction to rule 78 STATE 921 ---------------------------------------------------------------------- ( 879 919 ) SwitchLabel ::= default .COLON SwitchLabelExpr ::= default .ARROW ARROW Sh/Rd 459 COLON Sh/Rd 449 STATE 922 ---------------------------------------------------------------------- ( 879 919 ) SwitchLabel ::= SwitchLabelCaseLhs .COLON SwitchLabelExpr ::= SwitchLabelCaseLhs .BeginCaseExpr ARROW BeginCaseExpr Shift 951 COLON Sh/Rd 448 STATE 923 ---------------------------------------------------------------------- ( 879 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1632 SwitchBlock ::= LBRACE SwitchLabels .RBRACE SwitchBlockStatement ::= SwitchLabels .BlockStatements SwitchLabels ::= SwitchLabels .SwitchLabel Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1633 Modifiers ::= .Modifiers Modifier Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1634 RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1635 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 CaseLabelElements YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1636 IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1637 MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1638 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 440 AT308 Shift 33 strictfp Shift 987 volatile Shift 987 transient Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 for Shift 94 while Shift 92 if Shift 91 assert Shift 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1639 continue Shift 64 return Shift 63 synchronized Shift 97 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 AT Shift 98 default Shift 953 case Shift 45 SwitchLabelCaseLhs Goto 954 LocalVariableDeclarationStatement Goto 996 Statement Goto 996 ClassDeclaration Goto 996 RecordDeclaration Goto 996 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 EnumHeaderName Goto 46 Modifiersopt Goto 57 EnumHeader Goto 47 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 99 AnnotationTypeDeclarationHeader Goto 49 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 RecordHeaderName Goto 53 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 ClassHeaderName Goto 56 ClassHeaderName1 Goto 58 ClassHeader Goto 59 AssertStatement Goto 996 Block Goto 996 EmptyStatement Goto 996 ExpressionStatement Goto 996 SwitchStatement Goto 996 DoStatement Goto 996 BreakStatement Goto 996 ContinueStatement Goto 996 ReturnStatement Goto 996 SynchronizedStatement Goto 996 ThrowStatement Goto 996 TryStatement Goto 996 TryStatementWithResources Goto 996 YieldStatement Goto 996 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1640 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 103 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 106 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 Label Goto 90 EnhancedForStatementHeader Goto 93 EnhancedForStatementHeaderInit Goto 95 StatementWithoutTrailingSubstatement Goto 996 LabeledStatement Goto 996 IfThenStatement Goto 996 IfThenElseStatement Goto 996 WhileStatement Goto 996 ForStatement Goto 996 EnhancedForStatement Goto 996 Type Goto 96 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 987 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1641 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 96 GenericType Goto 105 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 995 ReferenceType Goto 96 LocalVariableDeclaration Goto 107 BlockStatement Gt/Rd 376 BlockStatements Goto 952 SwitchLabel Gt/Rd 447 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 LBRACE Reduce 375 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 78 STATE 924 ---------------------------------------------------------------------- ( 881 ) ClassInstanceCreationExpression ::= ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (568) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (570) QualifiedEnterAnonymousClassBody Goto 925 QualifiedClassBodyopt Gt/Rd 562 abstract Reduce 568 final Reduce 568 instanceof Reduce 568 native Reduce 568 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1642 non-sealed Reduce 568 private Reduce 568 protected Reduce 568 public Reduce 568 static Reduce 568 strictfp Reduce 568 synchronized Reduce 568 transient Reduce 568 volatile Reduce 568 PLUS_PLUS Reduce 568 MINUS_MINUS Reduce 568 EQUAL_EQUAL Reduce 568 LESS_EQUAL Reduce 568 GREATER_EQUAL Reduce 568 NOT_EQUAL Reduce 568 LEFT_SHIFT Reduce 568 RIGHT_SHIFT Reduce 568 UNSIGNED_RIGHT_SHIFT Reduce 568 PLUS_EQUAL Reduce 568 MINUS_EQUAL Reduce 568 MULTIPLY_EQUAL Reduce 568 DIVIDE_EQUAL Reduce 568 AND_EQUAL Reduce 568 OR_EQUAL Reduce 568 XOR_EQUAL Reduce 568 REMAINDER_EQUAL Reduce 568 LEFT_SHIFT_EQUAL Reduce 568 RIGHT_SHIFT_EQUAL Reduce 568 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 568 OR_OR Reduce 568 AND_AND Reduce 568 PLUS Reduce 568 MINUS Reduce 568 REMAINDER Reduce 568 XOR Reduce 568 AND Reduce 568 MULTIPLY Reduce 568 OR Reduce 568 DIVIDE Reduce 568 GREATER Reduce 568 LESS Reduce 568 RPAREN Reduce 568 RBRACE Reduce 568 LBRACKET Reduce 568 RBRACKET Reduce 568 SEMICOLON Reduce 568 QUESTION Reduce 568 COLON Reduce 568 COMMA Reduce 568 DOT Reduce 568 EQUAL Reduce 568 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1643 AT Reduce 568 COLON_COLON Reduce 568 ElidedSemicolonAndRightBrace Reduce 568 BeginCaseExpr Reduce 568 RestrictedIdentifiersealed Reduce 568 $eof Reduce 568 LBRACE Reduce 570 Default reduction to rule 568 STATE 925 ---------------------------------------------------------------------- ( 882 924 955 967 ) QualifiedClassBodyopt ::= QualifiedEnterAnonymousClassBody .ClassBody ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 256 ClassBody Gt/Rd 569 STATE 926 ---------------------------------------------------------------------- ( 883 927 ) UnqualifiedClassBodyopt ::= UnqualifiedEnterAnonymousClassBody .ClassBody ClassBody ::= .LBRACE ClassBodyDeclarationsopt RBRACE LBRACE Shift 256 ClassBody Gt/Rd 566 STATE 927 ---------------------------------------------------------------------- ( 884 ) ClassInstanceCreationExpression ::= new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . UnqualifiedClassBodyopt UnqualifiedClassBodyopt ::= . (565) UnqualifiedClassBodyopt ::= .UnqualifiedEnterAnonymousClassBody ClassBody UnqualifiedEnterAnonymousClassBody ::= . (567) UnqualifiedEnterAnonymousClassBody Goto 926 UnqualifiedClassBodyopt Gt/Rd 557 abstract Reduce 565 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1644 final Reduce 565 instanceof Reduce 565 native Reduce 565 non-sealed Reduce 565 private Reduce 565 protected Reduce 565 public Reduce 565 static Reduce 565 strictfp Reduce 565 synchronized Reduce 565 transient Reduce 565 volatile Reduce 565 PLUS_PLUS Reduce 565 MINUS_MINUS Reduce 565 EQUAL_EQUAL Reduce 565 LESS_EQUAL Reduce 565 GREATER_EQUAL Reduce 565 NOT_EQUAL Reduce 565 LEFT_SHIFT Reduce 565 RIGHT_SHIFT Reduce 565 UNSIGNED_RIGHT_SHIFT Reduce 565 PLUS_EQUAL Reduce 565 MINUS_EQUAL Reduce 565 MULTIPLY_EQUAL Reduce 565 DIVIDE_EQUAL Reduce 565 AND_EQUAL Reduce 565 OR_EQUAL Reduce 565 XOR_EQUAL Reduce 565 REMAINDER_EQUAL Reduce 565 LEFT_SHIFT_EQUAL Reduce 565 RIGHT_SHIFT_EQUAL Reduce 565 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 565 OR_OR Reduce 565 AND_AND Reduce 565 PLUS Reduce 565 MINUS Reduce 565 REMAINDER Reduce 565 XOR Reduce 565 AND Reduce 565 MULTIPLY Reduce 565 OR Reduce 565 DIVIDE Reduce 565 GREATER Reduce 565 LESS Reduce 565 RPAREN Reduce 565 RBRACE Reduce 565 LBRACKET Reduce 565 RBRACKET Reduce 565 SEMICOLON Reduce 565 QUESTION Reduce 565 COLON Reduce 565 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1645 COMMA Reduce 565 DOT Reduce 565 EQUAL Reduce 565 AT Reduce 565 COLON_COLON Reduce 565 ElidedSemicolonAndRightBrace Reduce 565 BeginCaseExpr Reduce 565 RestrictedIdentifiersealed Reduce 565 $eof Reduce 565 LBRACE Reduce 567 Default reduction to rule 565 STATE 928 ---------------------------------------------------------------------- ( 885 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 955 STATE 929 ---------------------------------------------------------------------- ( 886 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN . ArgumentListopt RPAREN QualifiedClassBodyopt Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1646 SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1647 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:11:53 2021 Page 1648 LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1649 ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression ArgumentListopt ::= . (699) ArgumentListopt ::= .ArgumentList MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1650 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 Expression Gt/Rd 571 ArgumentList Goto 530 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1651 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 ArgumentListopt Goto 956 RPAREN Reduce 699 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 930 ---------------------------------------------------------------------- ( 889 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 297 STATE 931 ---------------------------------------------------------------------- ( 890 ) ExplicitConstructorInvocation ::= Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 293 STATE 932 ---------------------------------------------------------------------- ( 894 ) ForStatement ::= for LPAREN ForInitopt .SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN Statement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1652 ForStatementNoShortIf ::= for LPAREN ForInitopt .SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf SEMICOLON Shift 957 STATE 933 ---------------------------------------------------------------------- ( 895 ) WhileStatement ::= while LPAREN Expression .RPAREN Statement WhileStatementNoShortIf ::= while LPAREN Expression .RPAREN StatementNoShortIf RPAREN Shift 958 STATE 934 ---------------------------------------------------------------------- ( 896 ) IfThenStatement ::= if LPAREN Expression .RPAREN Statement IfThenElseStatement ::= if LPAREN Expression .RPAREN StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression .RPAREN StatementNoShortIf else StatementNoShortIf RPAREN Shift 959 STATE 935 ---------------------------------------------------------------------- ( 898 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN Statement RPAREN Shift 960 STATE 936 ---------------------------------------------------------------------- ( 898 973 ) ForUpdate ::= StatementExpressionList . (475) StatementExpressionList ::= StatementExpressionList .COMMA StatementExpression COMMA Shift 741 RPAREN Reduce 720 Default reduction to rule 475 STATE 937 ---------------------------------------------------------------------- ( 900 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1653 VariableDeclaratorId ::= Identifier Dimsopt . (250) EnhancedForStatementHeaderInit ::= for LPAREN Modifiers Type PushRealModifiers Identifier Dimsopt . (748) COLON Reduce 748 SEMICOLON Reduce 250 COMMA Reduce 250 EQUAL Reduce 250 Default reduction to rule 250 STATE 938 ---------------------------------------------------------------------- ( 901 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer .RestoreDiet ExitVariableWithInitialization RestoreDiet ::= . (249) RestoreDiet Goto 961 SEMICOLON Reduce 249 COMMA Reduce 249 Default reduction to rule 249 STATE 939 ---------------------------------------------------------------------- ( 904 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 299 STATE 940 ---------------------------------------------------------------------- ( 905 ) ExplicitConstructorInvocation ::= Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN .SEMICOLON SEMICOLON Sh/Rd 295 STATE 941 ---------------------------------------------------------------------- ( 908 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1654 ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt . PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus PushRPAREN ::= .RPAREN RPAREN Sh/Rd 510 PushRPAREN Goto 962 STATE 942 ---------------------------------------------------------------------- ( 909 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression .UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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:11:53 2021 Page 1655 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:11:53 2021 Page 1656 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 AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1657 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 119 TWIDDLE Shift 120 BeginIntersectionCast Shift 117 null Shift 1198 TextBlock Shift 1198 StringLiteral Shift 1198 CharacterLiteral Shift 1198 DoubleLiteral Shift 1198 FloatingPointLiteral Shift 1198 LongLiteral Shift 1198 IntegerLiteral Shift 1198 false Shift 1198 true Shift 1198 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1207 PostDecrementExpression Goto 1206 PostfixExpression Goto 447 Literal Goto 1198 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1205 FieldAccess Goto 1204 PrimitiveType Goto 112 MethodInvocation Goto 1203 ArrayAccess Goto 1202 LambdaExpression Goto 1201 ReferenceExpression Goto 1200 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1658 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1198 ArrayCreationWithoutArrayInitializer Goto 1199 SwitchExpression Gt/Rd 621 CastExpression Gt/Rd 621 UnaryExpressionNotPlusMinus Gt/Rd 621 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 943 ---------------------------------------------------------------------- ( 912 ) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1659 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 33 Identifier Shift 982 ReferenceType Goto 963 ClassOrInterface Goto 673 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotationsopt Goto 100 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 963 ReferenceType1 Gt/Rd 784 ReferenceType2 Gt/Rd 788 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1660 ReferenceType3 Gt/Rd 792 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 944 ---------------------------------------------------------------------- ( 912 ) 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 ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1661 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 33 Identifier Shift 982 ReferenceType Goto 964 ClassOrInterface Goto 673 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 983 Name Goto 210 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 PrimitiveType Goto 224 ArrayTypeWithTypeArgumentsName Goto 101 TypeAnnotationsopt Goto 100 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 964 ReferenceType1 Gt/Rd 783 ReferenceType2 Gt/Rd 787 ReferenceType3 Gt/Rd 791 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 945 ---------------------------------------------------------------------- ( 917 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1662 Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL .ForceNoDiet VariableInitializer RestoreDiet ExitVariableWithInitialization ForceNoDiet ::= . (248) ForceNoDiet Goto 965 Identifier Reduce 248 boolean Reduce 248 byte Reduce 248 char Reduce 248 double Reduce 248 false Reduce 248 float Reduce 248 int Reduce 248 long Reduce 248 new Reduce 248 null Reduce 248 short Reduce 248 super Reduce 248 switch Reduce 248 this Reduce 248 true Reduce 248 void Reduce 248 IntegerLiteral Reduce 248 LongLiteral Reduce 248 FloatingPointLiteral Reduce 248 DoubleLiteral Reduce 248 CharacterLiteral Reduce 248 StringLiteral Reduce 248 TextBlock Reduce 248 PLUS_PLUS Reduce 248 MINUS_MINUS Reduce 248 PLUS Reduce 248 MINUS Reduce 248 NOT Reduce 248 TWIDDLE Reduce 248 LPAREN Reduce 248 LBRACE Reduce 248 BeginLambda Reduce 248 BeginIntersectionCast Reduce 248 AT308 Reduce 248 Default reduction to rule 248 STATE 946 ---------------------------------------------------------------------- ( 918 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1663 ForceNoDiet .VariableInitializer RestoreDiet ExitVariableWithInitialization Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1664 PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1665 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:11:53 2021 Page 1666 ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1667 Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 LBRACE Shift 133 AssignmentExpression Gt/Rd 683 ConditionalOrExpression Goto 130 InclusiveOrExpression Goto 128 ConditionalAndExpression Goto 131 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PostfixExpression Goto 132 Literal Goto 997 PushLPAREN Goto 118 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1668 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 PrimitiveType Goto 112 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 997 ArrayCreationWithoutArrayInitializer Goto 1008 SwitchExpression Goto 998 CastExpression Goto 998 UnaryExpression Goto 998 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalExpression Goto 1009 Assignment Goto 1009 Expression Goto 966 ArrayInitializer Goto 966 VariableInitializer Goto 966 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 947 ---------------------------------------------------------------------- ( 919 ) SwitchBlock ::= LBRACE SwitchBlockStatements SwitchLabels .RBRACE IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1669 SwitchBlockStatement ::= SwitchLabels .BlockStatements SwitchLabels ::= SwitchLabels .SwitchLabel Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1670 Modifier ::= .public Modifier ::= .protected Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1671 RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) BlockStatements ::= .BlockStatement BlockStatements ::= .BlockStatements BlockStatement BlockStatement ::= .LocalVariableDeclarationStatement BlockStatement ::= .Statement BlockStatement ::= .ClassDeclaration BlockStatement ::= .RecordDeclaration BlockStatement ::= .InterfaceDeclaration BlockStatement ::= .AnnotationTypeDeclaration BlockStatement ::= .EnumDeclaration LocalVariableDeclarationStatement ::= .LocalVariableDeclaration SEMICOLON LocalVariableDeclaration ::= .Type PushModifiers VariableDeclarators LocalVariableDeclaration ::= .Modifiers Type PushRealModifiers VariableDeclarators Statement ::= .StatementWithoutTrailingSubstatement Statement ::= .LabeledStatement Statement ::= .IfThenStatement Statement ::= .IfThenElseStatement Statement ::= .WhileStatement Statement ::= .ForStatement Statement ::= .EnhancedForStatement StatementWithoutTrailingSubstatement ::= .AssertStatement StatementWithoutTrailingSubstatement ::= .Block StatementWithoutTrailingSubstatement ::= .EmptyStatement StatementWithoutTrailingSubstatement ::= .ExpressionStatement StatementWithoutTrailingSubstatement ::= .SwitchStatement StatementWithoutTrailingSubstatement ::= .DoStatement StatementWithoutTrailingSubstatement ::= .BreakStatement StatementWithoutTrailingSubstatement ::= .ContinueStatement StatementWithoutTrailingSubstatement ::= .ReturnStatement StatementWithoutTrailingSubstatement ::= .SynchronizedStatement StatementWithoutTrailingSubstatement ::= .ThrowStatement StatementWithoutTrailingSubstatement ::= .TryStatement StatementWithoutTrailingSubstatement ::= .TryStatementWithResources StatementWithoutTrailingSubstatement ::= .YieldStatement EmptyStatement ::= .SEMICOLON LabeledStatement ::= .Label COLON Statement Label ::= .Identifier ExpressionStatement ::= .StatementExpression SEMICOLON ExpressionStatement ::= .ExplicitConstructorInvocation StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1672 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 CaseLabelElements YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1673 ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1674 ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1675 Annotation ::= .NormalAnnotation Annotation ::= .MarkerAnnotation Annotation ::= .SingleMemberAnnotation AnnotationName ::= .AT UnannotatableName NormalAnnotation ::= .AnnotationName LPAREN MemberValuePairsopt RPAREN MarkerAnnotation ::= .AnnotationName SingleMemberAnnotation ::= .AnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN RBRACE Sh/Rd 441 AT308 Shift 33 strictfp Shift 987 volatile Shift 987 transient Shift 987 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 for Shift 94 while Shift 92 if Shift 91 assert Shift 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1676 return Shift 63 synchronized Shift 97 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 AT Shift 98 default Shift 953 case Shift 45 SwitchLabelCaseLhs Goto 954 LocalVariableDeclarationStatement Goto 996 Statement Goto 996 ClassDeclaration Goto 996 RecordDeclaration Goto 996 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 EnumHeaderName Goto 46 Modifiersopt Goto 57 EnumHeader Goto 47 AnnotationTypeDeclarationHeaderName Goto 48 Modifiers Goto 99 AnnotationTypeDeclarationHeader Goto 49 InterfaceHeaderName Goto 50 InterfaceHeaderName1 Goto 51 InterfaceHeader Goto 52 RecordHeaderName Goto 53 RecordHeaderName1 Goto 54 RecordHeaderPart Goto 55 ClassHeaderName Goto 56 ClassHeaderName1 Goto 58 ClassHeader Goto 59 AssertStatement Goto 996 Block Goto 996 EmptyStatement Goto 996 ExpressionStatement Goto 996 SwitchStatement Goto 996 DoStatement Goto 996 BreakStatement Goto 996 ContinueStatement Goto 996 ReturnStatement Goto 996 SynchronizedStatement Goto 996 ThrowStatement Goto 996 TryStatement Goto 996 TryStatementWithResources Goto 996 YieldStatement Goto 996 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1677 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 103 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 106 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 Label Goto 90 EnhancedForStatementHeader Goto 93 EnhancedForStatementHeaderInit Goto 95 StatementWithoutTrailingSubstatement Goto 996 LabeledStatement Goto 996 IfThenStatement Goto 996 IfThenElseStatement Goto 996 WhileStatement Goto 996 ForStatement Goto 996 EnhancedForStatement Goto 996 Type Goto 96 Annotation Gt/Rd 209 AnnotationName Goto 29 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 Modifier Goto 987 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 TypeAnnotations Goto 104 ClassOrInterfaceType Gt/Rd 56 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1678 ArrayType Goto 96 GenericType Goto 105 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterface Goto 36 SimpleName Gt/Rd 70 QualifiedName Goto 995 ReferenceType Goto 96 LocalVariableDeclaration Goto 107 BlockStatement Gt/Rd 376 BlockStatements Goto 952 SwitchLabel Gt/Rd 447 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 LBRACE Reduce 375 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 Default reduction to rule 78 STATE 948 ---------------------------------------------------------------------- ( 920 ) SwitchLabeledThrowStatement ::= SwitchLabelExpr ThrowExpression .SEMICOLON SEMICOLON Sh/Rd 458 STATE 949 ---------------------------------------------------------------------- ( 920 ) SwitchLabeledExpression ::= SwitchLabelExpr Expression .SEMICOLON SEMICOLON Sh/Rd 456 STATE 950 ---------------------------------------------------------------------- ( 920 ) ThrowExpression ::= throw .Expression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1679 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN 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:11:53 2021 Page 1680 PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1681 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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:11:53 2021 Page 1682 PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1683 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 ConditionalExpression Goto 1009 Assignment Goto 1009 PostfixExpression Goto 132 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalAndExpression Goto 131 ConditionalOrExpression Goto 130 ExclusiveOrExpression Goto 129 InclusiveOrExpression Goto 128 EqualityExpression Goto 127 AndExpression Goto 126 RelationalExpression Goto 125 InstanceofExpression Goto 124 AdditiveExpression Goto 123 ShiftExpression Goto 122 UnaryExpression Goto 998 MultiplicativeExpression Goto 121 SwitchExpression Goto 998 CastExpression Goto 998 PushLPAREN Goto 118 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 1008 BooleanLiteral Goto 997 Primary Goto 116 ClassInstanceCreationExpressionName Goto 78 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 1007 Name Goto 115 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1684 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 QualifiedSuperReceiver Goto 77 TypeAnnotationsopt Goto 100 LambdaParameters Goto 76 PrimitiveType Goto 112 Literal Goto 997 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 AssignmentExpression Gt/Rd 683 Expression Gt/Rd 486 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 951 ---------------------------------------------------------------------- ( 922 ) SwitchLabelExpr ::= SwitchLabelCaseLhs BeginCaseExpr .ARROW ARROW Sh/Rd 460 STATE 952 ---------------------------------------------------------------------- ( 923 947 ) BlockStatements ::= BlockStatements .BlockStatement SwitchBlockStatement ::= SwitchLabels BlockStatements . (445) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1685 Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false Type ::= .PrimitiveType PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void ReferenceType ::= .ClassOrInterfaceType ClassOrInterfaceType ::= .ClassOrInterface ClassOrInterfaceType ::= .GenericType ClassOrInterface ::= .Name ClassOrInterface ::= .GenericType DOT Name GenericType ::= .ClassOrInterface TypeArguments GenericType ::= .ClassOrInterface LESS GREATER ArrayTypeWithTypeArgumentsName ::= .GenericType DOT Name ArrayType ::= .PrimitiveType Dims ArrayType ::= .Name Dims ArrayType ::= .ArrayTypeWithTypeArgumentsName Dims ArrayType ::= .GenericType Dims Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1686 Modifier ::= .private Modifier ::= .static Modifier ::= .abstract Modifier ::= .final Modifier ::= .native Modifier ::= .non-sealed Modifier ::= .RestrictedIdentifiersealed Modifier ::= .synchronized Modifier ::= .transient Modifier ::= .volatile Modifier ::= .strictfp Modifier ::= .Annotation ClassDeclaration ::= .ClassHeader ClassBody ClassHeader ::= .ClassHeaderName ClassHeaderExtendsopt ClassHeaderImplementsopt ClassHeaderPermittedSubclassesopt ClassHeaderName ::= .ClassHeaderName1 TypeParameters ClassHeaderName ::= .ClassHeaderName1 ClassHeaderName1 ::= .Modifiersopt class Identifier ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON InterfaceDeclaration ::= .InterfaceHeader InterfaceBody InterfaceHeader ::= .InterfaceHeaderName InterfaceHeaderExtendsopt InterfaceHeaderPermittedSubClassesAndSubInterfacesopt InterfaceHeaderName ::= .InterfaceHeaderName1 TypeParameters InterfaceHeaderName ::= .InterfaceHeaderName1 InterfaceHeaderName1 ::= .Modifiersopt interface Identifier RecordDeclaration ::= .RecordHeaderPart RecordBody RecordHeaderPart ::= .RecordHeaderName RecordHeader ClassHeaderImplementsopt RecordHeaderName ::= .RecordHeaderName1 TypeParameters RecordHeaderName ::= .RecordHeaderName1 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1687 RecordHeaderName1 ::= .Modifiersopt RestrictedIdentifierrecord Identifier Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1688 PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1689 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 ::= . (693) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1690 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 RestrictedIdentifierYield Shift 44 try Shift 60 throw Shift 61 return Shift 63 continue Shift 64 break Shift 65 do Shift 66 switch Shift 67 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 BeginLambda Shift 75 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1691 super Shift 84 this Shift 86 LESS Shift 40 SEMICOLON Sh/Rd 421 assert Shift 89 if Shift 91 while Shift 92 for Shift 94 strictfp Shift 987 volatile Shift 987 transient Shift 987 synchronized Shift 97 RestrictedIdentifiersealed Shift 987 non-sealed Shift 987 native Shift 987 final Shift 987 abstract Shift 987 static Shift 987 private Shift 987 protected Shift 987 public Shift 987 AT Shift 98 AT308 Shift 33 Identifier Shift 102 LocalVariableDeclaration Goto 107 PrimitiveType Goto 106 ReferenceType Goto 96 ClassOrInterface Goto 36 GenericType Goto 105 SimpleName Gt/Rd 70 TypeAnnotations Goto 104 QualifiedName Goto 995 Name Goto 103 ArrayTypeWithTypeArgumentsName Goto 101 ClassOrInterfaceType Gt/Rd 56 ArrayType Goto 96 TypeAnnotation Goto 984 TypeAnnotations0 Goto 35 TypeAnnotationName Goto 34 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationsopt Goto 100 Modifier Goto 987 Modifiers Goto 99 NormalAnnotation Goto 979 MarkerAnnotation Goto 979 SingleMemberAnnotation Goto 979 AnnotationName Goto 29 Annotation Gt/Rd 209 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1692 Type Goto 96 StatementWithoutTrailingSubstatement Gt/Rd 377 LabeledStatement Gt/Rd 377 IfThenStatement Gt/Rd 377 IfThenElseStatement Gt/Rd 377 WhileStatement Gt/Rd 377 ForStatement Gt/Rd 377 EnhancedForStatement Gt/Rd 377 EnhancedForStatementHeaderInit Goto 95 EnhancedForStatementHeader Goto 93 Label Goto 90 OpenBlock Goto 88 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OnlyTypeArguments Goto 85 Primary Goto 83 PostfixExpression Goto 82 InvalidArrayInitializerAssignement Gt/Rd 670 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 ArrayCreationWithoutArrayInitializer Goto 994 BooleanLiteral Goto 988 ClassInstanceCreationExpressionName Goto 78 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 Literal Goto 988 PushLPAREN Goto 74 ClassInstanceCreationExpression Goto 73 FieldAccess Goto 993 MethodInvocation Goto 72 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 OnlySynchronized Goto 62 AssertStatement Gt/Rd 377 Block Gt/Rd 377 EmptyStatement Gt/Rd 377 ExpressionStatement Gt/Rd 377 SwitchStatement Gt/Rd 377 DoStatement Gt/Rd 377 BreakStatement Gt/Rd 377 ContinueStatement Gt/Rd 377 ReturnStatement Gt/Rd 377 SynchronizedStatement Gt/Rd 377 ThrowStatement Gt/Rd 377 TryStatement Gt/Rd 377 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1693 TryStatementWithResources Gt/Rd 377 YieldStatement Gt/Rd 377 ClassHeader Goto 59 ClassHeaderName1 Goto 58 Modifiersopt Goto 57 ClassHeaderName Goto 56 RecordHeaderPart Goto 55 RecordHeaderName1 Goto 54 RecordHeaderName Goto 53 InterfaceHeader Goto 52 InterfaceHeaderName1 Goto 51 InterfaceHeaderName Goto 50 AnnotationTypeDeclarationHeader Goto 49 AnnotationTypeDeclarationHeaderName Goto 48 EnumHeader Goto 47 EnumHeaderName Goto 46 LocalVariableDeclarationStatement Gt/Rd 377 Statement Gt/Rd 377 ClassDeclaration Gt/Rd 377 RecordDeclaration Gt/Rd 377 InterfaceDeclaration Gt/Rd 385 AnnotationTypeDeclaration Gt/Rd 386 EnumDeclaration Gt/Rd 387 BlockStatement Gt/Rd 377 case Reduce 445 default Reduce 445 RBRACE Reduce 445 class Reduce 693 enum Reduce 693 interface Reduce 693 RestrictedIdentifierrecord Reduce 693 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 953 ---------------------------------------------------------------------- ( 923 947 ) SwitchLabel ::= default .COLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1694 COLON Sh/Rd 449 STATE 954 ---------------------------------------------------------------------- ( 923 947 ) SwitchLabel ::= SwitchLabelCaseLhs .COLON COLON Sh/Rd 448 STATE 955 ---------------------------------------------------------------------- ( 928 ) ClassInstanceCreationExpression ::= Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (568) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (570) QualifiedEnterAnonymousClassBody Goto 925 QualifiedClassBodyopt Gt/Rd 560 abstract Reduce 568 final Reduce 568 instanceof Reduce 568 native Reduce 568 non-sealed Reduce 568 private Reduce 568 protected Reduce 568 public Reduce 568 static Reduce 568 strictfp Reduce 568 synchronized Reduce 568 transient Reduce 568 volatile Reduce 568 PLUS_PLUS Reduce 568 MINUS_MINUS Reduce 568 EQUAL_EQUAL Reduce 568 LESS_EQUAL Reduce 568 GREATER_EQUAL Reduce 568 NOT_EQUAL Reduce 568 LEFT_SHIFT Reduce 568 RIGHT_SHIFT Reduce 568 UNSIGNED_RIGHT_SHIFT Reduce 568 PLUS_EQUAL Reduce 568 MINUS_EQUAL Reduce 568 MULTIPLY_EQUAL Reduce 568 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1695 DIVIDE_EQUAL Reduce 568 AND_EQUAL Reduce 568 OR_EQUAL Reduce 568 XOR_EQUAL Reduce 568 REMAINDER_EQUAL Reduce 568 LEFT_SHIFT_EQUAL Reduce 568 RIGHT_SHIFT_EQUAL Reduce 568 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 568 OR_OR Reduce 568 AND_AND Reduce 568 PLUS Reduce 568 MINUS Reduce 568 REMAINDER Reduce 568 XOR Reduce 568 AND Reduce 568 MULTIPLY Reduce 568 OR Reduce 568 DIVIDE Reduce 568 GREATER Reduce 568 LESS Reduce 568 RPAREN Reduce 568 RBRACE Reduce 568 LBRACKET Reduce 568 RBRACKET Reduce 568 SEMICOLON Reduce 568 QUESTION Reduce 568 COLON Reduce 568 COMMA Reduce 568 DOT Reduce 568 EQUAL Reduce 568 AT Reduce 568 COLON_COLON Reduce 568 ElidedSemicolonAndRightBrace Reduce 568 BeginCaseExpr Reduce 568 RestrictedIdentifiersealed Reduce 568 $eof Reduce 568 LBRACE Reduce 570 Default reduction to rule 568 STATE 956 ---------------------------------------------------------------------- ( 929 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt .RPAREN QualifiedClassBodyopt RPAREN Shift 967 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1696 STATE 957 ---------------------------------------------------------------------- ( 932 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON .Expressionopt SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON .Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1697 PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1698 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:11:53 2021 Page 1699 CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1700 Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression Expressionopt ::= . (686) MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 AssignmentExpression Gt/Rd 683 ConditionalOrExpression Goto 130 InclusiveOrExpression Goto 128 ConditionalAndExpression Goto 131 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 UnaryExpressionNotPlusMinus Goto 998 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1000 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1701 PostDecrementExpression Goto 999 PostfixExpression Goto 132 Literal Goto 997 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 PrimitiveType Goto 112 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 997 ArrayCreationWithoutArrayInitializer Goto 1008 SwitchExpression Goto 998 CastExpression Goto 998 UnaryExpression Goto 998 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalExpression Goto 1009 Assignment Goto 1009 Expression Goto 968 Expressionopt Goto 968 SEMICOLON Reduce 686 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 958 ---------------------------------------------------------------------- ( 933 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1702 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 ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1703 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 ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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:11:53 2021 Page 1704 ForStatementNoShortIf ::= .for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1705 ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .ClassInstanceCreationExpressionName OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpressionName ::= .Name DOT new ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1706 ArrayAccess ::= .PrimaryNoNewArray 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 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1707 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 for Shift 838 while Shift 839 if Shift 840 Label Goto 841 EnhancedForStatementHeader Goto 837 StatementWithoutTrailingSubstatement Goto 836 LabeledStatementNoShortIf Gt/Rd 469 IfThenElseStatementNoShortIf Gt/Rd 469 WhileStatementNoShortIf Gt/Rd 469 ForStatementNoShortIf Gt/Rd 469 EnhancedForStatementNoShortIf Gt/Rd 469 AssertStatement Goto 1197 Block Goto 1197 EmptyStatement Goto 1197 ExpressionStatement Goto 1197 SwitchStatement Goto 1197 DoStatement Goto 1197 BreakStatement Goto 1197 ContinueStatement Goto 1197 ReturnStatement Goto 1197 SynchronizedStatement Goto 1197 ThrowStatement Goto 1197 TryStatement Goto 1197 TryStatementWithResources Goto 1197 YieldStatement Goto 1197 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1708 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 EnhancedForStatementHeaderInit Goto 95 LabeledStatement Gt/Rd 468 IfThenStatement Gt/Rd 468 IfThenElseStatement Gt/Rd 468 WhileStatement Gt/Rd 468 ForStatement Gt/Rd 468 EnhancedForStatement Gt/Rd 468 Statement Gt/Rd 468 StatementNoShortIf Gt/Rd 469 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 959 ---------------------------------------------------------------------- ( 934 ) IfThenStatement ::= if LPAREN Expression RPAREN .Statement IfThenElseStatement ::= if LPAREN Expression RPAREN .StatementNoShortIf else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN . IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1709 StatementNoShortIf else StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1710 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 ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1711 SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1712 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1713 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 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1714 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 for Shift 838 while Shift 839 if Shift 840 Label Goto 841 EnhancedForStatementHeader Goto 837 StatementWithoutTrailingSubstatement Goto 836 LabeledStatementNoShortIf Goto 969 IfThenElseStatementNoShortIf Goto 969 WhileStatementNoShortIf Goto 969 ForStatementNoShortIf Goto 969 EnhancedForStatementNoShortIf Goto 969 AssertStatement Goto 1197 Block Goto 1197 EmptyStatement Goto 1197 ExpressionStatement Goto 1197 SwitchStatement Goto 1197 DoStatement Goto 1197 BreakStatement Goto 1197 ContinueStatement Goto 1197 ReturnStatement Goto 1197 SynchronizedStatement Goto 1197 ThrowStatement Goto 1197 TryStatement Goto 1197 TryStatementWithResources Goto 1197 YieldStatement Goto 1197 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1715 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 EnhancedForStatementHeaderInit Goto 95 LabeledStatement Gt/Rd 434 IfThenStatement Gt/Rd 434 IfThenElseStatement Gt/Rd 434 WhileStatement Gt/Rd 434 ForStatement Gt/Rd 434 EnhancedForStatement Gt/Rd 434 Statement Gt/Rd 434 StatementNoShortIf Goto 969 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 960 ---------------------------------------------------------------------- ( 935 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN .Statement Literal ::= .IntegerLiteral Literal ::= .LongLiteral IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1716 Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1717 SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON Block ::= .OpenBlock LBRACE BlockStatementsopt RBRACE OpenBlock ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1718 PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1719 DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 94 while Shift 92 if Shift 91 assert Shift 89 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1720 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 AssertStatement Gt/Rd 471 Block Gt/Rd 471 EmptyStatement Gt/Rd 471 ExpressionStatement Gt/Rd 471 SwitchStatement Gt/Rd 471 DoStatement Gt/Rd 471 BreakStatement Gt/Rd 471 ContinueStatement Gt/Rd 471 ReturnStatement Gt/Rd 471 SynchronizedStatement Gt/Rd 471 ThrowStatement Gt/Rd 471 TryStatement Gt/Rd 471 TryStatementWithResources Gt/Rd 471 YieldStatement Gt/Rd 471 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1721 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 Label Goto 90 EnhancedForStatementHeader Goto 93 EnhancedForStatementHeaderInit Goto 95 StatementWithoutTrailingSubstatement Gt/Rd 471 LabeledStatement Gt/Rd 471 IfThenStatement Gt/Rd 471 IfThenElseStatement Gt/Rd 471 WhileStatement Gt/Rd 471 ForStatement Gt/Rd 471 EnhancedForStatement Gt/Rd 471 Statement Gt/Rd 471 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1722 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 961 ---------------------------------------------------------------------- ( 938 ) VariableDeclarator ::= VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet . ExitVariableWithInitialization ExitVariableWithInitialization ::= . (246) ExitVariableWithInitialization Gt/Rd 244 SEMICOLON Reduce 246 COMMA Reduce 246 Default reduction to rule 246 STATE 962 ---------------------------------------------------------------------- ( 941 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN .InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus InsideCastExpressionWithQualifiedGenerics ::= . (634) InsideCastExpressionWithQualifiedGenerics Goto 970 Identifier Reduce 634 boolean Reduce 634 byte Reduce 634 char Reduce 634 double Reduce 634 false Reduce 634 float Reduce 634 int Reduce 634 long Reduce 634 new Reduce 634 null Reduce 634 short Reduce 634 super Reduce 634 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1723 switch Reduce 634 this Reduce 634 true Reduce 634 void Reduce 634 IntegerLiteral Reduce 634 LongLiteral Reduce 634 FloatingPointLiteral Reduce 634 DoubleLiteral Reduce 634 CharacterLiteral Reduce 634 StringLiteral Reduce 634 TextBlock Reduce 634 NOT Reduce 634 TWIDDLE Reduce 634 LPAREN Reduce 634 BeginLambda Reduce 634 BeginIntersectionCast Reduce 634 AT308 Reduce 634 Default reduction to rule 634 STATE 963 ---------------------------------------------------------------------- ( 943 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT WildcardBounds ::= super ReferenceType . (780) UNSIGNED_RIGHT_SHIFT Sh/Rd 776 RIGHT_SHIFT Sh/Rd 770 GREATER Sh/Rd 764 COMMA Reduce 780 Default reduction to rule 780 STATE 964 ---------------------------------------------------------------------- ( 944 ) ReferenceType1 ::= ReferenceType .GREATER ReferenceType2 ::= ReferenceType .RIGHT_SHIFT ReferenceType3 ::= ReferenceType .UNSIGNED_RIGHT_SHIFT WildcardBounds ::= extends ReferenceType . (779) UNSIGNED_RIGHT_SHIFT Sh/Rd 776 RIGHT_SHIFT Sh/Rd 770 GREATER Sh/Rd 764 COMMA Reduce 779 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1724 Default reduction to rule 779 STATE 965 ---------------------------------------------------------------------- ( 945 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet .VariableInitializer RestoreDiet ExitVariableWithInitialization Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN InstanceofExpression ::= .RelationalExpression InstanceofExpression ::= .InstanceofExpression InstanceofRHS ArrayInitializer ::= .LBRACE PushLeftBrace ,opt RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers RBRACE ArrayInitializer ::= .LBRACE PushLeftBrace VariableInitializers COMMA RBRACE UnaryExpressionNotPlusMinus ::= .SwitchExpression SwitchExpression ::= .switch LPAREN Expression RPAREN OpenBlock SwitchBlock IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1725 PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1726 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:11:53 2021 Page 1727 UnaryExpressionNotPlusMinus ::= .NOT PushPosition UnaryExpression UnaryExpressionNotPlusMinus ::= .CastExpression CastExpression ::= .PushLPAREN PrimitiveType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpression CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus CastExpression ::= .BeginIntersectionCast PushLPAREN CastNameAndBounds PushRPAREN InsideCastExpressionLL1WithBounds UnaryExpressionNotPlusMinus CastExpression ::= .PushLPAREN Name Dims AdditionalBoundsListOpt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus MultiplicativeExpression ::= .UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression MULTIPLY UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression DIVIDE UnaryExpression MultiplicativeExpression ::= .MultiplicativeExpression REMAINDER UnaryExpression AdditiveExpression ::= .MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression PLUS MultiplicativeExpression AdditiveExpression ::= .AdditiveExpression MINUS MultiplicativeExpression ShiftExpression ::= .AdditiveExpression ShiftExpression ::= .ShiftExpression LEFT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression RIGHT_SHIFT AdditiveExpression ShiftExpression ::= .ShiftExpression UNSIGNED_RIGHT_SHIFT AdditiveExpression RelationalExpression ::= .ShiftExpression RelationalExpression ::= .RelationalExpression LESS ShiftExpression RelationalExpression ::= .RelationalExpression GREATER ShiftExpression RelationalExpression ::= .RelationalExpression LESS_EQUAL ShiftExpression RelationalExpression ::= .RelationalExpression GREATER_EQUAL ShiftExpression EqualityExpression ::= .InstanceofExpression EqualityExpression ::= .EqualityExpression EQUAL_EQUAL InstanceofExpression EqualityExpression ::= .EqualityExpression NOT_EQUAL InstanceofExpression AndExpression ::= .EqualityExpression AndExpression ::= .AndExpression AND EqualityExpression ExclusiveOrExpression ::= .AndExpression ExclusiveOrExpression ::= .ExclusiveOrExpression XOR AndExpression InclusiveOrExpression ::= .ExclusiveOrExpression InclusiveOrExpression ::= .InclusiveOrExpression OR ExclusiveOrExpression ConditionalAndExpression ::= .InclusiveOrExpression ConditionalAndExpression ::= .ConditionalAndExpression AND_AND InclusiveOrExpression ConditionalOrExpression ::= .ConditionalAndExpression ConditionalOrExpression ::= .ConditionalOrExpression OR_OR ConditionalAndExpression ConditionalExpression ::= .ConditionalOrExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1728 ConditionalExpression ::= .ConditionalOrExpression QUESTION Expression COLON ConditionalExpression AssignmentExpression ::= .ConditionalExpression AssignmentExpression ::= .Assignment Assignment ::= .PostfixExpression AssignmentOperator AssignmentExpression InvalidArrayInitializerAssignement ::= .PostfixExpression AssignmentOperator ArrayInitializer Assignment ::= .InvalidArrayInitializerAssignement Expression ::= .AssignmentExpression MINUS Shift 109 PLUS Shift 110 switch Shift 111 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 997 true Shift 997 null Shift 997 TextBlock Shift 997 StringLiteral Shift 997 CharacterLiteral Shift 997 DoubleLiteral Shift 997 FloatingPointLiteral Shift 997 LongLiteral Shift 997 IntegerLiteral Shift 997 new Shift 79 BeginIntersectionCast Shift 117 NOT Shift 119 TWIDDLE Shift 120 MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 LBRACE Shift 133 AssignmentExpression Gt/Rd 683 ConditionalOrExpression Goto 130 InclusiveOrExpression Goto 128 ConditionalAndExpression Goto 131 AndExpression Goto 126 ExclusiveOrExpression Goto 129 InstanceofExpression Goto 124 EqualityExpression Goto 127 ShiftExpression Goto 122 RelationalExpression Goto 125 MultiplicativeExpression Goto 121 AdditiveExpression Goto 123 PreIncrementExpression Goto 998 PreDecrementExpression Goto 998 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1729 UnaryExpressionNotPlusMinus Goto 998 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1000 PostDecrementExpression Goto 999 PostfixExpression Goto 132 Literal Goto 997 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1006 FieldAccess Goto 1005 PrimitiveType Goto 112 MethodInvocation Goto 1004 ArrayAccess Goto 1003 LambdaExpression Goto 1002 ReferenceExpression Goto 1001 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 997 ArrayCreationWithoutArrayInitializer Goto 1008 SwitchExpression Goto 998 CastExpression Goto 998 UnaryExpression Goto 998 InvalidArrayInitializerAssignement Gt/Rd 670 ConditionalExpression Goto 1009 Assignment Goto 1009 Expression Goto 971 ArrayInitializer Goto 971 VariableInitializer Goto 971 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1730 Default reduction to rule 78 STATE 966 ---------------------------------------------------------------------- ( 946 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer .RestoreDiet ExitVariableWithInitialization RestoreDiet ::= . (249) RestoreDiet Goto 972 RPAREN Reduce 249 SEMICOLON Reduce 249 Default reduction to rule 249 STATE 967 ---------------------------------------------------------------------- ( 956 ) ClassInstanceCreationExpression ::= Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN . QualifiedClassBodyopt QualifiedClassBodyopt ::= . (568) QualifiedClassBodyopt ::= .QualifiedEnterAnonymousClassBody ClassBody QualifiedEnterAnonymousClassBody ::= . (570) QualifiedEnterAnonymousClassBody Goto 925 QualifiedClassBodyopt Gt/Rd 559 abstract Reduce 568 final Reduce 568 instanceof Reduce 568 native Reduce 568 non-sealed Reduce 568 private Reduce 568 protected Reduce 568 public Reduce 568 static Reduce 568 strictfp Reduce 568 synchronized Reduce 568 transient Reduce 568 volatile Reduce 568 PLUS_PLUS Reduce 568 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1731 MINUS_MINUS Reduce 568 EQUAL_EQUAL Reduce 568 LESS_EQUAL Reduce 568 GREATER_EQUAL Reduce 568 NOT_EQUAL Reduce 568 LEFT_SHIFT Reduce 568 RIGHT_SHIFT Reduce 568 UNSIGNED_RIGHT_SHIFT Reduce 568 PLUS_EQUAL Reduce 568 MINUS_EQUAL Reduce 568 MULTIPLY_EQUAL Reduce 568 DIVIDE_EQUAL Reduce 568 AND_EQUAL Reduce 568 OR_EQUAL Reduce 568 XOR_EQUAL Reduce 568 REMAINDER_EQUAL Reduce 568 LEFT_SHIFT_EQUAL Reduce 568 RIGHT_SHIFT_EQUAL Reduce 568 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 568 OR_OR Reduce 568 AND_AND Reduce 568 PLUS Reduce 568 MINUS Reduce 568 REMAINDER Reduce 568 XOR Reduce 568 AND Reduce 568 MULTIPLY Reduce 568 OR Reduce 568 DIVIDE Reduce 568 GREATER Reduce 568 LESS Reduce 568 RPAREN Reduce 568 RBRACE Reduce 568 LBRACKET Reduce 568 RBRACKET Reduce 568 SEMICOLON Reduce 568 QUESTION Reduce 568 COLON Reduce 568 COMMA Reduce 568 DOT Reduce 568 EQUAL Reduce 568 AT Reduce 568 COLON_COLON Reduce 568 ElidedSemicolonAndRightBrace Reduce 568 BeginCaseExpr Reduce 568 RestrictedIdentifiersealed Reduce 568 $eof Reduce 568 LBRACE Reduce 570 Default reduction to rule 568 STATE 968 ---------------------------------------------------------------------- ( 957 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1732 ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt .SEMICOLON ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt . SEMICOLON ForUpdateopt RPAREN StatementNoShortIf SEMICOLON Shift 973 STATE 969 ---------------------------------------------------------------------- ( 959 ) IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf .else Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN StatementNoShortIf .else StatementNoShortIf else Shift 974 STATE 970 ---------------------------------------------------------------------- ( 962 ) CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression DOT ClassOrInterfaceType Dimsopt AdditionalBoundsListOpt PushRPAREN InsideCastExpressionWithQualifiedGenerics . UnaryExpressionNotPlusMinus Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1733 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:11:53 2021 Page 1734 UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1735 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 119 TWIDDLE Shift 120 BeginIntersectionCast Shift 117 null Shift 1198 TextBlock Shift 1198 StringLiteral Shift 1198 CharacterLiteral Shift 1198 DoubleLiteral Shift 1198 FloatingPointLiteral Shift 1198 LongLiteral Shift 1198 IntegerLiteral Shift 1198 false Shift 1198 true Shift 1198 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 114 super Shift 113 this Sh/Rd 515 switch Shift 111 Primary Goto 116 Name Goto 115 PostIncrementExpression Goto 1207 PostDecrementExpression Goto 1206 PostfixExpression Goto 447 Literal Goto 1198 PushLPAREN Goto 118 ClassInstanceCreationExpression Goto 1205 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1736 FieldAccess Goto 1204 PrimitiveType Goto 112 MethodInvocation Goto 1203 ArrayAccess Goto 1202 LambdaExpression Goto 1201 ReferenceExpression Goto 1200 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1007 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 1198 ArrayCreationWithoutArrayInitializer Goto 1199 SwitchExpression Gt/Rd 622 CastExpression Gt/Rd 622 UnaryExpressionNotPlusMinus Gt/Rd 622 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 971 ---------------------------------------------------------------------- ( 965 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer .RestoreDiet ExitVariableWithInitialization RestoreDiet ::= . (249) RestoreDiet Goto 975 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1737 RPAREN Reduce 249 SEMICOLON Reduce 249 Default reduction to rule 249 STATE 972 ---------------------------------------------------------------------- ( 966 ) Resource ::= Type PushModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet . ExitVariableWithInitialization ExitVariableWithInitialization ::= . (246) ExitVariableWithInitialization Gt/Rd 499 RPAREN Reduce 246 SEMICOLON Reduce 246 Default reduction to rule 246 STATE 973 ---------------------------------------------------------------------- ( 968 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON . ForUpdateopt RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON .ForUpdateopt RPAREN StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1738 TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN StatementExpression ::= .Assignment StatementExpression ::= .PreIncrementExpression StatementExpression ::= .PreDecrementExpression StatementExpression ::= .PostIncrementExpression StatementExpression ::= .PostDecrementExpression StatementExpression ::= .MethodInvocation StatementExpression ::= .ClassInstanceCreationExpression ForUpdate ::= .StatementExpressionList StatementExpressionList ::= .StatementExpression StatementExpressionList ::= .StatementExpressionList COMMA StatementExpression PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_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:11:53 2021 Page 1739 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:11:53 2021 Page 1740 MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 ::= . (719) MINUS_MINUS Shift 68 PLUS_PLUS Shift 69 this Sh/Rd 515 BeginLambda Shift 75 super Shift 113 Identifier Shift 114 AT308 Shift 33 LPAREN Sh/Rd 509 false Shift 988 true Shift 988 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 new Shift 79 StatementExpressionList Goto 936 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 116 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1741 Name Goto 115 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 StatementExpression Goto 1219 ForUpdate Goto 976 ForUpdateopt Goto 976 RPAREN Reduce 719 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 974 ---------------------------------------------------------------------- ( 969 ) IfThenElseStatement ::= if LPAREN Expression RPAREN StatementNoShortIf else . Statement IfThenElseStatementNoShortIf ::= if LPAREN Expression RPAREN IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1742 StatementNoShortIf else .StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 TypeAnnotations0 ::= .TypeAnnotation TypeAnnotations0 ::= .TypeAnnotations0 TypeAnnotation TypeAnnotation ::= .NormalTypeAnnotation TypeAnnotation ::= .MarkerTypeAnnotation TypeAnnotation ::= .SingleMemberTypeAnnotation TypeAnnotationName ::= .AT308 UnannotatableName NormalTypeAnnotation ::= .TypeAnnotationName LPAREN MemberValuePairsopt RPAREN MarkerTypeAnnotation ::= .TypeAnnotationName SingleMemberTypeAnnotation ::= .TypeAnnotationName LPAREN SingleMemberAnnotationMemberValue RPAREN ExplicitConstructorInvocation ::= .this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments this LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Name DOT OnlyTypeArguments super LPAREN ArgumentListopt RPAREN SEMICOLON ExplicitConstructorInvocation ::= .Primary DOT this LPAREN ArgumentListopt IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1743 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 ::= . (375) 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1744 SEMICOLON ForUpdateopt RPAREN StatementNoShortIf AssertStatement ::= .assert Expression SEMICOLON AssertStatement ::= .assert Expression COLON Expression SEMICOLON BreakStatement ::= .break SEMICOLON BreakStatement ::= .break Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Primary COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .QualifiedSuperReceiver COLON_COLON NonWildTypeArgumentsopt Identifier ReferenceExpression ::= .super COLON_COLON NonWildTypeArgumentsopt Identifier LambdaExpression ::= .LambdaParameters ARROW LambdaBody LambdaParameters ::= .Identifier NestedLambda LambdaParameters ::= .BeginLambda NestedLambda LambdaParameterList ClassInstanceCreationExpression ::= .new OnlyTypeArguments ClassType IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1745 EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .new ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN UnqualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new OnlyTypeArguments ClassType EnterInstanceCreationArgumentList LPAREN ArgumentListopt RPAREN QualifiedClassBodyopt ClassInstanceCreationExpression ::= .Primary DOT new ClassType EnterInstanceCreationArgumentList LPAREN 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:11:53 2021 Page 1746 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 89 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1747 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 for Shift 838 while Shift 839 if Shift 840 Label Goto 841 EnhancedForStatementHeader Goto 837 StatementWithoutTrailingSubstatement Goto 836 LabeledStatementNoShortIf Gt/Rd 436 IfThenElseStatementNoShortIf Gt/Rd 436 WhileStatementNoShortIf Gt/Rd 436 ForStatementNoShortIf Gt/Rd 436 EnhancedForStatementNoShortIf Gt/Rd 436 AssertStatement Goto 1197 Block Goto 1197 EmptyStatement Goto 1197 ExpressionStatement Goto 1197 SwitchStatement Goto 1197 DoStatement Goto 1197 BreakStatement Goto 1197 ContinueStatement Goto 1197 ReturnStatement Goto 1197 SynchronizedStatement Goto 1197 ThrowStatement Goto 1197 TryStatement Goto 1197 TryStatementWithResources Goto 1197 YieldStatement Goto 1197 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1748 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 EnhancedForStatementHeaderInit Goto 95 LabeledStatement Gt/Rd 435 IfThenStatement Gt/Rd 435 IfThenElseStatement Gt/Rd 435 WhileStatement Gt/Rd 435 ForStatement Gt/Rd 435 EnhancedForStatement Gt/Rd 435 Statement Gt/Rd 435 StatementNoShortIf Gt/Rd 436 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 975 ---------------------------------------------------------------------- ( 971 ) Resource ::= Modifiers Type PushRealModifiers VariableDeclaratorId EnterVariable EQUAL ForceNoDiet VariableInitializer RestoreDiet . ExitVariableWithInitialization ExitVariableWithInitialization ::= . (246) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1749 ExitVariableWithInitialization Gt/Rd 500 RPAREN Reduce 246 SEMICOLON Reduce 246 Default reduction to rule 246 STATE 976 ---------------------------------------------------------------------- ( 973 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt .RPAREN StatementNoShortIf RPAREN Shift 977 STATE 977 ---------------------------------------------------------------------- ( 976 ) ForStatement ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN .Statement ForStatementNoShortIf ::= for LPAREN ForInitopt SEMICOLON Expressionopt SEMICOLON ForUpdateopt RPAREN .StatementNoShortIf Literal ::= .IntegerLiteral Literal ::= .LongLiteral Literal ::= .FloatingPointLiteral Literal ::= .DoubleLiteral Literal ::= .CharacterLiteral Literal ::= .StringLiteral Literal ::= .TextBlock Literal ::= .null Literal ::= .BooleanLiteral BooleanLiteral ::= .true BooleanLiteral ::= .false PrimitiveType ::= .TypeAnnotationsopt NumericType PrimitiveType ::= .TypeAnnotationsopt boolean PrimitiveType ::= .TypeAnnotationsopt void Name ::= .SimpleName Name ::= .TypeAnnotations SimpleName Name ::= .QualifiedName SimpleName ::= .Identifier QualifiedName ::= .Name DOT SimpleName QualifiedName ::= .Name DOT TypeAnnotations SimpleName TypeAnnotationsopt ::= . (78) TypeAnnotationsopt ::= .TypeAnnotations TypeAnnotations ::= .TypeAnnotations0 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1750 TypeAnnotations0 ::= .TypeAnnotation 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 ::= . (375) 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 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1751 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 YieldStatement ::= .RestrictedIdentifierYield Expression SEMICOLON 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 Identifier SEMICOLON ContinueStatement ::= .continue SEMICOLON ContinueStatement ::= .continue Identifier SEMICOLON ReturnStatement ::= .return Expressionopt SEMICOLON ThrowStatement ::= .throw Expression SEMICOLON SynchronizedStatement ::= .OnlySynchronized LPAREN Expression RPAREN Block OnlySynchronized ::= .synchronized TryStatement ::= .try TryBlock Catches TryStatement ::= .try TryBlock Catchesopt Finally TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt TryStatementWithResources ::= .try ResourceSpecification TryBlock Catchesopt Finally PushLPAREN ::= .LPAREN Primary ::= .PrimaryNoNewArray Primary ::= .ArrayCreationWithArrayInitializer Primary ::= .ArrayCreationWithoutArrayInitializer PrimaryNoNewArray ::= .Literal PrimaryNoNewArray ::= .this PrimaryNoNewArray ::= .PushLPAREN Expression_NotName PushRPAREN PrimaryNoNewArray ::= .PushLPAREN Name PushRPAREN PrimaryNoNewArray ::= .ClassInstanceCreationExpression IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1752 PrimaryNoNewArray ::= .FieldAccess PrimaryNoNewArray ::= .Name DOT this QualifiedSuperReceiver ::= .Name DOT super PrimaryNoNewArray ::= .Name DOT class PrimaryNoNewArray ::= .Name Dims DOT class PrimaryNoNewArray ::= .PrimitiveType Dims DOT class PrimaryNoNewArray ::= .PrimitiveType DOT class PrimaryNoNewArray ::= .MethodInvocation PrimaryNoNewArray ::= .ArrayAccess PrimaryNoNewArray ::= .LambdaExpression PrimaryNoNewArray ::= .ReferenceExpression ReferenceExpression ::= .PrimitiveType Dims COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name Dimsopt COLON_COLON NonWildTypeArgumentsopt IdentifierOrNew ReferenceExpression ::= .Name BeginTypeArguments ReferenceExpressionTypeArgumentsAndTrunk COLON_COLON NonWildTypeArgumentsopt 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:11:53 2021 Page 1753 ArrayCreationWithoutArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new PrimitiveType DimWithOrWithOutExprs ArrayInitializer ArrayCreationWithoutArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayCreationWithArrayInitializer ::= .new ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer FieldAccess ::= .Primary DOT Identifier FieldAccess ::= .super DOT Identifier FieldAccess ::= .QualifiedSuperReceiver DOT Identifier MethodInvocation ::= .Name LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Name DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .Primary DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .QualifiedSuperReceiver DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT OnlyTypeArguments Identifier LPAREN ArgumentListopt RPAREN MethodInvocation ::= .super DOT Identifier LPAREN ArgumentListopt RPAREN ArrayAccess ::= .Name LBRACKET Expression RBRACKET ArrayAccess ::= .PrimaryNoNewArray 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 89 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1754 SEMICOLON Sh/Rd 421 LESS Shift 40 null Shift 988 TextBlock Shift 988 StringLiteral Shift 988 CharacterLiteral Shift 988 DoubleLiteral Shift 988 FloatingPointLiteral Shift 988 LongLiteral Shift 988 IntegerLiteral Shift 988 false Shift 988 true Shift 988 LPAREN Sh/Rd 509 AT308 Shift 33 new Shift 79 BeginLambda Shift 75 Identifier Shift 102 super Shift 84 this Shift 86 PLUS_PLUS Shift 69 MINUS_MINUS Shift 68 switch Shift 67 do Shift 66 break Shift 65 continue Shift 64 return Shift 63 synchronized Sh/Rd 488 throw Shift 61 try Shift 60 RestrictedIdentifierYield Shift 44 for Shift 838 while Shift 839 if Shift 840 Label Goto 841 EnhancedForStatementHeader Goto 837 StatementWithoutTrailingSubstatement Goto 836 LabeledStatementNoShortIf Gt/Rd 472 IfThenElseStatementNoShortIf Gt/Rd 472 WhileStatementNoShortIf Gt/Rd 472 ForStatementNoShortIf Gt/Rd 472 EnhancedForStatementNoShortIf Gt/Rd 472 AssertStatement Goto 1197 Block Goto 1197 EmptyStatement Goto 1197 ExpressionStatement Goto 1197 SwitchStatement Goto 1197 DoStatement Goto 1197 BreakStatement Goto 1197 ContinueStatement Goto 1197 ReturnStatement Goto 1197 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1755 SynchronizedStatement Goto 1197 ThrowStatement Goto 1197 TryStatement Goto 1197 TryStatementWithResources Goto 1197 YieldStatement Goto 1197 OnlySynchronized Goto 62 Assignment Gt/Rd 427 PreIncrementExpression Gt/Rd 428 PreDecrementExpression Gt/Rd 429 PostIncrementExpression Goto 71 PostDecrementExpression Goto 70 MethodInvocation Goto 72 ClassInstanceCreationExpression Goto 73 Primary Goto 83 Name Goto 267 PostfixExpression Goto 82 Literal Goto 988 PushLPAREN Goto 74 FieldAccess Goto 993 PrimitiveType Goto 112 ArrayAccess Goto 992 LambdaExpression Goto 991 ReferenceExpression Goto 990 QualifiedSuperReceiver Goto 77 LambdaParameters Goto 76 PrimaryNoNewArray Goto 81 ArrayCreationWithArrayInitializer Goto 80 TypeAnnotations Goto 104 TypeAnnotationsopt Goto 100 TypeAnnotations0 Goto 35 NormalTypeAnnotation Gt/Rd 83 MarkerTypeAnnotation Gt/Rd 84 SingleMemberTypeAnnotation Gt/Rd 85 TypeAnnotationName Goto 34 TypeAnnotation Goto 984 SimpleName Gt/Rd 70 QualifiedName Goto 1034 ClassInstanceCreationExpressionName Goto 78 BooleanLiteral Goto 988 ArrayCreationWithoutArrayInitializer Goto 994 InvalidArrayInitializerAssignement Gt/Rd 670 OnlyTypeArguments Goto 85 StatementExpression Goto 87 ExplicitConstructorInvocation Gt/Rd 426 OpenBlock Goto 88 EnhancedForStatementHeaderInit Goto 95 LabeledStatement Gt/Rd 471 IfThenStatement Gt/Rd 471 IfThenElseStatement Gt/Rd 471 WhileStatement Gt/Rd 471 ForStatement Gt/Rd 471 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1756 EnhancedForStatement Gt/Rd 471 Statement Gt/Rd 471 StatementNoShortIf Gt/Rd 472 LBRACE Reduce 375 boolean Reduce 78 byte Reduce 78 char Reduce 78 double Reduce 78 float Reduce 78 int Reduce 78 long Reduce 78 short Reduce 78 void Reduce 78 Default reduction to rule 78 STATE 978 ---------------------------------------------------------------------- ( 3 5 13 14 15 17 19 21 22 31 43 134 136 142 143 149 157 189 238 240 249 250 334 355 416 464 465 477 484 489 493 686 688 692 697 699 703 ) Modifiers ::= Modifier . (194) Modifier ::= public . (196) Modifier ::= protected . (197) Modifier ::= private . (198) Modifier ::= static . (199) Modifier ::= abstract . (200) Modifier ::= final . (201) Modifier ::= native . (202) Modifier ::= non-sealed . (203) Modifier ::= RestrictedIdentifiersealed . (204) Modifier ::= synchronized . (205) Modifier ::= transient . (206) Modifier ::= volatile . (207) Modifier ::= strictfp . (208) Identifier Reduce 694 abstract Reduce 194 boolean Reduce 694 byte Reduce 694 char Reduce 694 class Reduce 694 default Reduce 694 double Reduce 694 enum Reduce 694 final Reduce 194 float Reduce 694 int Reduce 694 interface Reduce 694 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1757 long Reduce 694 native Reduce 194 non-sealed Reduce 194 package Reduce 194 private Reduce 194 protected Reduce 194 public Reduce 194 short Reduce 694 static Reduce 194 strictfp Reduce 194 synchronized Reduce 194 transient Reduce 194 void Reduce 694 volatile Reduce 194 module Reduce 694 open Reduce 694 LESS Reduce 694 AT Reduce 194 AT308 Reduce 694 RestrictedIdentifierrecord Reduce 694 RestrictedIdentifiersealed Reduce 194 $eof Reduce 694 Default reduction to rule 694 STATE 979 ---------------------------------------------------------------------- ( 3 5 10 11 13 14 15 16 17 19 20 21 22 30 31 43 99 108 134 136 142 143 145 149 156 157 185 187 189 203 207 238 240 249 250 260 294 299 334 355 416 440 441 444 464 465 477 484 489 493 502 540 667 669 686 688 692 697 699 703 704 791 794 863 894 923 947 952 ) Annotation ::= NormalAnnotation . (901) Annotation ::= MarkerAnnotation . (902) Annotation ::= SingleMemberAnnotation . (903) Identifier Reduce 209 abstract Reduce 209 boolean Reduce 209 byte Reduce 209 char Reduce 209 class Reduce 209 default Reduce 209 double Reduce 209 enum Reduce 209 final Reduce 209 float Reduce 209 int Reduce 209 interface Reduce 209 long Reduce 209 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1758 native Reduce 209 non-sealed Reduce 209 package Reduce 209 private Reduce 209 protected Reduce 209 public Reduce 209 short Reduce 209 static Reduce 209 strictfp Reduce 209 synchronized Reduce 209 transient Reduce 209 void Reduce 209 volatile Reduce 209 module Reduce 209 open Reduce 209 LESS Reduce 209 AT Reduce 209 AT308 Reduce 209 RestrictedIdentifierrecord Reduce 209 RestrictedIdentifiersealed Reduce 209 $eof Reduce 209 Default reduction to rule 209 STATE 980 ---------------------------------------------------------------------- ( 3 31 238 ) PrimaryPattern ::= ParenthesizedPattern . (363) AND_AND Reduce 363 RPAREN Reduce 360 COLON Reduce 360 COMMA Reduce 360 BeginCaseExpr Reduce 360 $eof Reduce 360 Default reduction to rule 360 STATE 981 ---------------------------------------------------------------------- ( 3 31 238 ) PrimaryPattern ::= TypePattern . (362) AND_AND Reduce 362 RPAREN Reduce 360 COLON Reduce 360 COMMA Reduce 360 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1759 BeginCaseExpr Reduce 360 $eof Reduce 360 Default reduction to rule 360 STATE 982 ---------------------------------------------------------------------- ( 4 27 40 42 78 79 99 141 161 184 190 191 198 200 217 218 220 226 239 242 245 277 281 311 321 350 352 359 363 368 420 424 435 457 458 463 478 486 502 522 540 576 607 647 676 677 683 691 698 722 759 790 797 798 862 868 869 872 911 943 944 ) SimpleName ::= Identifier . (73) Identifier Reduce 70 abstract Reduce 70 final Reduce 70 implements Reduce 70 instanceof Reduce 70 native Reduce 70 non-sealed Reduce 70 private Reduce 70 protected Reduce 70 public Reduce 70 static Reduce 70 strictfp Reduce 70 synchronized Reduce 70 this Reduce 70 transient Reduce 70 volatile Reduce 70 with Reduce 70 EQUAL_EQUAL Reduce 70 NOT_EQUAL Reduce 70 RIGHT_SHIFT Reduce 70 UNSIGNED_RIGHT_SHIFT Reduce 70 OR_OR Reduce 70 AND_AND Reduce 70 XOR Reduce 70 AND Reduce 70 OR Reduce 70 GREATER Reduce 70 LESS Reduce 70 LPAREN Reduce 70 RPAREN Reduce 70 LBRACE Reduce 70 RBRACE Reduce 70 LBRACKET Reduce 70 RBRACKET Reduce 70 SEMICOLON Reduce 70 QUESTION Reduce 70 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1760 COLON Reduce 70 COMMA Reduce 70 DOT Reduce 70 AT Reduce 70 ELLIPSIS Reduce 70 COLON_COLON Reduce 70 ElidedSemicolonAndRightBrace Reduce 70 AT308 Reduce 70 AT308DOTDOTDOT Reduce 70 BeginCaseExpr Reduce 70 RestrictedIdentifiersealed Reduce 70 RestrictedIdentifierpermits Reduce 70 $eof Reduce 70 Default reduction to rule 70 STATE 983 ---------------------------------------------------------------------- ( 4 27 40 78 99 141 147 150 151 155 184 190 192 204 217 235 350 352 356 360 364 420 424 438 457 458 463 486 502 540 576 647 676 677 691 797 798 862 868 869 872 911 943 944 ) Name ::= QualifiedName . (72) Identifier Reduce 60 abstract Reduce 60 final Reduce 60 instanceof Reduce 60 native Reduce 60 non-sealed Reduce 60 private Reduce 60 protected Reduce 60 public Reduce 60 static Reduce 60 strictfp Reduce 60 synchronized Reduce 60 this Reduce 60 transient Reduce 60 volatile Reduce 60 EQUAL_EQUAL Reduce 60 NOT_EQUAL Reduce 60 RIGHT_SHIFT Reduce 60 UNSIGNED_RIGHT_SHIFT Reduce 60 OR_OR Reduce 60 AND_AND Reduce 60 XOR Reduce 60 AND Reduce 60 OR Reduce 60 GREATER Reduce 60 LESS Reduce 60 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1761 LPAREN Reduce 60 RPAREN Reduce 60 RBRACE Reduce 60 LBRACKET Reduce 72 RBRACKET Reduce 60 SEMICOLON Reduce 60 QUESTION Reduce 60 COLON Reduce 60 COMMA Reduce 60 DOT Reduce 72 AT Reduce 60 ELLIPSIS Reduce 60 ElidedSemicolonAndRightBrace Reduce 60 AT308 Reduce 72 AT308DOTDOTDOT Reduce 60 BeginCaseExpr Reduce 60 RestrictedIdentifiersealed Reduce 60 $eof Reduce 60 Default reduction to rule 60 STATE 984 ---------------------------------------------------------------------- ( 4 6 10 11 12 18 20 27 40 41 42 44 45 61 63 66 74 78 79 89 93 99 101 103 105 106 108 112 115 118 141 147 150 151 155 161 182 184 185 190 191 192 198 200 204 208 210 211 213 216 217 218 219 220 224 226 229 235 239 242 245 246 260 262 267 268 269 270 272 277 279 281 282 283 284 285 290 293 294 296 297 298 299 300 305 308 309 311 314 315 316 318 321 322 323 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 350 352 356 359 360 363 364 368 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 420 421 423 424 435 438 440 457 458 460 463 468 478 486 501 502 507 513 517 522 531 532 535 540 541 545 567 570 576 595 596 600 606 607 608 610 611 647 649 650 653 654 655 657 676 677 679 681 683 690 691 698 704 710 714 716 717 718 720 722 723 727 729 731 736 737 738 741 749 753 759 761 763 765 766 774 778 779 790 796 797 798 808 816 818 822 827 828 829 831 837 843 849 850 851 854 856 859 861 862 868 869 872 885 893 894 895 896 897 898 900 901 907 910 911 920 923 929 942 943 944 946 947 950 952 957 958 959 960 965 970 973 974 977 ) TypeAnnotations0 ::= TypeAnnotation . (81) Identifier Reduce 80 boolean Reduce 80 byte Reduce 80 char Reduce 80 double Reduce 80 float Reduce 80 int Reduce 80 long Reduce 80 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1762 short Reduce 80 void Reduce 80 LBRACKET Reduce 80 QUESTION Reduce 80 ELLIPSIS Reduce 80 AT308 Reduce 81 $eof Reduce 80 Default reduction to rule 80 STATE 985 ---------------------------------------------------------------------- ( 4 220 359 478 698 ) ClassType ::= ClassOrInterfaceType . (69) abstract Reduce 281 final Reduce 281 native Reduce 281 non-sealed Reduce 281 private Reduce 281 protected Reduce 281 public Reduce 281 static Reduce 281 strictfp Reduce 281 synchronized Reduce 281 transient Reduce 281 volatile Reduce 281 LBRACE Reduce 281 SEMICOLON Reduce 281 COMMA Reduce 281 AT Reduce 281 RestrictedIdentifiersealed Reduce 281 $eof Reduce 281 Default reduction to rule 281 STATE 986 ---------------------------------------------------------------------- ( 4 ) ClassTypeList ::= ClassTypeElt . (279) COMMA Reduce 279 $eof Reduce 709 Default reduction to rule 279 STATE 987 ---------------------------------------------------------------------- ( 10 11 16 20 108 185 187 203 207 294 440 441 444 667 669 791 794 863 923 947 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1763 952 ) Modifiers ::= Modifier . (194) Modifier ::= public . (196) Modifier ::= protected . (197) Modifier ::= private . (198) Modifier ::= static . (199) Modifier ::= abstract . (200) Modifier ::= final . (201) Modifier ::= native . (202) Modifier ::= non-sealed . (203) Modifier ::= RestrictedIdentifiersealed . (204) Modifier ::= synchronized . (205) Modifier ::= transient . (206) Modifier ::= volatile . (207) Modifier ::= strictfp . (208) Identifier Reduce 194 abstract Reduce 194 boolean Reduce 194 byte Reduce 194 char Reduce 194 class Reduce 694 double Reduce 194 enum Reduce 694 final Reduce 194 float Reduce 194 int Reduce 194 interface Reduce 694 long Reduce 194 native Reduce 194 non-sealed Reduce 194 package Reduce 194 private Reduce 194 protected Reduce 194 public Reduce 194 short Reduce 194 static Reduce 194 strictfp Reduce 194 synchronized Reduce 194 transient Reduce 194 void Reduce 194 volatile Reduce 194 module Reduce 694 open Reduce 694 AT Reduce 194 AT308 Reduce 194 RestrictedIdentifierrecord Reduce 694 RestrictedIdentifiersealed Reduce 194 $eof Reduce 694 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1764 Default reduction to rule 194 STATE 988 ---------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 LBRACKET Reduce 514 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 989 ---------------------------------------------------------------------- ( 10 ) BlockStatementopt0 ::= BlockStatement . (380) BlockStatement ::= LocalVariableDeclarationStatement . (381) BlockStatement ::= Statement . (382) BlockStatement ::= ClassDeclaration . (383) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1765 BlockStatement ::= RecordDeclaration . (384) Statement ::= StatementWithoutTrailingSubstatement . (394) Statement ::= LabeledStatement . (395) Statement ::= IfThenStatement . (396) Statement ::= IfThenElseStatement . (397) Statement ::= WhileStatement . (398) Statement ::= ForStatement . (399) Statement ::= EnhancedForStatement . (400) StatementWithoutTrailingSubstatement ::= AssertStatement . (407) StatementWithoutTrailingSubstatement ::= Block . (408) StatementWithoutTrailingSubstatement ::= EmptyStatement . (409) StatementWithoutTrailingSubstatement ::= ExpressionStatement . (410) StatementWithoutTrailingSubstatement ::= SwitchStatement . (411) StatementWithoutTrailingSubstatement ::= DoStatement . (412) StatementWithoutTrailingSubstatement ::= BreakStatement . (413) StatementWithoutTrailingSubstatement ::= ContinueStatement . (414) StatementWithoutTrailingSubstatement ::= ReturnStatement . (415) StatementWithoutTrailingSubstatement ::= SynchronizedStatement . (416) StatementWithoutTrailingSubstatement ::= ThrowStatement . (417) StatementWithoutTrailingSubstatement ::= TryStatement . (418) StatementWithoutTrailingSubstatement ::= TryStatementWithResources . (419) StatementWithoutTrailingSubstatement ::= YieldStatement . (420) $eof Reduce 378 Default reduction to rule 378 STATE 990 ---------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) PrimaryNoNewArray ::= ReferenceExpression . (529) PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 LBRACKET Reduce 529 DOT Reduce 511 EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1766 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 991 ---------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) PrimaryNoNewArray ::= LambdaExpression . (528) PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 LBRACKET Reduce 528 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 992 ---------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) PrimaryNoNewArray ::= ArrayAccess . (527) PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1767 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 LBRACKET Reduce 527 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 993 ---------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) PrimaryNoNewArray ::= FieldAccess . (519) PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 LBRACKET Reduce 519 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 994 ---------------------------------------------------------------------- ( 10 11 20 66 93 108 185 294 296 299 440 736 737 741 837 893 894 897 898 923 947 952 958 959 960 973 974 977 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1768 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 DOT Reduce 513 EQUAL Reduce 602 COLON_COLON Reduce 513 Default reduction to rule 602 STATE 995 ---------------------------------------------------------------------- ( 10 11 20 108 185 294 299 440 570 894 923 947 952 ) Name ::= QualifiedName . (72) Identifier Reduce 60 instanceof Reduce 603 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 EQUAL_EQUAL Reduce 603 LESS_EQUAL Reduce 603 GREATER_EQUAL Reduce 603 NOT_EQUAL Reduce 603 LEFT_SHIFT Reduce 603 RIGHT_SHIFT Reduce 603 UNSIGNED_RIGHT_SHIFT Reduce 603 PLUS_EQUAL Reduce 603 MINUS_EQUAL Reduce 603 MULTIPLY_EQUAL Reduce 603 DIVIDE_EQUAL Reduce 603 AND_EQUAL Reduce 603 OR_EQUAL Reduce 603 XOR_EQUAL Reduce 603 REMAINDER_EQUAL Reduce 603 LEFT_SHIFT_EQUAL Reduce 603 RIGHT_SHIFT_EQUAL Reduce 603 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 603 OR_OR Reduce 603 AND_AND Reduce 603 PLUS Reduce 603 MINUS Reduce 603 REMAINDER Reduce 603 XOR Reduce 603 AND Reduce 603 MULTIPLY Reduce 603 OR Reduce 603 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1769 DIVIDE Reduce 603 GREATER Reduce 60 LESS Reduce 60 LPAREN Reduce 72 RPAREN Reduce 603 LBRACKET Reduce 72 QUESTION Reduce 603 COMMA Reduce 60 DOT Reduce 72 EQUAL Reduce 603 COLON_COLON Reduce 72 BeginTypeArguments Reduce 72 AT308 Reduce 72 Default reduction to rule 603 STATE 996 ---------------------------------------------------------------------- ( 11 20 294 440 923 947 ) BlockStatement ::= LocalVariableDeclarationStatement . (381) BlockStatement ::= Statement . (382) BlockStatement ::= ClassDeclaration . (383) BlockStatement ::= RecordDeclaration . (384) Statement ::= StatementWithoutTrailingSubstatement . (394) Statement ::= LabeledStatement . (395) Statement ::= IfThenStatement . (396) Statement ::= IfThenElseStatement . (397) Statement ::= WhileStatement . (398) Statement ::= ForStatement . (399) Statement ::= EnhancedForStatement . (400) StatementWithoutTrailingSubstatement ::= AssertStatement . (407) StatementWithoutTrailingSubstatement ::= Block . (408) StatementWithoutTrailingSubstatement ::= EmptyStatement . (409) StatementWithoutTrailingSubstatement ::= ExpressionStatement . (410) StatementWithoutTrailingSubstatement ::= SwitchStatement . (411) StatementWithoutTrailingSubstatement ::= DoStatement . (412) StatementWithoutTrailingSubstatement ::= BreakStatement . (413) StatementWithoutTrailingSubstatement ::= ContinueStatement . (414) StatementWithoutTrailingSubstatement ::= ReturnStatement . (415) StatementWithoutTrailingSubstatement ::= SynchronizedStatement . (416) StatementWithoutTrailingSubstatement ::= ThrowStatement . (417) StatementWithoutTrailingSubstatement ::= TryStatement . (418) StatementWithoutTrailingSubstatement ::= TryStatementWithResources . (419) StatementWithoutTrailingSubstatement ::= YieldStatement . (420) Identifier Reduce 376 abstract Reduce 376 assert Reduce 376 boolean Reduce 376 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1770 break Reduce 376 byte Reduce 376 case Reduce 376 char Reduce 376 class Reduce 376 continue Reduce 376 default Reduce 376 do Reduce 376 double Reduce 376 enum Reduce 376 false Reduce 376 final Reduce 376 float Reduce 376 for Reduce 376 if Reduce 376 int Reduce 376 interface Reduce 376 long Reduce 376 native Reduce 376 new Reduce 376 non-sealed Reduce 376 null Reduce 376 private Reduce 376 protected Reduce 376 public Reduce 376 return Reduce 376 short Reduce 376 static Reduce 376 strictfp Reduce 376 super Reduce 376 switch Reduce 376 synchronized Reduce 376 this Reduce 376 throw Reduce 376 transient Reduce 376 true Reduce 376 try Reduce 376 void Reduce 376 volatile Reduce 376 while Reduce 376 IntegerLiteral Reduce 376 LongLiteral Reduce 376 FloatingPointLiteral Reduce 376 DoubleLiteral Reduce 376 CharacterLiteral Reduce 376 StringLiteral Reduce 376 TextBlock Reduce 376 PLUS_PLUS Reduce 376 MINUS_MINUS Reduce 376 LESS Reduce 376 LPAREN Reduce 376 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1771 LBRACE Reduce 376 RBRACE Reduce 376 SEMICOLON Reduce 376 AT Reduce 376 BeginLambda Reduce 376 AT308 Reduce 376 RestrictedIdentifierYield Reduce 376 RestrictedIdentifierrecord Reduce 376 RestrictedIdentifiersealed Reduce 376 $eof Reduce 376 Default reduction to rule 376 STATE 997 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1772 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 514 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 602 STATE 998 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) instanceof Reduce 352 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1773 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 683 STATE 999 ---------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) PostfixExpression ::= PostDecrementExpression . (605) instanceof Reduce 352 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 605 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1774 MINUS_EQUAL Reduce 605 MULTIPLY_EQUAL Reduce 605 DIVIDE_EQUAL Reduce 605 AND_EQUAL Reduce 605 OR_EQUAL Reduce 605 XOR_EQUAL Reduce 605 REMAINDER_EQUAL Reduce 605 LEFT_SHIFT_EQUAL Reduce 605 RIGHT_SHIFT_EQUAL Reduce 605 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 605 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 EQUAL Reduce 605 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 605 STATE 1000 --------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) PostfixExpression ::= PostIncrementExpression . (604) instanceof Reduce 352 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1775 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 604 MINUS_EQUAL Reduce 604 MULTIPLY_EQUAL Reduce 604 DIVIDE_EQUAL Reduce 604 AND_EQUAL Reduce 604 OR_EQUAL Reduce 604 XOR_EQUAL Reduce 604 REMAINDER_EQUAL Reduce 604 LEFT_SHIFT_EQUAL Reduce 604 RIGHT_SHIFT_EQUAL Reduce 604 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 604 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 EQUAL Reduce 604 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 604 STATE 1001 --------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) PrimaryNoNewArray ::= ReferenceExpression . (529) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1776 instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 529 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 602 STATE 1002 --------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1777 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) PrimaryNoNewArray ::= LambdaExpression . (528) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 528 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1778 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 602 STATE 1003 --------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) PrimaryNoNewArray ::= ArrayAccess . (527) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1779 LBRACKET Reduce 527 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 602 STATE 1004 --------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) PrimaryNoNewArray ::= MethodInvocation . (526) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1780 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 526 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 602 STATE 1005 --------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) PrimaryNoNewArray ::= FieldAccess . (519) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1781 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 519 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 602 STATE 1006 --------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1782 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 LBRACKET Reduce 518 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 602 STATE 1007 --------------------------------------------------------------------- ( 12 44 45 61 63 66 89 208 262 268 269 270 283 284 285 290 293 297 298 300 305 309 314 315 316 324 325 326 327 328 329 330 331 332 333 335 336 337 338 339 340 341 342 343 344 345 346 347 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 761 765 766 778 779 816 818 822 827 828 829 831 849 850 851 854 885 895 896 901 907 910 920 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1783 929 942 946 950 957 965 970 ) Name ::= QualifiedName . (72) abstract Reduce 603 final Reduce 603 instanceof Reduce 603 native Reduce 603 non-sealed Reduce 603 private Reduce 603 protected Reduce 603 public Reduce 603 static Reduce 603 strictfp Reduce 603 synchronized Reduce 603 transient Reduce 603 volatile Reduce 603 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 EQUAL_EQUAL Reduce 603 LESS_EQUAL Reduce 603 GREATER_EQUAL Reduce 603 NOT_EQUAL Reduce 603 LEFT_SHIFT Reduce 603 RIGHT_SHIFT Reduce 603 UNSIGNED_RIGHT_SHIFT Reduce 603 PLUS_EQUAL Reduce 603 MINUS_EQUAL Reduce 603 MULTIPLY_EQUAL Reduce 603 DIVIDE_EQUAL Reduce 603 AND_EQUAL Reduce 603 OR_EQUAL Reduce 603 XOR_EQUAL Reduce 603 REMAINDER_EQUAL Reduce 603 LEFT_SHIFT_EQUAL Reduce 603 RIGHT_SHIFT_EQUAL Reduce 603 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 603 OR_OR Reduce 603 AND_AND Reduce 603 PLUS Reduce 603 MINUS Reduce 603 REMAINDER Reduce 603 XOR Reduce 603 AND Reduce 603 MULTIPLY Reduce 603 OR Reduce 603 DIVIDE Reduce 603 GREATER Reduce 603 LESS Reduce 603 LPAREN Reduce 72 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1784 RPAREN Reduce 603 RBRACE Reduce 603 LBRACKET Reduce 72 RBRACKET Reduce 603 SEMICOLON Reduce 603 QUESTION Reduce 603 COLON Reduce 603 COMMA Reduce 603 DOT Reduce 72 EQUAL Reduce 603 AT Reduce 603 COLON_COLON Reduce 72 BeginTypeArguments Reduce 72 ElidedSemicolonAndRightBrace Reduce 603 AT308 Reduce 72 BeginCaseExpr Reduce 603 RestrictedIdentifiersealed Reduce 603 $eof Reduce 603 Default reduction to rule 603 STATE 1008 --------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1785 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 QUESTION Reduce 662 COLON Reduce 683 COMMA Reduce 683 DOT Reduce 513 EQUAL Reduce 602 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 602 STATE 1009 --------------------------------------------------------------------- ( 12 44 45 61 63 89 262 268 283 284 290 293 297 298 300 305 309 316 344 347 393 413 468 507 531 532 535 649 654 710 714 716 717 718 720 723 727 729 731 738 749 753 766 816 818 822 827 828 829 831 849 850 851 885 895 896 901 920 929 946 950 957 965 ) AssignmentExpression ::= ConditionalExpression . (666) AssignmentExpression ::= Assignment . (667) RPAREN Reduce 683 RBRACE Reduce 683 RBRACKET Reduce 683 SEMICOLON Reduce 683 COLON Reduce 683 COMMA Reduce 683 ElidedSemicolonAndRightBrace Reduce 683 BeginCaseExpr Reduce 683 $eof Reduce 683 Default reduction to rule 683 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1786 STATE 1010 --------------------------------------------------------------------- ( 13 134 250 489 ) ClassBodyDeclaration ::= ClassMemberDeclaration . (223) ClassBodyDeclaration ::= StaticInitializer . (224) ClassBodyDeclaration ::= ConstructorDeclaration . (225) ClassMemberDeclaration ::= FieldDeclaration . (230) ClassMemberDeclaration ::= MethodDeclaration . (231) ClassMemberDeclaration ::= ClassDeclaration . (232) ClassMemberDeclaration ::= InterfaceDeclaration . (233) ClassMemberDeclaration ::= EnumDeclaration . (234) ClassMemberDeclaration ::= AnnotationTypeDeclaration . (235) ClassMemberDeclaration ::= RecordDeclaration . (236) MethodDeclaration ::= AbstractMethodDeclaration . (253) Identifier Reduce 346 abstract Reduce 346 boolean Reduce 346 byte Reduce 346 char Reduce 346 class Reduce 346 default Reduce 346 double Reduce 346 enum Reduce 346 final Reduce 346 float Reduce 346 int Reduce 346 interface Reduce 346 long Reduce 346 native Reduce 346 non-sealed Reduce 346 private Reduce 346 protected Reduce 346 public Reduce 346 short Reduce 346 static Reduce 346 strictfp Reduce 346 synchronized Reduce 346 transient Reduce 346 void Reduce 346 volatile Reduce 346 LESS Reduce 346 LBRACE Reduce 346 RBRACE Reduce 346 SEMICOLON Reduce 346 AT Reduce 346 AT308 Reduce 346 RestrictedIdentifierrecord Reduce 346 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1787 RestrictedIdentifiersealed Reduce 346 $eof Reduce 346 Default reduction to rule 346 STATE 1011 --------------------------------------------------------------------- ( 14 493 ) ClassBodyDeclaration ::= ClassMemberDeclaration . (223) ClassBodyDeclaration ::= StaticInitializer . (224) ClassBodyDeclaration ::= ConstructorDeclaration . (225) ClassMemberDeclaration ::= FieldDeclaration . (230) ClassMemberDeclaration ::= MethodDeclaration . (231) ClassMemberDeclaration ::= ClassDeclaration . (232) ClassMemberDeclaration ::= InterfaceDeclaration . (233) ClassMemberDeclaration ::= EnumDeclaration . (234) ClassMemberDeclaration ::= AnnotationTypeDeclaration . (235) ClassMemberDeclaration ::= RecordDeclaration . (236) MethodDeclaration ::= AbstractMethodDeclaration . (253) Identifier Reduce 221 abstract Reduce 221 boolean Reduce 221 byte Reduce 221 char Reduce 221 class Reduce 221 default Reduce 221 double Reduce 221 enum Reduce 221 final Reduce 221 float Reduce 221 int Reduce 221 interface Reduce 221 long Reduce 221 native Reduce 221 non-sealed Reduce 221 private Reduce 221 protected Reduce 221 public Reduce 221 short Reduce 221 static Reduce 221 strictfp Reduce 221 synchronized Reduce 221 transient Reduce 221 void Reduce 221 volatile Reduce 221 LESS Reduce 221 LBRACE Reduce 221 RBRACE Reduce 221 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1788 SEMICOLON Reduce 221 AT Reduce 221 AT308 Reduce 221 RestrictedIdentifierrecord Reduce 221 RestrictedIdentifiersealed Reduce 221 $eof Reduce 221 Default reduction to rule 221 STATE 1012 --------------------------------------------------------------------- ( 18 796 859 861 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 913 final Reduce 913 instanceof Reduce 851 native Reduce 913 non-sealed Reduce 913 private Reduce 913 protected Reduce 913 public Reduce 913 static Reduce 913 strictfp Reduce 913 synchronized Reduce 913 transient Reduce 913 volatile Reduce 913 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1789 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 913 RBRACE Reduce 913 LBRACKET Reduce 514 SEMICOLON Reduce 913 QUESTION Reduce 871 COMMA Reduce 913 DOT Reduce 511 AT Reduce 913 COLON_COLON Reduce 511 RestrictedIdentifiersealed Reduce 913 $eof Reduce 913 Default reduction to rule 913 STATE 1013 --------------------------------------------------------------------- ( 18 796 859 861 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (451) UnaryExpression_NotName ::= PreIncrementExpression . (814) UnaryExpression_NotName ::= PreDecrementExpression . (815) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (818) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (819) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (822) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (823) abstract Reduce 913 final Reduce 913 instanceof Reduce 851 native Reduce 913 non-sealed Reduce 913 private Reduce 913 protected Reduce 913 public Reduce 913 static Reduce 913 strictfp Reduce 913 synchronized Reduce 913 transient Reduce 913 volatile Reduce 913 EQUAL_EQUAL Reduce 854 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1790 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 913 RBRACE Reduce 913 SEMICOLON Reduce 913 QUESTION Reduce 871 COMMA Reduce 913 AT Reduce 913 RestrictedIdentifiersealed Reduce 913 $eof Reduce 913 Default reduction to rule 913 STATE 1014 --------------------------------------------------------------------- ( 18 796 859 861 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 913 final Reduce 913 instanceof Reduce 851 native Reduce 913 non-sealed Reduce 913 private Reduce 913 protected Reduce 913 public Reduce 913 static Reduce 913 strictfp Reduce 913 synchronized Reduce 913 transient Reduce 913 volatile Reduce 913 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1791 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 913 RBRACE Reduce 913 SEMICOLON Reduce 913 QUESTION Reduce 871 COMMA Reduce 913 DOT Reduce 513 AT Reduce 913 COLON_COLON Reduce 513 RestrictedIdentifiersealed Reduce 913 $eof Reduce 913 Default reduction to rule 913 STATE 1015 --------------------------------------------------------------------- ( 18 213 216 611 796 859 861 ) Name ::= QualifiedName . (72) abstract Reduce 914 final Reduce 914 instanceof Reduce 72 native Reduce 914 non-sealed Reduce 914 private Reduce 914 protected Reduce 914 public Reduce 914 static Reduce 914 strictfp Reduce 914 synchronized Reduce 914 transient Reduce 914 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1792 volatile Reduce 914 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 EQUAL_EQUAL Reduce 72 LESS_EQUAL Reduce 72 GREATER_EQUAL Reduce 72 NOT_EQUAL Reduce 72 LEFT_SHIFT Reduce 72 RIGHT_SHIFT Reduce 72 UNSIGNED_RIGHT_SHIFT Reduce 72 OR_OR Reduce 72 AND_AND Reduce 72 PLUS Reduce 72 MINUS Reduce 72 REMAINDER Reduce 72 XOR Reduce 72 AND Reduce 72 MULTIPLY Reduce 72 OR Reduce 72 DIVIDE Reduce 72 GREATER Reduce 72 LESS Reduce 72 LPAREN Reduce 72 RPAREN Reduce 914 RBRACE Reduce 914 LBRACKET Reduce 72 SEMICOLON Reduce 914 QUESTION Reduce 72 COMMA Reduce 914 DOT Reduce 72 AT Reduce 914 COLON_COLON Reduce 72 BeginTypeArguments Reduce 72 AT308 Reduce 72 RestrictedIdentifiersealed Reduce 914 $eof Reduce 914 Default reduction to rule 72 STATE 1016 --------------------------------------------------------------------- ( 18 796 859 861 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 913 final Reduce 913 instanceof Reduce 851 native Reduce 913 non-sealed Reduce 913 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1793 private Reduce 913 protected Reduce 913 public Reduce 913 static Reduce 913 strictfp Reduce 913 synchronized Reduce 913 transient Reduce 913 volatile Reduce 913 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 913 RBRACE Reduce 913 LBRACKET Reduce 529 SEMICOLON Reduce 913 QUESTION Reduce 871 COMMA Reduce 913 DOT Reduce 511 AT Reduce 913 COLON_COLON Reduce 511 RestrictedIdentifiersealed Reduce 913 $eof Reduce 913 Default reduction to rule 913 STATE 1017 --------------------------------------------------------------------- ( 18 796 859 861 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 913 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1794 final Reduce 913 instanceof Reduce 851 native Reduce 913 non-sealed Reduce 913 private Reduce 913 protected Reduce 913 public Reduce 913 static Reduce 913 strictfp Reduce 913 synchronized Reduce 913 transient Reduce 913 volatile Reduce 913 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 913 RBRACE Reduce 913 LBRACKET Reduce 528 SEMICOLON Reduce 913 QUESTION Reduce 871 COMMA Reduce 913 DOT Reduce 511 AT Reduce 913 COLON_COLON Reduce 511 RestrictedIdentifiersealed Reduce 913 $eof Reduce 913 Default reduction to rule 913 STATE 1018 --------------------------------------------------------------------- ( 18 796 859 861 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1795 PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 913 final Reduce 913 instanceof Reduce 851 native Reduce 913 non-sealed Reduce 913 private Reduce 913 protected Reduce 913 public Reduce 913 static Reduce 913 strictfp Reduce 913 synchronized Reduce 913 transient Reduce 913 volatile Reduce 913 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 913 RBRACE Reduce 913 LBRACKET Reduce 527 SEMICOLON Reduce 913 QUESTION Reduce 871 COMMA Reduce 913 DOT Reduce 511 AT Reduce 913 COLON_COLON Reduce 511 RestrictedIdentifiersealed Reduce 913 $eof Reduce 913 Default reduction to rule 913 STATE 1019 --------------------------------------------------------------------- ( 18 796 859 861 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1796 PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 913 final Reduce 913 instanceof Reduce 851 native Reduce 913 non-sealed Reduce 913 private Reduce 913 protected Reduce 913 public Reduce 913 static Reduce 913 strictfp Reduce 913 synchronized Reduce 913 transient Reduce 913 volatile Reduce 913 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 913 RBRACE Reduce 913 LBRACKET Reduce 526 SEMICOLON Reduce 913 QUESTION Reduce 871 COMMA Reduce 913 DOT Reduce 511 AT Reduce 913 COLON_COLON Reduce 511 RestrictedIdentifiersealed Reduce 913 $eof Reduce 913 Default reduction to rule 913 STATE 1020 --------------------------------------------------------------------- ( 18 796 859 861 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1797 PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 913 final Reduce 913 instanceof Reduce 851 native Reduce 913 non-sealed Reduce 913 private Reduce 913 protected Reduce 913 public Reduce 913 static Reduce 913 strictfp Reduce 913 synchronized Reduce 913 transient Reduce 913 volatile Reduce 913 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 913 RBRACE Reduce 913 LBRACKET Reduce 519 SEMICOLON Reduce 913 QUESTION Reduce 871 COMMA Reduce 913 DOT Reduce 511 AT Reduce 913 COLON_COLON Reduce 511 RestrictedIdentifiersealed Reduce 913 $eof Reduce 913 Default reduction to rule 913 STATE 1021 --------------------------------------------------------------------- ( 18 796 859 861 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1798 PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 913 final Reduce 913 instanceof Reduce 851 native Reduce 913 non-sealed Reduce 913 private Reduce 913 protected Reduce 913 public Reduce 913 static Reduce 913 strictfp Reduce 913 synchronized Reduce 913 transient Reduce 913 volatile Reduce 913 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 913 RBRACE Reduce 913 LBRACKET Reduce 518 SEMICOLON Reduce 913 QUESTION Reduce 871 COMMA Reduce 913 DOT Reduce 511 AT Reduce 913 COLON_COLON Reduce 511 RestrictedIdentifiersealed Reduce 913 $eof Reduce 913 Default reduction to rule 913 STATE 1022 --------------------------------------------------------------------- ( 40 217 457 458 570 797 798 911 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1799 ReferenceType ::= ArrayType . (57) RIGHT_SHIFT Reduce 57 UNSIGNED_RIGHT_SHIFT Reduce 57 GREATER Reduce 57 COMMA Reduce 760 Default reduction to rule 57 STATE 1023 --------------------------------------------------------------------- ( 41 101 103 105 106 112 115 182 210 211 224 267 272 322 323 460 501 541 545 567 595 596 600 606 608 650 657 681 763 843 856 900 ) DimsLoop ::= OneDimLoop . (584) Identifier Reduce 583 abstract Reduce 583 default Reduce 583 final Reduce 583 instanceof Reduce 583 native Reduce 583 non-sealed Reduce 583 private Reduce 583 protected Reduce 583 public Reduce 583 static Reduce 583 strictfp Reduce 583 synchronized Reduce 583 this Reduce 583 throws Reduce 583 transient Reduce 583 volatile Reduce 583 EQUAL_EQUAL Reduce 583 NOT_EQUAL 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 RPAREN Reduce 583 LBRACE Reduce 583 RBRACE Reduce 583 LBRACKET Reduce 584 RBRACKET Reduce 583 SEMICOLON Reduce 583 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1800 QUESTION Reduce 583 COLON Reduce 583 COMMA Reduce 583 DOT Reduce 583 EQUAL Reduce 583 AT Reduce 583 ELLIPSIS Reduce 583 COLON_COLON Reduce 583 ElidedSemicolonAndRightBrace Reduce 583 AT308 Reduce 584 AT308DOTDOTDOT Reduce 583 BeginCaseExpr Reduce 583 RestrictedIdentifiersealed Reduce 583 $eof Reduce 583 Default reduction to rule 583 STATE 1024 --------------------------------------------------------------------- ( 43 136 142 143 157 189 ) FormalParameterList ::= FormalParameter . (270) RPAREN Reduce 704 COMMA Reduce 270 Default reduction to rule 704 STATE 1025 --------------------------------------------------------------------- ( 45 468 ) ConstantExpression ::= Expression . (688) COLON Reduce 464 COMMA Reduce 464 BeginCaseExpr Reduce 464 $eof Reduce 464 Default reduction to rule 464 STATE 1026 --------------------------------------------------------------------- ( 74 118 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1801 Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 879 LBRACKET Reduce 514 QUESTION Reduce 871 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1802 STATE 1027 --------------------------------------------------------------------- ( 74 118 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (451) UnaryExpression_NotName ::= PreIncrementExpression . (814) UnaryExpression_NotName ::= PreDecrementExpression . (815) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (818) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (819) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (822) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (823) instanceof Reduce 851 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 879 QUESTION Reduce 871 Default reduction to rule 835 STATE 1028 --------------------------------------------------------------------- ( 74 118 ) PrimaryNoNewArray ::= ReferenceExpression . (529) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1803 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 879 LBRACKET Reduce 529 QUESTION Reduce 871 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 1029 --------------------------------------------------------------------- ( 74 118 ) PrimaryNoNewArray ::= LambdaExpression . (528) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1804 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 879 LBRACKET Reduce 528 QUESTION Reduce 871 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 1030 --------------------------------------------------------------------- ( 74 118 ) PrimaryNoNewArray ::= ArrayAccess . (527) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1805 UNSIGNED_RIGHT_SHIFT Reduce 835 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 879 LBRACKET Reduce 527 QUESTION Reduce 871 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 1031 --------------------------------------------------------------------- ( 74 118 ) PrimaryNoNewArray ::= MethodInvocation . (526) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 PLUS_EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1806 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 879 LBRACKET Reduce 526 QUESTION Reduce 871 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 1032 --------------------------------------------------------------------- ( 74 118 ) PrimaryNoNewArray ::= FieldAccess . (519) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1807 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 879 LBRACKET Reduce 519 QUESTION Reduce 871 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 1033 --------------------------------------------------------------------- ( 74 118 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1808 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 879 LBRACKET Reduce 518 QUESTION Reduce 871 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 Default reduction to rule 602 STATE 1034 --------------------------------------------------------------------- ( 74 93 118 296 736 737 741 837 893 897 898 958 959 960 973 974 977 ) Name ::= QualifiedName . (72) instanceof Reduce 72 PLUS_PLUS Reduce 603 MINUS_MINUS Reduce 603 EQUAL_EQUAL Reduce 72 LESS_EQUAL Reduce 72 GREATER_EQUAL Reduce 72 NOT_EQUAL Reduce 72 LEFT_SHIFT Reduce 72 RIGHT_SHIFT Reduce 72 UNSIGNED_RIGHT_SHIFT Reduce 72 PLUS_EQUAL Reduce 603 MINUS_EQUAL Reduce 603 MULTIPLY_EQUAL Reduce 603 DIVIDE_EQUAL Reduce 603 AND_EQUAL Reduce 603 OR_EQUAL Reduce 603 XOR_EQUAL Reduce 603 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1809 REMAINDER_EQUAL Reduce 603 LEFT_SHIFT_EQUAL Reduce 603 RIGHT_SHIFT_EQUAL Reduce 603 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 603 OR_OR Reduce 72 AND_AND Reduce 72 PLUS Reduce 72 MINUS Reduce 72 REMAINDER Reduce 72 XOR Reduce 72 AND Reduce 72 MULTIPLY Reduce 72 OR Reduce 72 DIVIDE Reduce 72 GREATER Reduce 72 LESS Reduce 72 LPAREN Reduce 72 RPAREN Reduce 72 LBRACKET Reduce 72 QUESTION Reduce 72 DOT Reduce 72 EQUAL Reduce 603 COLON_COLON Reduce 72 BeginTypeArguments Reduce 72 AT308 Reduce 72 Default reduction to rule 72 STATE 1035 --------------------------------------------------------------------- ( 74 118 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1810 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 879 QUESTION Reduce 871 DOT Reduce 513 EQUAL Reduce 602 COLON_COLON Reduce 513 Default reduction to rule 602 STATE 1036 --------------------------------------------------------------------- ( 79 191 220 226 239 242 245 277 281 359 478 522 683 698 722 759 ) Name ::= QualifiedName . (72) abstract Reduce 60 final Reduce 60 implements Reduce 60 native Reduce 60 non-sealed Reduce 60 private Reduce 60 protected Reduce 60 public Reduce 60 static Reduce 60 strictfp Reduce 60 synchronized Reduce 60 transient Reduce 60 volatile Reduce 60 AND Reduce 60 LESS Reduce 60 LPAREN Reduce 60 RPAREN Reduce 60 LBRACE Reduce 60 LBRACKET Reduce 60 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1811 SEMICOLON Reduce 60 COMMA Reduce 60 DOT Reduce 72 AT Reduce 60 COLON_COLON Reduce 60 AT308 Reduce 60 RestrictedIdentifiersealed Reduce 60 RestrictedIdentifierpermits Reduce 60 $eof Reduce 60 Default reduction to rule 60 STATE 1037 --------------------------------------------------------------------- ( 192 204 443 ) ModuleModifier ::= open . (110) module Reduce 109 Default reduction to rule 109 STATE 1038 --------------------------------------------------------------------- ( 194 ) RequiresModifiers ::= RequiresModifier . (125) RequiresModifier ::= transitive . (127) RequiresModifier ::= static . (128) Identifier Reduce 123 static Reduce 125 transitive Reduce 125 Default reduction to rule 125 STATE 1039 --------------------------------------------------------------------- ( 196 202 ) SimpleName ::= Identifier . (73) UnannotatableName ::= SimpleName . (74) to Reduce 136 SEMICOLON Reduce 136 DOT Reduce 74 Default reduction to rule 136 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1812 STATE 1040 --------------------------------------------------------------------- ( 207 ) TypeDeclarations ::= TypeDeclaration . (174) TypeDeclaration ::= ClassDeclaration . (188) TypeDeclaration ::= InterfaceDeclaration . (189) TypeDeclaration ::= EnumDeclaration . (191) TypeDeclaration ::= AnnotationTypeDeclaration . (192) TypeDeclaration ::= RecordDeclaration . (193) abstract Reduce 174 class Reduce 174 enum Reduce 174 final Reduce 174 interface Reduce 174 native Reduce 174 non-sealed Reduce 174 private Reduce 174 protected Reduce 174 public Reduce 174 static Reduce 174 strictfp Reduce 174 synchronized Reduce 174 transient Reduce 174 volatile Reduce 174 SEMICOLON Reduce 174 AT Reduce 174 RestrictedIdentifierrecord Reduce 174 RestrictedIdentifiersealed Reduce 174 $eof Reduce 101 Default reduction to rule 174 STATE 1041 --------------------------------------------------------------------- ( 208 345 394 414 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1813 BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 LBRACKET Reduce 514 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 DOT Reduce 511 AT Reduce 660 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1814 $eof Reduce 660 Default reduction to rule 660 STATE 1042 --------------------------------------------------------------------- ( 208 345 394 414 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 RBRACKET Reduce 660 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1815 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 AT Reduce 660 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 1043 --------------------------------------------------------------------- ( 208 345 394 414 ) PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1816 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 AT Reduce 660 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 1044 --------------------------------------------------------------------- ( 208 345 394 414 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1817 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 AT Reduce 660 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 1045 --------------------------------------------------------------------- ( 208 345 394 414 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1818 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 LBRACKET Reduce 529 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 DOT Reduce 511 AT Reduce 660 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 1046 --------------------------------------------------------------------- ( 208 345 394 414 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1819 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 LBRACKET Reduce 528 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 DOT Reduce 511 AT Reduce 660 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 1047 --------------------------------------------------------------------- ( 208 345 394 414 ) PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1820 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 LBRACKET Reduce 527 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 DOT Reduce 511 AT Reduce 660 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 1048 --------------------------------------------------------------------- ( 208 345 394 414 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1821 PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 LBRACKET Reduce 526 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 DOT Reduce 511 AT Reduce 660 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1822 Default reduction to rule 660 STATE 1049 --------------------------------------------------------------------- ( 208 345 394 414 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 LBRACKET Reduce 519 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1823 COMMA Reduce 660 DOT Reduce 511 AT Reduce 660 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 1050 --------------------------------------------------------------------- ( 208 345 394 414 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1824 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 LBRACKET Reduce 518 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 DOT Reduce 511 AT Reduce 660 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 1051 --------------------------------------------------------------------- ( 208 345 394 414 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 660 final Reduce 660 instanceof Reduce 352 native Reduce 660 non-sealed Reduce 660 private Reduce 660 protected Reduce 660 public Reduce 660 static Reduce 660 strictfp Reduce 660 synchronized Reduce 660 transient Reduce 660 volatile Reduce 660 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 660 AND_AND Reduce 660 PLUS Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1825 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 660 RBRACE Reduce 660 RBRACKET Reduce 660 SEMICOLON Reduce 660 QUESTION Reduce 660 COLON Reduce 660 COMMA Reduce 660 DOT Reduce 513 AT Reduce 660 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 660 BeginCaseExpr Reduce 660 RestrictedIdentifiersealed Reduce 660 $eof Reduce 660 Default reduction to rule 660 STATE 1052 --------------------------------------------------------------------- ( 213 216 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1826 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 925 LBRACKET Reduce 514 QUESTION Reduce 871 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1053 --------------------------------------------------------------------- ( 213 216 ) MemberValuePairs ::= MemberValuePair . (908) RPAREN Reduce 907 COMMA Reduce 908 Default reduction to rule 907 STATE 1054 --------------------------------------------------------------------- ( 213 216 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (451) UnaryExpression_NotName ::= PreIncrementExpression . (814) UnaryExpression_NotName ::= PreDecrementExpression . (815) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (818) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (819) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (822) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (823) instanceof Reduce 851 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1827 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 925 QUESTION Reduce 871 Default reduction to rule 835 STATE 1055 --------------------------------------------------------------------- ( 213 216 ) PrimaryNoNewArray ::= ReferenceExpression . (529) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1828 RPAREN Reduce 925 LBRACKET Reduce 529 QUESTION Reduce 871 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1056 --------------------------------------------------------------------- ( 213 216 ) PrimaryNoNewArray ::= LambdaExpression . (528) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 925 LBRACKET Reduce 528 QUESTION Reduce 871 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1057 --------------------------------------------------------------------- ( 213 216 ) PrimaryNoNewArray ::= ArrayAccess . (527) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1829 instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 925 LBRACKET Reduce 527 QUESTION Reduce 871 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1058 --------------------------------------------------------------------- ( 213 216 ) PrimaryNoNewArray ::= MethodInvocation . (526) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 925 LBRACKET Reduce 526 QUESTION Reduce 871 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1059 --------------------------------------------------------------------- ( 213 216 ) PrimaryNoNewArray ::= FieldAccess . (519) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 925 LBRACKET Reduce 519 QUESTION Reduce 871 DOT Reduce 511 COLON_COLON Reduce 511 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1831 Default reduction to rule 835 STATE 1060 --------------------------------------------------------------------- ( 213 216 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 925 LBRACKET Reduce 518 QUESTION Reduce 871 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1061 --------------------------------------------------------------------- ( 213 216 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1832 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RPAREN Reduce 925 QUESTION Reduce 871 DOT Reduce 513 COLON_COLON Reduce 513 Default reduction to rule 835 STATE 1062 --------------------------------------------------------------------- ( 213 216 ) Annotation ::= NormalAnnotation . (901) Annotation ::= MarkerAnnotation . (902) Annotation ::= SingleMemberAnnotation . (903) MemberValue ::= ConditionalExpression_NotName . (913) MemberValue ::= Annotation . (915) MemberValue ::= MemberValueArrayInitializer . (916) RPAREN Reduce 925 Default reduction to rule 925 STATE 1063 --------------------------------------------------------------------- ( 249 ) RecordComponents ::= RecordComponent . (335) RecordComponent ::= VariableArityRecordComponent . (337) RPAREN Reduce 334 COMMA Reduce 335 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1833 Default reduction to rule 334 STATE 1064 --------------------------------------------------------------------- ( 258 ) Catches ::= CatchClause . (505) Identifier Reduce 505 abstract Reduce 505 assert Reduce 505 boolean Reduce 505 break Reduce 505 byte Reduce 505 case Reduce 505 catch Reduce 505 char Reduce 505 class Reduce 505 continue Reduce 505 default Reduce 505 do Reduce 505 double Reduce 505 else Reduce 505 enum Reduce 505 false Reduce 505 final Reduce 505 finally Reduce 724 float Reduce 505 for Reduce 505 if Reduce 505 int Reduce 505 interface Reduce 505 long Reduce 505 native Reduce 505 new Reduce 505 non-sealed Reduce 505 null Reduce 505 private Reduce 505 protected Reduce 505 public Reduce 505 return Reduce 505 short Reduce 505 static Reduce 505 strictfp Reduce 505 super Reduce 505 switch Reduce 505 synchronized Reduce 505 this Reduce 505 throw Reduce 505 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1834 transient Reduce 505 true Reduce 505 try Reduce 505 void Reduce 505 volatile Reduce 505 while Reduce 505 IntegerLiteral Reduce 505 LongLiteral Reduce 505 FloatingPointLiteral Reduce 505 DoubleLiteral Reduce 505 CharacterLiteral Reduce 505 StringLiteral Reduce 505 TextBlock Reduce 505 PLUS_PLUS Reduce 505 MINUS_MINUS Reduce 505 LESS Reduce 505 LPAREN Reduce 505 LBRACE Reduce 505 RBRACE Reduce 505 SEMICOLON Reduce 505 AT Reduce 505 BeginLambda Reduce 505 AT308 Reduce 505 RestrictedIdentifierYield Reduce 505 RestrictedIdentifierrecord Reduce 505 RestrictedIdentifiersealed Reduce 505 $eof Reduce 505 Default reduction to rule 505 STATE 1065 --------------------------------------------------------------------- ( 260 704 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) LBRACKET Reduce 514 DOT Reduce 511 COLON_COLON Reduce 511 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1835 Default reduction to rule 511 STATE 1066 --------------------------------------------------------------------- ( 260 704 ) Name ::= QualifiedName . (72) Identifier Reduce 60 LESS Reduce 60 LPAREN Reduce 72 RPAREN Reduce 501 LBRACKET Reduce 72 SEMICOLON Reduce 501 DOT Reduce 72 COLON_COLON Reduce 72 BeginTypeArguments Reduce 72 AT308 Reduce 72 Default reduction to rule 72 STATE 1067 --------------------------------------------------------------------- ( 260 704 ) PrimaryNoNewArray ::= ReferenceExpression . (529) LBRACKET Reduce 529 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 511 STATE 1068 --------------------------------------------------------------------- ( 260 704 ) PrimaryNoNewArray ::= LambdaExpression . (528) LBRACKET Reduce 528 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 511 STATE 1069 --------------------------------------------------------------------- ( 260 704 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1836 PrimaryNoNewArray ::= ArrayAccess . (527) LBRACKET Reduce 527 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 511 STATE 1070 --------------------------------------------------------------------- ( 260 704 ) PrimaryNoNewArray ::= MethodInvocation . (526) LBRACKET Reduce 526 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 511 STATE 1071 --------------------------------------------------------------------- ( 260 704 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) LBRACKET Reduce 518 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 511 STATE 1072 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1837 BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 LBRACKET Reduce 514 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 COLON Reduce 613 COMMA Reduce 613 DOT Reduce 511 AT Reduce 613 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1838 $eof Reduce 613 Default reduction to rule 613 STATE 1073 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1839 COLON Reduce 613 COMMA Reduce 613 AT Reduce 613 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 $eof Reduce 613 Default reduction to rule 613 STATE 1074 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1840 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 COLON Reduce 613 COMMA Reduce 613 AT Reduce 613 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 $eof Reduce 613 Default reduction to rule 613 STATE 1075 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1841 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 LBRACKET Reduce 529 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 COLON Reduce 613 COMMA Reduce 613 DOT Reduce 511 AT Reduce 613 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 $eof Reduce 613 Default reduction to rule 613 STATE 1076 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1842 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 LBRACKET Reduce 528 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 COLON Reduce 613 COMMA Reduce 613 DOT Reduce 511 AT Reduce 613 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 $eof Reduce 613 Default reduction to rule 613 STATE 1077 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1843 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 LBRACKET Reduce 527 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 COLON Reduce 613 COMMA Reduce 613 DOT Reduce 511 AT Reduce 613 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 $eof Reduce 613 Default reduction to rule 613 STATE 1078 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) PrimaryNoNewArray ::= MethodInvocation . (526) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1844 abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 LBRACKET Reduce 526 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 COLON Reduce 613 COMMA Reduce 613 DOT Reduce 511 AT Reduce 613 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 $eof Reduce 613 Default reduction to rule 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1845 STATE 1079 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 LBRACKET Reduce 519 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 COLON Reduce 613 COMMA Reduce 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1846 DOT Reduce 511 AT Reduce 613 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 $eof Reduce 613 Default reduction to rule 613 STATE 1080 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1847 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 LBRACKET Reduce 518 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 COLON Reduce 613 COMMA Reduce 613 DOT Reduce 511 AT Reduce 613 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 $eof Reduce 613 Default reduction to rule 613 STATE 1081 --------------------------------------------------------------------- ( 269 270 314 315 324 325 326 327 328 371 372 373 374 377 378 379 410 411 412 907 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 613 final Reduce 613 instanceof Reduce 613 native Reduce 613 non-sealed Reduce 613 private Reduce 613 protected Reduce 613 public Reduce 613 static Reduce 613 strictfp Reduce 613 synchronized Reduce 613 transient Reduce 613 volatile Reduce 613 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 613 LESS_EQUAL Reduce 613 GREATER_EQUAL Reduce 613 NOT_EQUAL Reduce 613 LEFT_SHIFT Reduce 613 RIGHT_SHIFT Reduce 613 UNSIGNED_RIGHT_SHIFT Reduce 613 OR_OR Reduce 613 AND_AND Reduce 613 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1848 PLUS Reduce 613 MINUS Reduce 613 REMAINDER Reduce 613 XOR Reduce 613 AND Reduce 613 MULTIPLY Reduce 613 OR Reduce 613 DIVIDE Reduce 613 GREATER Reduce 613 LESS Reduce 613 RPAREN Reduce 613 RBRACE Reduce 613 RBRACKET Reduce 613 SEMICOLON Reduce 613 QUESTION Reduce 613 COLON Reduce 613 COMMA Reduce 613 DOT Reduce 513 AT Reduce 613 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 613 BeginCaseExpr Reduce 613 RestrictedIdentifiersealed Reduce 613 $eof Reduce 613 Default reduction to rule 613 STATE 1082 --------------------------------------------------------------------- ( 285 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1849 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 LBRACKET Reduce 514 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 602 STATE 1083 --------------------------------------------------------------------- ( 285 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1850 UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) instanceof Reduce 352 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 666 STATE 1084 --------------------------------------------------------------------- ( 285 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1851 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 DOT Reduce 513 EQUAL Reduce 602 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 602 STATE 1085 --------------------------------------------------------------------- ( 285 ) PrimaryNoNewArray ::= ReferenceExpression . (529) instanceof Reduce 352 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1852 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 LBRACKET Reduce 529 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 602 STATE 1086 --------------------------------------------------------------------- ( 285 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1853 PrimaryNoNewArray ::= LambdaExpression . (528) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 LBRACKET Reduce 528 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1854 STATE 1087 --------------------------------------------------------------------- ( 285 ) PrimaryNoNewArray ::= ArrayAccess . (527) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 LBRACKET Reduce 527 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 DOT Reduce 511 EQUAL Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1855 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 602 STATE 1088 --------------------------------------------------------------------- ( 285 ) PrimaryNoNewArray ::= MethodInvocation . (526) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 LBRACKET Reduce 526 RBRACKET Reduce 666 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1856 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 602 STATE 1089 --------------------------------------------------------------------- ( 285 ) PrimaryNoNewArray ::= FieldAccess . (519) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1857 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 LBRACKET Reduce 519 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 602 STATE 1090 --------------------------------------------------------------------- ( 285 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) instanceof Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 602 MINUS_EQUAL Reduce 602 MULTIPLY_EQUAL Reduce 602 DIVIDE_EQUAL Reduce 602 AND_EQUAL Reduce 602 OR_EQUAL Reduce 602 XOR_EQUAL Reduce 602 REMAINDER_EQUAL Reduce 602 LEFT_SHIFT_EQUAL Reduce 602 RIGHT_SHIFT_EQUAL Reduce 602 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 602 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1858 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 LBRACKET Reduce 518 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 DOT Reduce 511 EQUAL Reduce 602 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 602 STATE 1091 --------------------------------------------------------------------- ( 285 ) PostfixExpression ::= PostDecrementExpression . (605) instanceof Reduce 352 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 605 MINUS_EQUAL Reduce 605 MULTIPLY_EQUAL Reduce 605 DIVIDE_EQUAL Reduce 605 AND_EQUAL Reduce 605 OR_EQUAL Reduce 605 XOR_EQUAL Reduce 605 REMAINDER_EQUAL Reduce 605 LEFT_SHIFT_EQUAL Reduce 605 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1859 RIGHT_SHIFT_EQUAL Reduce 605 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 605 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 EQUAL Reduce 605 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 605 STATE 1092 --------------------------------------------------------------------- ( 285 ) PostfixExpression ::= PostIncrementExpression . (604) instanceof Reduce 352 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 PLUS_EQUAL Reduce 604 MINUS_EQUAL Reduce 604 MULTIPLY_EQUAL Reduce 604 DIVIDE_EQUAL Reduce 604 AND_EQUAL Reduce 604 OR_EQUAL Reduce 604 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1860 XOR_EQUAL Reduce 604 REMAINDER_EQUAL Reduce 604 LEFT_SHIFT_EQUAL Reduce 604 RIGHT_SHIFT_EQUAL Reduce 604 UNSIGNED_RIGHT_SHIFT_EQUAL Reduce 604 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 666 RBRACE Reduce 666 RBRACKET Reduce 666 SEMICOLON Reduce 666 QUESTION Reduce 662 COLON Reduce 666 COMMA Reduce 666 EQUAL Reduce 604 ElidedSemicolonAndRightBrace Reduce 666 BeginCaseExpr Reduce 666 $eof Reduce 666 Default reduction to rule 604 STATE 1093 --------------------------------------------------------------------- ( 299 894 ) StatementExpressionList ::= StatementExpression . (476) SEMICOLON Reduce 473 COMMA Reduce 476 Default reduction to rule 473 STATE 1094 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1861 Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 LBRACKET Reduce 514 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1862 COMMA Reduce 639 DOT Reduce 511 AT Reduce 639 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1095 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1863 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 AT Reduce 639 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1096 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1864 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 AT Reduce 639 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1097 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1865 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 AT Reduce 639 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1098 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1866 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 LBRACKET Reduce 529 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 DOT Reduce 511 AT Reduce 639 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1099 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1867 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 LBRACKET Reduce 528 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 DOT Reduce 511 AT Reduce 639 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1100 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) PrimaryNoNewArray ::= ArrayAccess . (527) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1868 abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 LBRACKET Reduce 527 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 DOT Reduce 511 AT Reduce 639 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1869 STATE 1101 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 LBRACKET Reduce 526 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 DOT Reduce 511 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1870 AT Reduce 639 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1102 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1871 RBRACE Reduce 639 LBRACKET Reduce 519 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 DOT Reduce 511 AT Reduce 639 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1103 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1872 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 LBRACKET Reduce 518 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 DOT Reduce 511 AT Reduce 639 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1104 --------------------------------------------------------------------- ( 329 330 331 384 385 386 405 406 407 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 639 final Reduce 639 instanceof Reduce 639 native Reduce 639 non-sealed Reduce 639 private Reduce 639 protected Reduce 639 public Reduce 639 static Reduce 639 strictfp Reduce 639 synchronized Reduce 639 transient Reduce 639 volatile Reduce 639 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 639 LESS_EQUAL Reduce 639 GREATER_EQUAL Reduce 639 NOT_EQUAL Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1873 LEFT_SHIFT Reduce 639 RIGHT_SHIFT Reduce 639 UNSIGNED_RIGHT_SHIFT Reduce 639 OR_OR Reduce 639 AND_AND Reduce 639 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 639 AND Reduce 639 MULTIPLY Reduce 635 OR Reduce 639 DIVIDE Reduce 635 GREATER Reduce 639 LESS Reduce 639 RPAREN Reduce 639 RBRACE Reduce 639 RBRACKET Reduce 639 SEMICOLON Reduce 639 QUESTION Reduce 639 COLON Reduce 639 COMMA Reduce 639 DOT Reduce 513 AT Reduce 639 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 639 BeginCaseExpr Reduce 639 RestrictedIdentifiersealed Reduce 639 $eof Reduce 639 Default reduction to rule 639 STATE 1105 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1874 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 LBRACKET Reduce 514 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 COMMA Reduce 635 DOT Reduce 511 AT Reduce 635 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 635 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 Default reduction to rule 635 STATE 1106 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1875 Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 635 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 COMMA Reduce 635 DOT Reduce 513 AT Reduce 635 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 635 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1876 Default reduction to rule 635 STATE 1107 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 635 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 LBRACKET Reduce 529 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1877 COMMA Reduce 635 DOT Reduce 511 AT Reduce 635 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 635 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 Default reduction to rule 635 STATE 1108 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 635 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1878 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 LBRACKET Reduce 528 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 COMMA Reduce 635 DOT Reduce 511 AT Reduce 635 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 635 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 Default reduction to rule 635 STATE 1109 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 635 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1879 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 LBRACKET Reduce 527 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 COMMA Reduce 635 DOT Reduce 511 AT Reduce 635 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 635 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 Default reduction to rule 635 STATE 1110 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 635 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1880 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 LBRACKET Reduce 526 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 COMMA Reduce 635 DOT Reduce 511 AT Reduce 635 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 635 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 Default reduction to rule 635 STATE 1111 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 635 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1881 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 LBRACKET Reduce 519 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 COMMA Reduce 635 DOT Reduce 511 AT Reduce 635 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 635 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 Default reduction to rule 635 STATE 1112 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1882 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 LBRACKET Reduce 518 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 COMMA Reduce 635 DOT Reduce 511 AT Reduce 635 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 635 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 Default reduction to rule 635 STATE 1113 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1883 PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 635 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 COMMA Reduce 635 AT Reduce 635 ElidedSemicolonAndRightBrace Reduce 635 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 Default reduction to rule 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1884 STATE 1114 --------------------------------------------------------------------- ( 332 333 375 376 408 409 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 635 final Reduce 635 instanceof Reduce 635 native Reduce 635 non-sealed Reduce 635 private Reduce 635 protected Reduce 635 public Reduce 635 static Reduce 635 strictfp Reduce 635 synchronized Reduce 635 transient Reduce 635 volatile Reduce 635 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 635 LESS_EQUAL Reduce 635 GREATER_EQUAL Reduce 635 NOT_EQUAL Reduce 635 LEFT_SHIFT Reduce 635 RIGHT_SHIFT Reduce 635 UNSIGNED_RIGHT_SHIFT Reduce 635 OR_OR Reduce 635 AND_AND Reduce 635 PLUS Reduce 635 MINUS Reduce 635 REMAINDER Reduce 635 XOR Reduce 635 AND Reduce 635 MULTIPLY Reduce 635 OR Reduce 635 DIVIDE Reduce 635 GREATER Reduce 635 LESS Reduce 635 RPAREN Reduce 635 RBRACE Reduce 635 RBRACKET Reduce 635 SEMICOLON Reduce 635 QUESTION Reduce 635 COLON Reduce 635 COMMA Reduce 635 AT Reduce 635 ElidedSemicolonAndRightBrace Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1885 BeginCaseExpr Reduce 635 RestrictedIdentifiersealed Reduce 635 $eof Reduce 635 Default reduction to rule 635 STATE 1115 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1886 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 LBRACKET Reduce 514 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 DOT Reduce 511 AT Reduce 642 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1116 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 EQUAL_EQUAL Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1887 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 AT Reduce 642 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1117 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1888 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 DOT Reduce 513 AT Reduce 642 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1118 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1889 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 LBRACKET Reduce 529 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 DOT Reduce 511 AT Reduce 642 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1119 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1890 PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 LBRACKET Reduce 528 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 DOT Reduce 511 AT Reduce 642 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1891 $eof Reduce 642 Default reduction to rule 642 STATE 1120 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 LBRACKET Reduce 527 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1892 COLON Reduce 642 COMMA Reduce 642 DOT Reduce 511 AT Reduce 642 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1121 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1893 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 LBRACKET Reduce 526 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 DOT Reduce 511 AT Reduce 642 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1122 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1894 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 LBRACKET Reduce 519 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 DOT Reduce 511 AT Reduce 642 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1123 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1895 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 LBRACKET Reduce 518 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 DOT Reduce 511 AT Reduce 642 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1124 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1896 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 AT Reduce 642 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1125 --------------------------------------------------------------------- ( 335 336 337 338 380 381 382 383 401 402 403 404 570 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 642 final Reduce 642 instanceof Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1897 native Reduce 642 non-sealed Reduce 642 private Reduce 642 protected Reduce 642 public Reduce 642 static Reduce 642 strictfp Reduce 642 synchronized Reduce 642 transient Reduce 642 volatile Reduce 642 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 642 LESS_EQUAL Reduce 642 GREATER_EQUAL Reduce 642 NOT_EQUAL Reduce 642 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 642 AND_AND Reduce 642 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 642 AND Reduce 642 MULTIPLY Reduce 635 OR Reduce 642 DIVIDE Reduce 635 GREATER Reduce 642 LESS Reduce 642 RPAREN Reduce 642 RBRACE Reduce 642 RBRACKET Reduce 642 SEMICOLON Reduce 642 QUESTION Reduce 642 COLON Reduce 642 COMMA Reduce 642 AT Reduce 642 ElidedSemicolonAndRightBrace Reduce 642 BeginCaseExpr Reduce 642 RestrictedIdentifiersealed Reduce 642 $eof Reduce 642 Default reduction to rule 642 STATE 1126 --------------------------------------------------------------------- ( 339 390 398 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1898 Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 LBRACKET Reduce 514 RBRACKET Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1899 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 DOT Reduce 511 AT Reduce 651 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1127 --------------------------------------------------------------------- ( 339 390 398 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1900 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 AT Reduce 651 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1128 --------------------------------------------------------------------- ( 339 390 398 ) PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1901 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 AT Reduce 651 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1129 --------------------------------------------------------------------- ( 339 390 398 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1902 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 AT Reduce 651 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1130 --------------------------------------------------------------------- ( 339 390 398 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1903 volatile Reduce 651 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 LBRACKET Reduce 529 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 DOT Reduce 511 AT Reduce 651 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1131 --------------------------------------------------------------------- ( 339 390 398 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1904 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 LBRACKET Reduce 528 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 DOT Reduce 511 AT Reduce 651 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1132 --------------------------------------------------------------------- ( 339 390 398 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1905 PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 LBRACKET Reduce 527 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 DOT Reduce 511 AT Reduce 651 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1906 $eof Reduce 651 Default reduction to rule 651 STATE 1133 --------------------------------------------------------------------- ( 339 390 398 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 LBRACKET Reduce 526 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1907 COLON Reduce 651 COMMA Reduce 651 DOT Reduce 511 AT Reduce 651 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1134 --------------------------------------------------------------------- ( 339 390 398 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1908 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 LBRACKET Reduce 519 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 DOT Reduce 511 AT Reduce 651 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1135 --------------------------------------------------------------------- ( 339 390 398 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1909 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 LBRACKET Reduce 518 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 DOT Reduce 511 AT Reduce 651 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1136 --------------------------------------------------------------------- ( 339 390 398 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 651 final Reduce 651 instanceof Reduce 352 native Reduce 651 non-sealed Reduce 651 private Reduce 651 protected Reduce 651 public Reduce 651 static Reduce 651 strictfp Reduce 651 synchronized Reduce 651 transient Reduce 651 volatile Reduce 651 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1910 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 651 AND_AND Reduce 651 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 651 AND Reduce 651 MULTIPLY Reduce 635 OR Reduce 651 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 651 RBRACE Reduce 651 RBRACKET Reduce 651 SEMICOLON Reduce 651 QUESTION Reduce 651 COLON Reduce 651 COMMA Reduce 651 DOT Reduce 513 AT Reduce 651 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 651 BeginCaseExpr Reduce 651 RestrictedIdentifiersealed Reduce 651 $eof Reduce 651 Default reduction to rule 651 STATE 1137 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1911 PrimaryNoNewArray ::= Literal . (514) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 LBRACKET Reduce 514 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 DOT Reduce 511 AT Reduce 352 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1912 Default reduction to rule 352 STATE 1138 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 RBRACKET Reduce 352 SEMICOLON Reduce 352 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1913 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 AT Reduce 352 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 352 STATE 1139 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1914 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 DOT Reduce 513 AT Reduce 352 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 352 STATE 1140 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1915 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 LBRACKET Reduce 529 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 DOT Reduce 511 AT Reduce 352 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 352 STATE 1141 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1916 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 LBRACKET Reduce 528 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 DOT Reduce 511 AT Reduce 352 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 352 STATE 1142 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1917 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 LBRACKET Reduce 527 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 DOT Reduce 511 AT Reduce 352 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 352 STATE 1143 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 352 final Reduce 352 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1918 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 LBRACKET Reduce 526 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 DOT Reduce 511 AT Reduce 352 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 352 STATE 1144 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1919 PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 LBRACKET Reduce 519 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 DOT Reduce 511 AT Reduce 352 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1920 $eof Reduce 352 Default reduction to rule 352 STATE 1145 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 LBRACKET Reduce 518 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1921 COLON Reduce 352 COMMA Reduce 352 DOT Reduce 511 AT Reduce 352 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 352 STATE 1146 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1922 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 AT Reduce 352 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 352 STATE 1147 --------------------------------------------------------------------- ( 340 341 387 388 399 400 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 352 final Reduce 352 instanceof Reduce 352 native Reduce 352 non-sealed Reduce 352 private Reduce 352 protected Reduce 352 public Reduce 352 static Reduce 352 strictfp Reduce 352 synchronized Reduce 352 transient Reduce 352 volatile Reduce 352 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 352 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 352 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 352 AND_AND Reduce 352 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1923 XOR Reduce 352 AND Reduce 352 MULTIPLY Reduce 635 OR Reduce 352 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 352 RBRACE Reduce 352 RBRACKET Reduce 352 SEMICOLON Reduce 352 QUESTION Reduce 352 COLON Reduce 352 COMMA Reduce 352 AT Reduce 352 ElidedSemicolonAndRightBrace Reduce 352 BeginCaseExpr Reduce 352 RestrictedIdentifiersealed Reduce 352 $eof Reduce 352 Default reduction to rule 352 STATE 1148 --------------------------------------------------------------------- ( 342 392 396 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1924 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 514 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 511 AT Reduce 656 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1149 --------------------------------------------------------------------- ( 342 392 396 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1925 MultiplicativeExpression ::= UnaryExpression . (635) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 AT Reduce 656 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1150 --------------------------------------------------------------------- ( 342 392 396 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1926 PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 AT Reduce 656 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1927 STATE 1151 --------------------------------------------------------------------- ( 342 392 396 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 AT Reduce 656 ElidedSemicolonAndRightBrace Reduce 656 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1928 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1152 --------------------------------------------------------------------- ( 342 392 396 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 529 RBRACKET Reduce 656 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1929 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 511 AT Reduce 656 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1153 --------------------------------------------------------------------- ( 342 392 396 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1930 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 528 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 511 AT Reduce 656 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1154 --------------------------------------------------------------------- ( 342 392 396 ) PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1931 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 527 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 511 AT Reduce 656 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1155 --------------------------------------------------------------------- ( 342 392 396 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1932 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 526 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 511 AT Reduce 656 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1156 --------------------------------------------------------------------- ( 342 392 396 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1933 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 519 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 511 AT Reduce 656 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1157 --------------------------------------------------------------------- ( 342 392 396 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1934 PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 LBRACKET Reduce 518 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 DOT Reduce 511 AT Reduce 656 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1935 Default reduction to rule 656 STATE 1158 --------------------------------------------------------------------- ( 342 392 396 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 656 final Reduce 656 instanceof Reduce 352 native Reduce 656 non-sealed Reduce 656 private Reduce 656 protected Reduce 656 public Reduce 656 static Reduce 656 strictfp Reduce 656 synchronized Reduce 656 transient Reduce 656 volatile Reduce 656 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 656 AND_AND Reduce 656 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 656 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 656 RBRACE Reduce 656 RBRACKET Reduce 656 SEMICOLON Reduce 656 QUESTION Reduce 656 COLON Reduce 656 COMMA Reduce 656 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1936 DOT Reduce 513 AT Reduce 656 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 656 BeginCaseExpr Reduce 656 RestrictedIdentifiersealed Reduce 656 $eof Reduce 656 Default reduction to rule 656 STATE 1159 --------------------------------------------------------------------- ( 343 389 397 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1937 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 LBRACKET Reduce 514 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 DOT Reduce 511 AT Reduce 654 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1160 --------------------------------------------------------------------- ( 343 389 397 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1938 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 AT Reduce 654 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1161 --------------------------------------------------------------------- ( 343 389 397 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1939 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 DOT Reduce 513 AT Reduce 654 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1162 --------------------------------------------------------------------- ( 343 389 397 ) PrimaryNoNewArray ::= ReferenceExpression . (529) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1940 abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 LBRACKET Reduce 529 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 DOT Reduce 511 AT Reduce 654 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1941 STATE 1163 --------------------------------------------------------------------- ( 343 389 397 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 LBRACKET Reduce 528 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 DOT Reduce 511 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1942 AT Reduce 654 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1164 --------------------------------------------------------------------- ( 343 389 397 ) PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1943 RBRACE Reduce 654 LBRACKET Reduce 527 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 DOT Reduce 511 AT Reduce 654 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1165 --------------------------------------------------------------------- ( 343 389 397 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1944 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 LBRACKET Reduce 526 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 DOT Reduce 511 AT Reduce 654 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1166 --------------------------------------------------------------------- ( 343 389 397 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1945 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 LBRACKET Reduce 519 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 DOT Reduce 511 AT Reduce 654 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1167 --------------------------------------------------------------------- ( 343 389 397 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1946 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 LBRACKET Reduce 518 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 DOT Reduce 511 AT Reduce 654 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1168 --------------------------------------------------------------------- ( 343 389 397 ) PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1947 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 AT Reduce 654 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1169 --------------------------------------------------------------------- ( 343 389 397 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1948 PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 654 final Reduce 654 instanceof Reduce 352 native Reduce 654 non-sealed Reduce 654 private Reduce 654 protected Reduce 654 public Reduce 654 static Reduce 654 strictfp Reduce 654 synchronized Reduce 654 transient Reduce 654 volatile Reduce 654 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 654 AND_AND Reduce 654 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 654 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 654 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 654 RBRACE Reduce 654 RBRACKET Reduce 654 SEMICOLON Reduce 654 QUESTION Reduce 654 COLON Reduce 654 COMMA Reduce 654 AT Reduce 654 ElidedSemicolonAndRightBrace Reduce 654 BeginCaseExpr Reduce 654 RestrictedIdentifiersealed Reduce 654 $eof Reduce 654 Default reduction to rule 654 STATE 1170 --------------------------------------------------------------------- ( 346 391 395 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1949 Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 LBRACKET Reduce 514 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1950 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 DOT Reduce 511 AT Reduce 658 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1171 --------------------------------------------------------------------- ( 346 391 395 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1951 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 AT Reduce 658 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1172 --------------------------------------------------------------------- ( 346 391 395 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1952 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 DOT Reduce 513 AT Reduce 658 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1173 --------------------------------------------------------------------- ( 346 391 395 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 PLUS_PLUS Reduce 602 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1953 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 LBRACKET Reduce 529 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 DOT Reduce 511 AT Reduce 658 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1174 --------------------------------------------------------------------- ( 346 391 395 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1954 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 LBRACKET Reduce 528 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 DOT Reduce 511 AT Reduce 658 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1175 --------------------------------------------------------------------- ( 346 391 395 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1955 PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 LBRACKET Reduce 527 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 DOT Reduce 511 AT Reduce 658 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1956 Default reduction to rule 658 STATE 1176 --------------------------------------------------------------------- ( 346 391 395 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 LBRACKET Reduce 526 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1957 COMMA Reduce 658 DOT Reduce 511 AT Reduce 658 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1177 --------------------------------------------------------------------- ( 346 391 395 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1958 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 LBRACKET Reduce 519 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 DOT Reduce 511 AT Reduce 658 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1178 --------------------------------------------------------------------- ( 346 391 395 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1959 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 LBRACKET Reduce 518 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 DOT Reduce 511 AT Reduce 658 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1179 --------------------------------------------------------------------- ( 346 391 395 ) PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 volatile Reduce 658 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1960 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 AT Reduce 658 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1180 --------------------------------------------------------------------- ( 346 391 395 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 658 final Reduce 658 instanceof Reduce 352 native Reduce 658 non-sealed Reduce 658 private Reduce 658 protected Reduce 658 public Reduce 658 static Reduce 658 strictfp Reduce 658 synchronized Reduce 658 transient Reduce 658 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1961 volatile Reduce 658 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 658 AND_AND Reduce 658 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 658 RBRACE Reduce 658 RBRACKET Reduce 658 SEMICOLON Reduce 658 QUESTION Reduce 658 COLON Reduce 658 COMMA Reduce 658 AT Reduce 658 ElidedSemicolonAndRightBrace Reduce 658 BeginCaseExpr Reduce 658 RestrictedIdentifiersealed Reduce 658 $eof Reduce 658 Default reduction to rule 658 STATE 1181 --------------------------------------------------------------------- ( 347 ) VariableInitializer ::= Expression . (251) VariableInitializer ::= ArrayInitializer . (252) RBRACE Reduce 372 COMMA Reduce 372 Default reduction to rule 372 STATE 1182 --------------------------------------------------------------------- ( 431 789 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1962 SimpleName ::= Identifier . (73) UnannotatableName ::= SimpleName . (74) SEMICOLON Reduce 133 COMMA Reduce 133 DOT Reduce 74 Default reduction to rule 133 STATE 1183 --------------------------------------------------------------------- ( 435 790 ) Name ::= QualifiedName . (72) SEMICOLON Reduce 143 COMMA Reduce 143 DOT Reduce 72 Default reduction to rule 143 STATE 1184 --------------------------------------------------------------------- ( 494 ) Catches ::= CatchClause . (505) Identifier Reduce 724 abstract Reduce 724 assert Reduce 724 boolean Reduce 724 break Reduce 724 byte Reduce 724 case Reduce 724 catch Reduce 505 char Reduce 724 class Reduce 724 continue Reduce 724 default Reduce 724 do Reduce 724 double Reduce 724 else Reduce 724 enum Reduce 724 false Reduce 724 final Reduce 724 finally Reduce 724 float Reduce 724 for Reduce 724 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1963 if Reduce 724 int Reduce 724 interface Reduce 724 long Reduce 724 native Reduce 724 new Reduce 724 non-sealed Reduce 724 null Reduce 724 private Reduce 724 protected Reduce 724 public Reduce 724 return Reduce 724 short Reduce 724 static Reduce 724 strictfp Reduce 724 super Reduce 724 switch Reduce 724 synchronized Reduce 724 this Reduce 724 throw Reduce 724 transient Reduce 724 true Reduce 724 try Reduce 724 void Reduce 724 volatile Reduce 724 while Reduce 724 IntegerLiteral Reduce 724 LongLiteral Reduce 724 FloatingPointLiteral Reduce 724 DoubleLiteral Reduce 724 CharacterLiteral Reduce 724 StringLiteral Reduce 724 TextBlock Reduce 724 PLUS_PLUS Reduce 724 MINUS_MINUS Reduce 724 LESS Reduce 724 LPAREN Reduce 724 LBRACE Reduce 724 RBRACE Reduce 724 SEMICOLON Reduce 724 AT Reduce 724 BeginLambda Reduce 724 AT308 Reduce 724 RestrictedIdentifierYield Reduce 724 RestrictedIdentifierrecord Reduce 724 RestrictedIdentifiersealed Reduce 724 $eof Reduce 724 Default reduction to rule 724 STATE 1185 --------------------------------------------------------------------- ( 565 569 760 908 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1964 AdditionalBoundList ::= AdditionalBound . (800) AND Reduce 800 RPAREN Reduce 627 Default reduction to rule 800 STATE 1186 --------------------------------------------------------------------- ( 595 596 608 650 ) Dimsopt ::= Dims . (698) abstract Reduce 265 default Reduce 265 final Reduce 265 native Reduce 265 non-sealed Reduce 265 private Reduce 265 protected Reduce 265 public Reduce 265 static Reduce 265 strictfp Reduce 265 synchronized Reduce 265 throws Reduce 265 transient Reduce 265 volatile Reduce 265 LBRACE Reduce 265 SEMICOLON Reduce 265 AT Reduce 265 RestrictedIdentifiersealed Reduce 265 $eof Reduce 265 Default reduction to rule 265 STATE 1187 --------------------------------------------------------------------- ( 611 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1965 BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RBRACE Reduce 922 LBRACKET Reduce 514 QUESTION Reduce 871 COMMA Reduce 922 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1188 --------------------------------------------------------------------- ( 611 ) UnaryExpressionNotPlusMinus_NotName ::= SwitchExpression . (451) UnaryExpression_NotName ::= PreIncrementExpression . (814) UnaryExpression_NotName ::= PreDecrementExpression . (815) UnaryExpression_NotName ::= UnaryExpressionNotPlusMinus_NotName . (818) UnaryExpressionNotPlusMinus_NotName ::= PostfixExpression_NotName . (819) UnaryExpressionNotPlusMinus_NotName ::= CastExpression . (822) MultiplicativeExpression_NotName ::= UnaryExpression_NotName . (823) instanceof Reduce 851 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1966 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RBRACE Reduce 922 QUESTION Reduce 871 COMMA Reduce 922 Default reduction to rule 835 STATE 1189 --------------------------------------------------------------------- ( 611 ) PrimaryNoNewArray ::= ReferenceExpression . (529) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1967 LESS Reduce 835 RBRACE Reduce 922 LBRACKET Reduce 529 QUESTION Reduce 871 COMMA Reduce 922 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1190 --------------------------------------------------------------------- ( 611 ) PrimaryNoNewArray ::= LambdaExpression . (528) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RBRACE Reduce 922 LBRACKET Reduce 528 QUESTION Reduce 871 COMMA Reduce 922 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1191 --------------------------------------------------------------------- ( 611 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1968 PrimaryNoNewArray ::= ArrayAccess . (527) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RBRACE Reduce 922 LBRACKET Reduce 527 QUESTION Reduce 871 COMMA Reduce 922 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1192 --------------------------------------------------------------------- ( 611 ) PrimaryNoNewArray ::= MethodInvocation . (526) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1969 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RBRACE Reduce 922 LBRACKET Reduce 526 QUESTION Reduce 871 COMMA Reduce 922 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1193 --------------------------------------------------------------------- ( 611 ) PrimaryNoNewArray ::= FieldAccess . (519) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RBRACE Reduce 922 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1970 LBRACKET Reduce 519 QUESTION Reduce 871 COMMA Reduce 922 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1194 --------------------------------------------------------------------- ( 611 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RBRACE Reduce 922 LBRACKET Reduce 518 QUESTION Reduce 871 COMMA Reduce 922 DOT Reduce 511 COLON_COLON Reduce 511 Default reduction to rule 835 STATE 1195 --------------------------------------------------------------------- ( 611 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1971 Primary ::= ArrayCreationWithoutArrayInitializer . (513) instanceof Reduce 851 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 854 LESS_EQUAL Reduce 842 GREATER_EQUAL Reduce 842 NOT_EQUAL Reduce 854 LEFT_SHIFT Reduce 835 RIGHT_SHIFT Reduce 835 UNSIGNED_RIGHT_SHIFT Reduce 835 OR_OR Reduce 871 AND_AND Reduce 868 PLUS Reduce 830 MINUS Reduce 830 REMAINDER Reduce 823 XOR Reduce 862 AND Reduce 859 MULTIPLY Reduce 823 OR Reduce 865 DIVIDE Reduce 823 GREATER Reduce 835 LESS Reduce 835 RBRACE Reduce 922 QUESTION Reduce 871 COMMA Reduce 922 DOT Reduce 513 COLON_COLON Reduce 513 Default reduction to rule 835 STATE 1196 --------------------------------------------------------------------- ( 647 ) Type ::= ReferenceType . (43) ReferenceType ::= ArrayType . (57) Identifier Reduce 277 OR Reduce 277 Default reduction to rule 277 STATE 1197 --------------------------------------------------------------------- ( 736 837 897 958 959 974 977 ) StatementWithoutTrailingSubstatement ::= AssertStatement . (407) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1972 StatementWithoutTrailingSubstatement ::= Block . (408) StatementWithoutTrailingSubstatement ::= EmptyStatement . (409) StatementWithoutTrailingSubstatement ::= ExpressionStatement . (410) StatementWithoutTrailingSubstatement ::= SwitchStatement . (411) StatementWithoutTrailingSubstatement ::= DoStatement . (412) StatementWithoutTrailingSubstatement ::= BreakStatement . (413) StatementWithoutTrailingSubstatement ::= ContinueStatement . (414) StatementWithoutTrailingSubstatement ::= ReturnStatement . (415) StatementWithoutTrailingSubstatement ::= SynchronizedStatement . (416) StatementWithoutTrailingSubstatement ::= ThrowStatement . (417) StatementWithoutTrailingSubstatement ::= TryStatement . (418) StatementWithoutTrailingSubstatement ::= TryStatementWithResources . (419) StatementWithoutTrailingSubstatement ::= YieldStatement . (420) Identifier Reduce 394 abstract Reduce 394 assert Reduce 394 boolean Reduce 394 break Reduce 394 byte Reduce 394 case Reduce 394 char Reduce 394 class Reduce 394 continue Reduce 394 default Reduce 394 do Reduce 394 double Reduce 394 else Reduce 401 enum Reduce 394 false Reduce 394 final Reduce 394 float Reduce 394 for Reduce 394 if Reduce 394 int Reduce 394 interface Reduce 394 long Reduce 394 native Reduce 394 new Reduce 394 non-sealed Reduce 394 null Reduce 394 private Reduce 394 protected Reduce 394 public Reduce 394 return Reduce 394 short Reduce 394 static Reduce 394 strictfp Reduce 394 super Reduce 394 switch Reduce 394 synchronized Reduce 394 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1973 this Reduce 394 throw Reduce 394 transient Reduce 394 true Reduce 394 try Reduce 394 void Reduce 394 volatile Reduce 394 while Reduce 394 IntegerLiteral Reduce 394 LongLiteral Reduce 394 FloatingPointLiteral Reduce 394 DoubleLiteral Reduce 394 CharacterLiteral Reduce 394 StringLiteral Reduce 394 TextBlock Reduce 394 PLUS_PLUS Reduce 394 MINUS_MINUS Reduce 394 LESS Reduce 394 LPAREN Reduce 394 LBRACE Reduce 394 RBRACE Reduce 394 SEMICOLON Reduce 394 AT Reduce 394 BeginLambda Reduce 394 AT308 Reduce 394 RestrictedIdentifierYield Reduce 394 RestrictedIdentifierrecord Reduce 394 RestrictedIdentifiersealed Reduce 394 $eof Reduce 394 Default reduction to rule 394 STATE 1198 --------------------------------------------------------------------- ( 761 854 910 942 970 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1974 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 LBRACKET Reduce 514 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 DOT Reduce 511 AT Reduce 616 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 STATE 1199 --------------------------------------------------------------------- ( 761 854 910 942 970 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1975 Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 616 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 DOT Reduce 513 AT Reduce 616 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1976 Default reduction to rule 616 STATE 1200 --------------------------------------------------------------------- ( 761 854 910 942 970 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 616 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 LBRACKET Reduce 529 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1977 COMMA Reduce 616 DOT Reduce 511 AT Reduce 616 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 STATE 1201 --------------------------------------------------------------------- ( 761 854 910 942 970 ) PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 616 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1978 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 LBRACKET Reduce 528 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 DOT Reduce 511 AT Reduce 616 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 STATE 1202 --------------------------------------------------------------------- ( 761 854 910 942 970 ) PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 616 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1979 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 LBRACKET Reduce 527 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 DOT Reduce 511 AT Reduce 616 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 STATE 1203 --------------------------------------------------------------------- ( 761 854 910 942 970 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 616 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1980 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 LBRACKET Reduce 526 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 DOT Reduce 511 AT Reduce 616 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 STATE 1204 --------------------------------------------------------------------- ( 761 854 910 942 970 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 616 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1981 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 LBRACKET Reduce 519 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 DOT Reduce 511 AT Reduce 616 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 STATE 1205 --------------------------------------------------------------------- ( 761 854 910 942 970 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1982 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 LBRACKET Reduce 518 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 DOT Reduce 511 AT Reduce 616 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 STATE 1206 --------------------------------------------------------------------- ( 761 854 910 942 970 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1983 PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 616 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 AT Reduce 616 ElidedSemicolonAndRightBrace Reduce 616 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1984 STATE 1207 --------------------------------------------------------------------- ( 761 854 910 942 970 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 616 final Reduce 616 instanceof Reduce 616 native Reduce 616 non-sealed Reduce 616 private Reduce 616 protected Reduce 616 public Reduce 616 static Reduce 616 strictfp Reduce 616 synchronized Reduce 616 transient Reduce 616 volatile Reduce 616 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 616 LESS_EQUAL Reduce 616 GREATER_EQUAL Reduce 616 NOT_EQUAL Reduce 616 LEFT_SHIFT Reduce 616 RIGHT_SHIFT Reduce 616 UNSIGNED_RIGHT_SHIFT Reduce 616 OR_OR Reduce 616 AND_AND Reduce 616 PLUS Reduce 616 MINUS Reduce 616 REMAINDER Reduce 616 XOR Reduce 616 AND Reduce 616 MULTIPLY Reduce 616 OR Reduce 616 DIVIDE Reduce 616 GREATER Reduce 616 LESS Reduce 616 RPAREN Reduce 616 RBRACE Reduce 616 RBRACKET Reduce 616 SEMICOLON Reduce 616 QUESTION Reduce 616 COLON Reduce 616 COMMA Reduce 616 AT Reduce 616 ElidedSemicolonAndRightBrace Reduce 616 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1985 BeginCaseExpr Reduce 616 RestrictedIdentifiersealed Reduce 616 $eof Reduce 616 Default reduction to rule 616 STATE 1208 --------------------------------------------------------------------- ( 765 778 779 ) Literal ::= IntegerLiteral . (31) Literal ::= LongLiteral . (32) Literal ::= FloatingPointLiteral . (33) Literal ::= DoubleLiteral . (34) Literal ::= CharacterLiteral . (35) Literal ::= StringLiteral . (36) Literal ::= TextBlock . (37) Literal ::= null . (38) Literal ::= BooleanLiteral . (39) BooleanLiteral ::= true . (40) BooleanLiteral ::= false . (41) PrimaryNoNewArray ::= Literal . (514) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1986 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 LBRACKET Reduce 514 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 DOT Reduce 511 AT Reduce 664 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1209 --------------------------------------------------------------------- ( 765 778 779 ) UnaryExpressionNotPlusMinus ::= SwitchExpression . (450) UnaryExpression ::= PreIncrementExpression . (609) UnaryExpression ::= PreDecrementExpression . (610) UnaryExpression ::= UnaryExpressionNotPlusMinus . (613) UnaryExpressionNotPlusMinus ::= CastExpression . (619) MultiplicativeExpression ::= UnaryExpression . (635) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 EQUAL_EQUAL Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1987 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 AT Reduce 664 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1210 --------------------------------------------------------------------- ( 765 778 779 ) PostfixExpression ::= PostDecrementExpression . (605) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1988 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 605 MINUS_MINUS Reduce 605 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 AT Reduce 664 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1211 --------------------------------------------------------------------- ( 765 778 779 ) PostfixExpression ::= PostIncrementExpression . (604) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1989 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 604 MINUS_MINUS Reduce 604 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 AT Reduce 664 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1212 --------------------------------------------------------------------- ( 765 778 779 ) PrimaryNoNewArray ::= ReferenceExpression . (529) abstract Reduce 664 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1990 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 LBRACKET Reduce 529 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 DOT Reduce 511 AT Reduce 664 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1213 --------------------------------------------------------------------- ( 765 778 779 ) IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1991 PrimaryNoNewArray ::= LambdaExpression . (528) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 LBRACKET Reduce 528 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 DOT Reduce 511 AT Reduce 664 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1992 $eof Reduce 664 Default reduction to rule 664 STATE 1214 --------------------------------------------------------------------- ( 765 778 779 ) PrimaryNoNewArray ::= ArrayAccess . (527) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 LBRACKET Reduce 527 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1993 COLON Reduce 664 COMMA Reduce 664 DOT Reduce 511 AT Reduce 664 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1215 --------------------------------------------------------------------- ( 765 778 779 ) PrimaryNoNewArray ::= MethodInvocation . (526) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1994 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 LBRACKET Reduce 526 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 DOT Reduce 511 AT Reduce 664 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1216 --------------------------------------------------------------------- ( 765 778 779 ) PrimaryNoNewArray ::= FieldAccess . (519) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1995 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 LBRACKET Reduce 519 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 DOT Reduce 511 AT Reduce 664 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1217 --------------------------------------------------------------------- ( 765 778 779 ) PrimaryNoNewArray ::= ClassInstanceCreationExpression . (518) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1996 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 LBRACKET Reduce 518 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 DOT Reduce 511 AT Reduce 664 COLON_COLON Reduce 511 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1218 --------------------------------------------------------------------- ( 765 778 779 ) Primary ::= ArrayCreationWithoutArrayInitializer . (513) abstract Reduce 664 final Reduce 664 instanceof Reduce 352 native Reduce 664 non-sealed Reduce 664 private Reduce 664 protected Reduce 664 public Reduce 664 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1997 static Reduce 664 strictfp Reduce 664 synchronized Reduce 664 transient Reduce 664 volatile Reduce 664 PLUS_PLUS Reduce 602 MINUS_MINUS Reduce 602 EQUAL_EQUAL Reduce 651 LESS_EQUAL Reduce 646 GREATER_EQUAL Reduce 646 NOT_EQUAL Reduce 651 LEFT_SHIFT Reduce 642 RIGHT_SHIFT Reduce 642 UNSIGNED_RIGHT_SHIFT Reduce 642 OR_OR Reduce 662 AND_AND Reduce 660 PLUS Reduce 639 MINUS Reduce 639 REMAINDER Reduce 635 XOR Reduce 656 AND Reduce 654 MULTIPLY Reduce 635 OR Reduce 658 DIVIDE Reduce 635 GREATER Reduce 646 LESS Reduce 646 RPAREN Reduce 664 RBRACE Reduce 664 RBRACKET Reduce 664 SEMICOLON Reduce 664 QUESTION Reduce 662 COLON Reduce 664 COMMA Reduce 664 DOT Reduce 513 AT Reduce 664 COLON_COLON Reduce 513 ElidedSemicolonAndRightBrace Reduce 664 BeginCaseExpr Reduce 664 RestrictedIdentifiersealed Reduce 664 $eof Reduce 664 Default reduction to rule 664 STATE 1219 --------------------------------------------------------------------- ( 898 973 ) StatementExpressionList ::= StatementExpression . (476) RPAREN Reduce 720 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1998 COMMA Reduce 476 Default reduction to rule 720 IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 1999 Length of base Action Table: 17667 Number of entries in base Action Table: 14119 Percentage of increase: 25.1% Storage required for base Tables: 35334 Bytes, 35K Storage required for Rules: 2796 Bytes Number of unique terminal states: 889 Number of Shift actions saved by merging: 4091 Number of Reduce actions saved by merging: 2765 Number of Reduce saved by default: 11957 Length of Terminal Check Table: 8264 Length of Terminal Action Table: 8200 Number of entries in Terminal Action Table: 7566 Percentage of increase: 8.3% Storage required for Terminal Tables: 24664 Bytes, 25K Total storage required for Tables: 59998 Bytes, 59K Actions in Compressed Tables: Number of Shifts: 2321 Number of Shift/Reduces: 430 Number of Gotos: 10328 Number of Goto/Reduces: 2572 Number of Reduces: 3926 Number of Defaults: 600 Error maps storage: Storage required for ACTION_SYMBOLS_BASE map: 2438 Bytes Storage required for ACTION_SYMBOLS_RANGE map: 3890 Bytes Storage required for NACTION_SYMBOLS_BASE map: 2438 Bytes Storage required for NACTION_SYMBOLS_RANGE map: 1606 Bytes Storage required for TERMINAL_INDEX map: 272 Bytes Storage required for NON_TERMINAL_INDEX map: 860 Bytes Storage required for STRING_BUFFER map: 17444 Bytes ***Warning: Base Check vector contains value > 127. 16-bit words used. ***Warning: Terminal symbol > 127. 16-bit words used. non-sealed may be an invalid variable name. Escaped symbol $eof is an invalid C variable. Escaped symbol $error is an invalid C variable. IBM Research Jikes Parser Generator 1.2 Mon Oct 4 09:11:53 2021 Page 2000 Mapping of new state numbers into original numbers: 933 ==>> 923 967 ==>> 35 973 ==>> 231 976 ==>> 117 977 ==>> 188 978 ==>> 36 979 ==>> 258 980 ==>> 24 990 ==>> 1 992 ==>> 48 993 ==>> 135 994 ==>> 793 995 ==>> 2 1018 ==>> 32 1019 ==>> 26 1025 ==>> 443 1028 ==>> 29 1030 ==>> 34 1056 ==>> 161 1067 ==>> 37 1068 ==>> 50 1070 ==>> 198 1081 ==>> 52 1084 ==>> 244 1085 ==>> 308 1094 ==>> 947 1130 ==>> 104 1131 ==>> 38 1132 ==>> 39 1134 ==>> 565 1137 ==>> 784 1139 ==>> 223 1150 ==>> 57 1154 ==>> 59 1155 ==>> 62 1156 ==>> 194 1187 ==>> 64 1189 ==>> 75 1191 ==>> 49 1217 ==>> 485 1229 ==>> 53 1231 ==>> 435 1245 ==>> 247 1246 ==>> 318 1255 ==>> 10 1293 ==>> 47 1295 ==>> 65 1300 ==>> 124 1302 ==>> 205 1315 ==>> 46 1316 ==>> 55 1317 ==>> 799 1347 ==>> 490 1352 ==>> 67 1378 ==>> 246 1386 ==>> 882 1388 ==>> 96 1392 ==>> 683 1406 ==>> 11 1449 ==>> 871 1462 ==>> 494 1465 ==>> 241 1466 ==>> 177 1501 ==>> 23 1503 ==>> 498 1532 ==>> 219 1541 ==>> 102 1543 ==>> 41 1551 ==>> 133 1554 ==>> 56 1557 ==>> 765 1620 ==>> 101 1632 ==>> 459 1633 ==>> 70 1639 ==>> 71 1641 ==>> 513 1649 ==>> 137 1650 ==>> 72 1653 ==>> 6 1662 ==>> 100 1664 ==>> 256 1666 ==>> 199 1668 ==>> 20 1707 ==>> 140 1713 ==>> 582 1714 ==>> 8 1715 ==>> 348 1724 ==>> 73 1730 ==>> 883 1753 ==>> 76 1754 ==>> 696 1763 ==>> 114 1765 ==>> 77 1791 ==>> 248 1792 ==>> 417 1796 ==>> 138 1798 ==>> 497 1802 ==>> 503 1803 ==>> 539 1805 ==>> 200 1821 ==>> 294 1864 ==>> 470 1865 ==>> 82 1916 ==>> 51 1944 ==>> 42 1955 ==>> 924 1956 ==>> 251 1958 ==>> 218 1969 ==>> 80 1972 ==>> 349 1974 ==>> 226 1985 ==>> 440 2019 ==>> 273 2020 ==>> 927 2031 ==>> 773 2046 ==>> 81 2108 ==>> 311 2122 ==>> 363 2133 ==>> 83 2136 ==>> 439 2137 ==>> 473 2138 ==>> 759 2149 ==>> 108 2183 ==>> 68 2189 ==>> 69 2192 ==>> 583 2195 ==>> 109 2196 ==>> 110 2211 ==>> 54 2234 ==>> 58 2235 ==>> 84 2241 ==>> 569 2242 ==>> 85 2244 ==>> 243 2272 ==>> 148 2273 ==>> 673 2274 ==>> 790 2287 ==>> 368 2300 ==>> 185 2343 ==>> 621 2344 ==>> 119 2345 ==>> 132 2356 ==>> 120 2359 ==>> 164 2395 ==>> 165 2423 ==>> 321 2434 ==>> 668 2435 ==>> 170 2437 ==>> 690 2445 ==>> 25 2451 ==>> 952 2490 ==>> 259 2491 ==>> 369 2496 ==>> 622 2497 ==>> 961 2508 ==>> 568 2511 ==>> 195 2513 ==>> 353 2536 ==>> 171 2543 ==>> 214 2544 ==>> 232 2548 ==>> 442 2575 ==>> 607 2588 ==>> 239 2599 ==>> 354 2602 ==>> 736 2645 ==>> 191 2668 ==>> 28 2671 ==>> 462 2673 ==>> 225 2674 ==>> 86 2675 ==>> 87 2677 ==>> 546 2678 ==>> 653 2697 ==>> 604 2699 ==>> 275 2726 ==>> 278 2727 ==>> 136 2728 ==>> 201 2730 ==>> 837 2764 ==>> 675 2766 ==>> 33 2769 ==>> 633 2770 ==>> 234 2773 ==>> 756 2776 ==>> 280 2777 ==>> 962 2783 ==>> 88 2784 ==>> 144 2789 ==>> 743 2801 ==>> 472 2802 ==>> 98 2803 ==>> 867 2807 ==>> 955 2809 ==>> 90 2812 ==>> 303 2815 ==>> 679 2823 ==>> 708 2825 ==>> 967 2854 ==>> 91 2855 ==>> 495 2856 ==>> 511 2858 ==>> 897 2901 ==>> 245 2927 ==>> 271 2934 ==>> 279 2943 ==>> 648 2944 ==>> 366 2948 ==>> 592 2953 ==>> 491 2982 ==>> 370 2986 ==>> 958 3021 ==>> 912 3026 ==>> 367 3029 ==>> 242 3040 ==>> 808 3059 ==>> 634 3060 ==>> 564 3062 ==>> 655 3071 ==>> 429 3072 ==>> 516 3083 ==>> 257 3111 ==>> 142 3112 ==>> 418 3113 ==>> 711 3114 ==>> 959 3148 ==>> 146 3149 ==>> 693 3150 ==>> 428 3151 ==>> 694 3157 ==>> 301 3160 ==>> 760 3171 ==>> 287 3172 ==>> 288 3173 ==>> 320 3190 ==>> 282 3200 ==>> 475 3206 ==>> 755 3211 ==>> 671 3242 ==>> 974 3278 ==>> 744 3279 ==>> 813 3282 ==>> 695 3285 ==>> 277 3301 ==>> 876 3315 ==>> 448 3317 ==>> 456 3318 ==>> 701 3321 ==>> 658 3327 ==>> 92 3328 ==>> 815 3330 ==>> 687 3332 ==>> 94 3337 ==>> 781 3339 ==>> 276 3368 ==>> 609 3370 ==>> 977 3404 ==>> 30 3405 ==>> 748 3408 ==>> 754 3410 ==>> 95 3416 ==>> 421 3424 ==>> 700 3425 ==>> 757 3426 ==>> 768 3428 ==>> 97 3429 ==>> 758 3431 ==>> 846 3439 ==>> 762 3443 ==>> 610 3461 ==>> 845 3463 ==>> 772 3465 ==>> 707 3467 ==>> 721 3493 ==>> 18 3529 ==>> 99 3542 ==>> 742 3550 ==>> 595 3558 ==>> 107 3568 ==>> 740 3570 ==>> 111 3573 ==>> 925 3574 ==>> 853 3575 ==>> 286 3576 ==>> 864 3588 ==>> 113 3589 ==>> 116 3590 ==>> 825 3592 ==>> 121 3593 ==>> 122 3597 ==>> 445 3599 ==>> 66 3633 ==>> 357 3634 ==>> 365 3637 ==>> 415 3646 ==>> 855 3649 ==>> 847 3671 ==>> 769 3684 ==>> 123 3686 ==>> 304 3687 ==>> 806 3688 ==>> 918 3722 ==>> 93 3759 ==>> 857 3761 ==>> 858 3762 ==>> 812 3765 ==>> 281 3777 ==>> 874 3786 ==>> 916 3796 ==>> 596 3804 ==>> 804 3805 ==>> 926 3810 ==>> 125 3819 ==>> 591 3845 ==>> 296 3879 ==>> 909 3880 ==>> 425 3883 ==>> 548 3892 ==>> 972 3896 ==>> 670 3899 ==>> 803 3901 ==>> 126 3902 ==>> 127 3905 ==>> 128 3908 ==>> 870 3910 ==>> 129 3912 ==>> 130 3914 ==>> 131 3917 ==>> 229 3927 ==>> 945 3928 ==>> 139 3930 ==>> 774 3940 ==>> 289 3942 ==>> 152 3968 ==>> 737 4005 ==>> 941 4007 ==>> 975 4011 ==>> 722 4023 ==>> 153 4024 ==>> 154 4025 ==>> 158 4026 ==>> 159 4027 ==>> 160 4028 ==>> 162 4029 ==>> 163 4032 ==>> 166 4033 ==>> 167 4042 ==>> 608 4050 ==>> 168 4051 ==>> 169 4053 ==>> 172 4055 ==>> 173 4056 ==>> 664 4058 ==>> 174 4063 ==>> 938 4065 ==>> 702 4091 ==>> 893 4125 ==>> 145 4129 ==>> 175 4130 ==>> 789 4137 ==>> 176 4142 ==>> 431 4143 ==>> 178 4145 ==>> 196 4146 ==>> 179 4147 ==>> 180 4148 ==>> 181 4151 ==>> 183 4154 ==>> 186 4155 ==>> 193 4156 ==>> 197 4157 ==>> 206 4160 ==>> 209 4162 ==>> 212 4165 ==>> 103 4174 ==>> 215 4182 ==>> 221 4184 ==>> 222 4186 ==>> 227 4188 ==>> 709 4214 ==>> 960 4248 ==>> 156 4249 ==>> 228 4252 ==>> 230 4253 ==>> 233 4254 ==>> 236 4259 ==>> 237 4260 ==>> 252 4263 ==>> 253 4264 ==>> 423 4277 ==>> 254 4279 ==>> 966 4280 ==>> 971 4283 ==>> 255 4285 ==>> 261 4286 ==>> 263 4287 ==>> 264 4288 ==>> 272 4296 ==>> 265 4297 ==>> 266 4304 ==>> 291 4305 ==>> 292 4307 ==>> 295 4309 ==>> 302 4311 ==>> 307 4337 ==>> 213 4375 ==>> 310 4376 ==>> 312 4377 ==>> 313 4378 ==>> 317 4379 ==>> 319 4381 ==>> 351 4382 ==>> 358 4383 ==>> 361 4384 ==>> 362 4386 ==>> 419 4387 ==>> 422 4393 ==>> 216 4430 ==>> 426 4436 ==>> 427 4437 ==>> 430 4438 ==>> 432 4440 ==>> 433 4442 ==>> 739 4449 ==>> 335 4493 ==>> 434 4508 ==>> 650 4518 ==>> 436 4520 ==>> 27 4533 ==>> 908 4534 ==>> 552 4537 ==>> 437 4538 ==>> 105 4546 ==>> 446 4547 ==>> 60 4549 ==>> 447 4564 ==>> 449 4566 ==>> 450 4567 ==>> 451 4571 ==>> 452 4572 ==>> 453 4573 ==>> 454 4574 ==>> 455 4576 ==>> 461 4577 ==>> 467 4578 ==>> 469 4579 ==>> 471 4580 ==>> 474 4581 ==>> 476 4582 ==>> 479 4583 ==>> 480 4584 ==>> 481 4588 ==>> 482 4590 ==>> 483 4595 ==>> 487 4597 ==>> 488 4598 ==>> 492 4599 ==>> 496 4601 ==>> 499 4603 ==>> 500 4604 ==>> 504 4606 ==>> 106 4614 ==>> 505 4615 ==>> 506 4618 ==>> 508 4619 ==>> 509 4620 ==>> 510 4621 ==>> 512 4625 ==>> 514 4628 ==>> 515 4629 ==>> 518 4632 ==>> 519 4633 ==>> 611 4669 ==>> 559 4670 ==>> 520 4671 ==>> 875 4672 ==>> 747 4673 ==>> 521 4674 ==>> 523 4675 ==>> 524 4676 ==>> 525 4677 ==>> 526 4679 ==>> 527 4680 ==>> 528 4681 ==>> 529 4690 ==>> 530 4694 ==>> 533 4695 ==>> 534 4696 ==>> 536 4697 ==>> 844 4699 ==>> 796 4735 ==>> 537 4736 ==>> 538 4742 ==>> 542 4743 ==>> 543 4744 ==>> 544 4745 ==>> 547 4746 ==>> 274 4748 ==>> 549 4756 ==>> 260 4785 ==>> 550 4787 ==>> 551 4789 ==>> 553 4812 ==>> 554 4813 ==>> 555 4817 ==>> 556 4818 ==>> 557 4824 ==>> 558 4826 ==>> 560 4827 ==>> 561 4828 ==>> 562 4829 ==>> 563 4833 ==>> 566 4834 ==>> 502 4847 ==>> 571 4848 ==>> 572 4849 ==>> 573 4850 ==>> 574 4852 ==>> 575 4853 ==>> 577 4855 ==>> 578 4870 ==>> 579 4872 ==>> 580 4874 ==>> 581 4875 ==>> 584 4877 ==>> 585 4879 ==>> 586 4880 ==>> 587 4890 ==>> 588 4891 ==>> 334 4893 ==>> 919 4894 ==>> 589 4895 ==>> 590 4896 ==>> 593 4902 ==>> 594 4905 ==>> 597 4906 ==>> 859 4947 ==>> 143 4950 ==>> 598 4951 ==>> 599 4952 ==>> 601 4953 ==>> 602 4956 ==>> 603 4962 ==>> 861 5003 ==>> 605 5004 ==>> 612 5006 ==>> 613 5007 ==>> 614 5008 ==>> 615 5009 ==>> 616 5012 ==>> 202 5018 ==>> 617 5019 ==>> 618 5021 ==>> 115 5029 ==>> 704 5058 ==>> 619 5059 ==>> 620 5060 ==>> 623 5085 ==>> 7 5086 ==>> 624 5089 ==>> 625 5090 ==>> 626 5093 ==>> 627 5097 ==>> 628 5099 ==>> 629 5101 ==>> 630 5102 ==>> 631 5103 ==>> 632 5108 ==>> 635 5109 ==>> 636 5110 ==>> 637 5111 ==>> 638 5112 ==>> 639 5114 ==>> 640 5115 ==>> 641 5116 ==>> 642 5133 ==>> 643 5134 ==>> 644 5135 ==>> 645 5138 ==>> 646 5139 ==>> 651 5141 ==>> 652 5142 ==>> 656 5145 ==>> 659 5146 ==>> 660 5147 ==>> 661 5148 ==>> 662 5151 ==>> 663 5155 ==>> 665 5156 ==>> 672 5157 ==>> 674 5159 ==>> 678 5162 ==>> 347 5210 ==>> 21 5220 ==>> 807 5225 ==>> 741 5259 ==>> 680 5260 ==>> 682 5269 ==>> 684 5270 ==>> 685 5271 ==>> 689 5272 ==>> 705 5275 ==>> 706 5276 ==>> 712 5277 ==>> 713 5278 ==>> 715 5279 ==>> 719 5280 ==>> 724 5294 ==>> 725 5295 ==>> 726 5296 ==>> 540 5309 ==>> 728 5311 ==>> 730 5312 ==>> 732 5313 ==>> 733 5315 ==>> 734 5316 ==>> 735 5317 ==>> 745 5318 ==>> 746 5320 ==>> 192 5333 ==>> 750 5335 ==>> 751 5336 ==>> 752 5337 ==>> 764 5338 ==>> 767 5340 ==>> 770 5341 ==>> 771 5352 ==>> 775 5353 ==>> 776 5355 ==>> 777 5356 ==>> 780 5357 ==>> 782 5358 ==>> 783 5359 ==>> 785 5360 ==>> 157 5366 ==>> 786 5367 ==>> 787 5371 ==>> 788 5374 ==>> 792 5375 ==>> 795 5377 ==>> 800 5378 ==>> 801 5379 ==>> 802 5380 ==>> 805 5381 ==>> 809 5382 ==>> 810 5383 ==>> 811 5384 ==>> 814 5388 ==>> 817 5390 ==>> 819 5392 ==>> 820 5399 ==>> 821 5400 ==>> 823 5401 ==>> 824 5402 ==>> 826 5403 ==>> 830 5404 ==>> 832 5405 ==>> 833 5408 ==>> 834 5409 ==>> 835 5410 ==>> 836 5416 ==>> 838 5417 ==>> 839 5419 ==>> 840 5420 ==>> 841 5421 ==>> 22 5425 ==>> 842 5427 ==>> 848 5429 ==>> 852 5430 ==>> 860 5431 ==>> 865 5432 ==>> 866 5446 ==>> 873 5447 ==>> 877 5449 ==>> 878 5450 ==>> 880 5451 ==>> 881 5452 ==>> 884 5453 ==>> 886 5454 ==>> 887 5455 ==>> 888 5456 ==>> 889 5457 ==>> 457 5470 ==>> 890 5471 ==>> 891 5477 ==>> 892 5480 ==>> 899 5481 ==>> 902 5482 ==>> 903 5483 ==>> 904 5486 ==>> 905 5487 ==>> 906 5488 ==>> 249 5489 ==>> 913 5491 ==>> 914 5508 ==>> 915 5509 ==>> 917 5510 ==>> 921 5515 ==>> 922 5516 ==>> 928 5517 ==>> 930 5518 ==>> 931 5519 ==>> 932 5520 ==>> 933 5521 ==>> 934 5525 ==>> 184 5538 ==>> 935 5544 ==>> 936 5555 ==>> 937 5558 ==>> 939 5559 ==>> 940 5560 ==>> 948 5561 ==>> 949 5564 ==>> 951 5565 ==>> 953 5566 ==>> 954 5568 ==>> 956 5569 ==>> 963 5570 ==>> 964 5576 ==>> 968 5577 ==>> 969 5578 ==>> 976 5579 ==>> 978 5580 ==>> 979 5581 ==>> 980 5583 ==>> 981 5584 ==>> 982 5585 ==>> 983 5588 ==>> 984 5589 ==>> 985 5593 ==>> 986 5595 ==>> 987 5596 ==>> 988 5597 ==>> 989 5598 ==>> 990 5599 ==>> 991 5600 ==>> 992 5601 ==>> 993 5603 ==>> 994 5610 ==>> 995 5611 ==>> 996 5612 ==>> 997 5613 ==>> 998 5614 ==>> 999 5615 ==>> 1000 5616 ==>> 1001 5619 ==>> 1002 5620 ==>> 1003 5621 ==>> 1004 5622 ==>> 1005 5623 ==>> 267 5631 ==>> 1006 5632 ==>> 1007 5637 ==>> 1008 5638 ==>> 1009 5640 ==>> 1010 5641 ==>> 1011 5642 ==>> 1012 5657 ==>> 45 5705 ==>> 1013 5706 ==>> 1014 5707 ==>> 1015 5710 ==>> 1016 5711 ==>> 1017 5712 ==>> 1018 5721 ==>> 1019 5726 ==>> 920 5774 ==>> 666 5775 ==>> 1020 5776 ==>> 1021 5777 ==>> 1022 5779 ==>> 1023 5780 ==>> 1024 5784 ==>> 1025 5789 ==>> 1026 5790 ==>> 1027 5791 ==>> 1028 5792 ==>> 1029 5793 ==>> 1030 5794 ==>> 1031 5795 ==>> 1032 5797 ==>> 1033 5798 ==>> 1034 5799 ==>> 1035 5800 ==>> 1036 5801 ==>> 1037 5804 ==>> 1038 5805 ==>> 1039 5806 ==>> 1040 5807 ==>> 1041 5808 ==>> 1042 5809 ==>> 1043 5811 ==>> 290 5859 ==>> 1044 5860 ==>> 1045 5861 ==>> 1046 5862 ==>> 1047 5863 ==>> 1048 5864 ==>> 1049 5865 ==>> 1050 5866 ==>> 1051 5869 ==>> 1052 5874 ==>> 1053 5875 ==>> 1054 5876 ==>> 1055 5877 ==>> 1056 5878 ==>> 1057 5881 ==>> 1058 5882 ==>> 1059 5883 ==>> 1060 5884 ==>> 1061 5885 ==>> 1062 5886 ==>> 1063 5887 ==>> 322 5895 ==>> 460 5903 ==>> 1064 5905 ==>> 1065 5907 ==>> 293 5956 ==>> 1066 5965 ==>> 1067 5974 ==>> 1068 5975 ==>> 1069 5976 ==>> 1070 5977 ==>> 466 5978 ==>> 1071 5986 ==>> 1072 5988 ==>> 1073 5989 ==>> 1074 5990 ==>> 1075 5991 ==>> 1076 5993 ==>> 1077 5994 ==>> 1078 5995 ==>> 1079 5996 ==>> 1080 5997 ==>> 1081 5998 ==>> 1082 5999 ==>> 1083 6001 ==>> 1084 6003 ==>> 305 6051 ==>> 189 6052 ==>> 1085 6053 ==>> 1086 6054 ==>> 1087 6055 ==>> 1088 6056 ==>> 1089 6058 ==>> 1090 6061 ==>> 1091 6066 ==>> 1092 6068 ==>> 1093 6069 ==>> 1094 6070 ==>> 1095 6071 ==>> 1096 6072 ==>> 1097 6073 ==>> 1098 6074 ==>> 1099 6075 ==>> 1100 6076 ==>> 1101 6077 ==>> 1102 6078 ==>> 1103 6079 ==>> 1104 6080 ==>> 1105 6081 ==>> 1106 6082 ==>> 1107 6083 ==>> 1108 6084 ==>> 1109 6085 ==>> 1110 6086 ==>> 517 6094 ==>> 1111 6095 ==>> 1112 6099 ==>> 1113 6101 ==>> 1114 6107 ==>> 1115 6110 ==>> 1116 6111 ==>> 1117 6112 ==>> 1118 6113 ==>> 1119 6116 ==>> 1120 6117 ==>> 1121 6118 ==>> 1122 6119 ==>> 1123 6120 ==>> 1124 6121 ==>> 1125 6122 ==>> 1126 6123 ==>> 1127 6124 ==>> 1128 6126 ==>> 468 6174 ==>> 501 6184 ==>> 1129 6189 ==>> 531 6237 ==>> 1130 6239 ==>> 1131 6241 ==>> 1132 6243 ==>> 1133 6244 ==>> 1134 6247 ==>> 1135 6252 ==>> 1136 6255 ==>> 1137 6256 ==>> 1138 6257 ==>> 1139 6258 ==>> 1140 6262 ==>> 1141 6263 ==>> 1142 6264 ==>> 1143 6265 ==>> 1144 6267 ==>> 1145 6269 ==>> 1146 6270 ==>> 1147 6272 ==>> 541 6280 ==>> 1148 6281 ==>> 1149 6283 ==>> 1150 6285 ==>> 532 6333 ==>> 1151 6334 ==>> 1152 6335 ==>> 1153 6336 ==>> 1154 6337 ==>> 1155 6338 ==>> 1156 6339 ==>> 1157 6340 ==>> 1158 6343 ==>> 1159 6348 ==>> 1160 6349 ==>> 1161 6350 ==>> 1162 6351 ==>> 1163 6352 ==>> 1164 6353 ==>> 1165 6354 ==>> 1166 6355 ==>> 1167 6356 ==>> 1168 6359 ==>> 1169 6360 ==>> 1170 6361 ==>> 1171 6362 ==>> 1172 6363 ==>> 1173 6365 ==>> 1174 6366 ==>> 1175 6367 ==>> 1176 6368 ==>> 1177 6370 ==>> 545 6379 ==>> 1178 6381 ==>> 649 6429 ==>> 1179 6430 ==>> 1180 6431 ==>> 1181 6432 ==>> 1182 6433 ==>> 1183 6434 ==>> 1184 6435 ==>> 1185 6436 ==>> 1186 6439 ==>> 1187 6444 ==>> 1188 6445 ==>> 1189 6446 ==>> 1190 6447 ==>> 1191 6448 ==>> 1192 6449 ==>> 1193 6450 ==>> 1194 6453 ==>> 1195 6454 ==>> 1196 6457 ==>> 1197 6458 ==>> 1198 6459 ==>> 1199 6460 ==>> 1200 6461 ==>> 1201 6463 ==>> 1202 6464 ==>> 1203 6465 ==>> 1204 6466 ==>> 1205 6468 ==>> 1206 6469 ==>> 1207 6470 ==>> 1208 6471 ==>> 1209 6472 ==>> 1210 6473 ==>> 1211 6475 ==>> 1212 6477 ==>> 654 6525 ==>> 1213 6526 ==>> 1214 6527 ==>> 1215 6528 ==>> 1216 6529 ==>> 1217 6530 ==>> 1218 6531 ==>> 1219 6551 ==>> 567 6559 ==>> 600 6573 ==>> 714 6657 ==>> 606 6669 ==>> 716 6765 ==>> 718 6839 ==>> 657 6847 ==>> 681 6861 ==>> 720 6945 ==>> 843 6957 ==>> 723 7053 ==>> 727 7127 ==>> 856 7135 ==>> 900 7149 ==>> 729 7233 ==>> 112 7245 ==>> 749 7326 ==>> 210 7341 ==>> 753 7437 ==>> 766 7485 ==>> 211 7500 ==>> 816 7578 ==>> 224 7596 ==>> 818 7671 ==>> 763 7692 ==>> 822 7788 ==>> 827 7884 ==>> 828 7980 ==>> 829 8076 ==>> 831 8172 ==>> 849 8268 ==>> 850 8331 ==>> 9 8364 ==>> 851 8460 ==>> 885 8556 ==>> 901 8619 ==>> 929 8715 ==>> 946 8778 ==>> 965 8859 ==>> 306 8872 ==>> 12 8935 ==>> 63 9025 ==>> 74 9068 ==>> 118 9105 ==>> 879 9112 ==>> 299 9146 ==>> 3 9249 ==>> 738 9314 ==>> 894 9348 ==>> 464 9382 ==>> 697 9451 ==>> 957 9563 ==>> 44 9644 ==>> 61 9728 ==>> 89 9791 ==>> 262 9854 ==>> 268 9917 ==>> 283 9980 ==>> 284 10043 ==>> 285 10105 ==>> 297 10196 ==>> 298 10259 ==>> 300 10322 ==>> 309 10385 ==>> 316 10448 ==>> 344 10511 ==>> 393 10574 ==>> 413 10637 ==>> 507 10700 ==>> 535 10763 ==>> 570 10833 ==>> 710 10896 ==>> 336 10981 ==>> 717 11044 ==>> 731 11107 ==>> 895 11170 ==>> 896 11233 ==>> 950 11296 ==>> 778 11357 ==>> 779 11398 ==>> 250 11465 ==>> 19 11499 ==>> 797 11521 ==>> 13 11562 ==>> 5 11695 ==>> 208 11743 ==>> 187 11809 ==>> 345 11867 ==>> 394 11922 ==>> 134 11925 ==>> 414 11979 ==>> 203 12017 ==>> 204 12096 ==>> 346 12168 ==>> 391 12222 ==>> 489 12225 ==>> 395 12279 ==>> 465 12317 ==>> 141 12396 ==>> 342 12468 ==>> 392 12516 ==>> 396 12557 ==>> 207 12564 ==>> 337 12649 ==>> 343 12696 ==>> 338 12793 ==>> 389 12850 ==>> 416 12852 ==>> 397 12893 ==>> 484 12929 ==>> 235 12985 ==>> 14 13004 ==>> 676 13085 ==>> 647 13159 ==>> 340 13207 ==>> 339 13281 ==>> 390 13322 ==>> 493 13327 ==>> 398 13369 ==>> 31 13425 ==>> 692 13438 ==>> 182 13474 ==>> 355 13522 ==>> 149 13617 ==>> 350 13696 ==>> 329 13739 ==>> 341 13784 ==>> 387 13829 ==>> 388 13874 ==>> 399 13915 ==>> 699 13919 ==>> 400 14010 ==>> 352 14089 ==>> 380 14130 ==>> 381 14171 ==>> 382 14212 ==>> 383 14253 ==>> 401 14294 ==>> 402 14335 ==>> 403 14376 ==>> 404 14417 ==>> 330 14457 ==>> 331 14497 ==>> 384 14537 ==>> 385 14577 ==>> 386 14617 ==>> 405 14657 ==>> 406 14697 ==>> 407 14737 ==>> 898 14772 ==>> 17 14780 ==>> 973 14908 ==>> 332 14947 ==>> 269 14992 ==>> 356 15068 ==>> 333 15111 ==>> 375 15150 ==>> 376 15189 ==>> 408 15228 ==>> 409 15267 ==>> 441 15268 ==>> 270 15359 ==>> 314 15402 ==>> 315 15490 ==>> 324 15560 ==>> 325 15598 ==>> 326 15636 ==>> 327 15674 ==>> 328 15712 ==>> 371 15750 ==>> 372 15788 ==>> 373 15826 ==>> 374 15864 ==>> 377 15902 ==>> 378 15940 ==>> 379 15978 ==>> 410 16016 ==>> 411 16054 ==>> 412 16092 ==>> 907 16130 ==>> 477 16131 ==>> 761 16195 ==>> 688 16231 ==>> 360 16335 ==>> 703 16346 ==>> 854 16415 ==>> 910 16480 ==>> 942 16517 ==>> 970 16557 ==>> 798 16574 ==>> 669 16610 ==>> 78 16693 ==>> 458 16713 ==>> 911 16744 ==>> 364 16771 ==>> 791 16865 ==>> 16 16931 ==>> 444 16998 ==>> 667 17039 ==>> 794 17104 ==>> 863 17140 ==>> 40 17208 ==>> 217 17221 ==>> 943 17241 ==>> 944 17272 ==>> 43 17293 ==>> 868 17367 ==>> 147 17402 ==>> 150 17437 ==>> 151 17507 ==>> 155 17531 ==>> 190 17550 ==>> 15 17582 ==>> 869 17660 ==>> 420 17711 ==>> 424 17733 ==>> 438 17746 ==>> 486 17816 ==>> 576 17829 ==>> 677 17842 ==>> 691 17914 ==>> 862 17927 ==>> 872 17940 ==>> 323 17995 ==>> 463 18009 ==>> 4 18063 ==>> 79 18088 ==>> 359 18099 ==>> 478 18114 ==>> 698 18127 ==>> 238 18150 ==>> 220 18165 ==>> 522 18183 ==>> 240 18201 ==>> 686