input grammar: foobar.y
NULL
0 $accept → Goal $end 1 Goal → CompilationUnit 2 Literal → IntegerLiteral 3 | FloatingPointLiteral 4 | BooleanLiteral 5 | CharacterLiteral 6 | StringLiteral 7 | NullLiteral 8 Type → PrimitiveType 9 | ReferenceType 10 PrimitiveType → NumericType 11 | BOOLEAN 12 NumericType → IntegralType 13 | FloatingPointType 14 IntegralType → BYTE 15 | SHORT 16 | INT 17 | LONG 18 | CHAR 19 FloatingPointType → FLOAT 20 | DOUBLE 21 ReferenceType → ClassOrInterfaceType 22 | ArrayType 23 ClassOrInterfaceType → Name 24 ClassType → ClassOrInterfaceType 25 InterfaceType → ClassOrInterfaceType 26 ArrayType → PrimitiveType '[' ']' 27 | Name '[' ']' 28 | ArrayType '[' ']' 29 Name → SimpleName 30 | QualifiedName 31 SimpleName → Identifier 32 QualifiedName → Name '.' Identifier 33 CompilationUnit → PackageDeclaration ImportDeclarations TypeDeclarations 34 | PackageDeclaration ImportDeclarations 35 | PackageDeclaration TypeDeclarations 36 | PackageDeclaration 37 | ImportDeclarations TypeDeclarations 38 | ImportDeclarations 39 | TypeDeclarations 40 | %empty 41 ImportDeclarations → ImportDeclaration 42 | ImportDeclarations ImportDeclaration 43 TypeDeclarations → TypeDeclaration 44 | TypeDeclarations TypeDeclaration 45 PackageDeclaration → PACKAGE Name ';' 46 ImportDeclaration → SingleTypeImportDeclaration 47 | TypeImportOnDemandDeclaration 48 SingleTypeImportDeclaration → IMPORT Name ';' 49 TypeImportOnDemandDeclaration → IMPORT Name '.' '*' ';' 50 TypeDeclaration → ClassDeclaration 51 | InterfaceDeclaration 52 | ';' 53 Modifiers → Modifier 54 | Modifiers Modifier 55 Modifier → PUBLIC 56 | PROTECTED 57 | PRIVATE 58 | STATIC 59 | ABSTRACT 60 | FINAL 61 | NATIVE 62 | SYNCHRONIZED 63 | TRANSIENT 64 | VOLATILE 65 ClassDeclaration → Modifiers CLASS Identifier Super Interfaces ClassBody 66 | Modifiers CLASS Identifier Super ClassBody 67 | Modifiers CLASS Identifier Interfaces ClassBody 68 | Modifiers CLASS Identifier ClassBody 69 | CLASS Identifier Super Interfaces ClassBody 70 | CLASS Identifier Super ClassBody 71 | CLASS Identifier Interfaces ClassBody 72 | CLASS Identifier ClassBody 73 Super → EXTENDS ClassType 74 Interfaces → IMPLEMENTS InterfaceTypeList 75 InterfaceTypeList → InterfaceType 76 | InterfaceTypeList ',' InterfaceType 77 ClassBody → '{' ClassBodyDeclarations '}' 78 | '{' '}' 79 ClassBodyDeclarations → ClassBodyDeclaration 80 | ClassBodyDeclarations ClassBodyDeclaration 81 ClassBodyDeclaration → ClassMemberDeclaration 82 | StaticInitializer 83 | ConstructorDeclaration 84 ClassMemberDeclaration → FieldDeclaration 85 | MethodDeclaration 86 FieldDeclaration → Modifiers Type VariableDeclarators ';' 87 | Type VariableDeclarators ';' 88 VariableDeclarators → VariableDeclarator 89 | VariableDeclarators ',' VariableDeclarator 90 VariableDeclarator → VariableDeclaratorId 91 | VariableDeclaratorId '=' VariableInitializer 92 VariableDeclaratorId → Identifier 93 | VariableDeclaratorId '[' ']' 94 VariableInitializer → Expression 95 | ArrayInitializer 96 MethodDeclaration → MethodHeader MethodBody 97 MethodHeader → Modifiers Type MethodDeclarator Throws 98 | Modifiers Type MethodDeclarator 99 | Type MethodDeclarator Throws 100 | Type MethodDeclarator 101 | Modifiers VOID MethodDeclarator Throws 102 | Modifiers VOID MethodDeclarator 103 | VOID MethodDeclarator Throws 104 | VOID MethodDeclarator 105 MethodDeclarator → Identifier '(' FormalParameterList ')' 106 | Identifier '(' ')' 107 | MethodDeclarator '[' ']' 108 FormalParameterList → FormalParameter 109 | FormalParameterList ',' FormalParameter 110 FormalParameter → Type VariableDeclaratorId 111 Throws → THROWS ClassTypeList 112 ClassTypeList → ClassType 113 | ClassTypeList ',' ClassType 114 MethodBody → Block 115 | ';' 116 StaticInitializer → STATIC Block 117 ConstructorDeclaration → Modifiers ConstructorDeclarator Throws ConstructorBody 118 | Modifiers ConstructorDeclarator ConstructorBody 119 | ConstructorDeclarator Throws ConstructorBody 120 | ConstructorDeclarator ConstructorBody 121 ConstructorDeclarator → SimpleName '(' FormalParameterList ')' 122 | SimpleName '(' ')' 123 ConstructorBody → '{' ExplicitConstructorInvocation BlockStatements '}' 124 | '{' ExplicitConstructorInvocation '}' 125 | '{' BlockStatements '}' 126 | '{' '}' 127 ExplicitConstructorInvocation → THIS '(' ArgumentList ')' ';' 128 | THIS '(' ')' ';' 129 | SUPER '(' ArgumentList ')' ';' 130 | SUPER '(' ')' ';' 131 InterfaceDeclaration → Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | Modifiers INTERFACE Identifier InterfaceBody 133 | INTERFACE Identifier ExtendsInterfaces InterfaceBody 134 | INTERFACE Identifier InterfaceBody 135 ExtendsInterfaces → EXTENDS InterfaceType 136 | ExtendsInterfaces ',' InterfaceType 137 InterfaceBody → '{' InterfaceMemberDeclarations '}' 138 | '{' '}' 139 InterfaceMemberDeclarations → InterfaceMemberDeclaration 140 | InterfaceMemberDeclarations InterfaceMemberDeclaration 141 InterfaceMemberDeclaration → ConstantDeclaration 142 | AbstractMethodDeclaration 143 ConstantDeclaration → FieldDeclaration 144 AbstractMethodDeclaration → MethodHeader ';' 145 ArrayInitializer → '{' VariableInitializers ',' '}' 146 | '{' VariableInitializers '}' 147 | '{' ',' '}' 148 | '{' '}' 149 VariableInitializers → VariableInitializer 150 | VariableInitializers ',' VariableInitializer 151 Block → '{' BlockStatements '}' 152 | '{' '}' 153 BlockStatements → BlockStatement 154 | BlockStatements BlockStatement 155 BlockStatement → LocalVariableDeclarationStatement 156 | Statement 157 LocalVariableDeclarationStatement → LocalVariableDeclaration ';' 158 LocalVariableDeclaration → Type VariableDeclarators 159 Statement → StatementWithoutTrailingSubstatement 160 | LabeledStatement 161 | IfThenStatement 162 | IfThenElseStatement 163 | WhileStatement 164 | ForStatement 165 StatementNoShortIf → StatementWithoutTrailingSubstatement 166 | LabeledStatementNoShortIf 167 | IfThenElseStatementNoShortIf 168 | WhileStatementNoShortIf 169 | ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → Block 171 | EmptyStatement 172 | ExpressionStatement 173 | SwitchStatement 174 | DoStatement 175 | BreakStatement 176 | ContinueStatement 177 | ReturnStatement 178 | SynchronizedStatement 179 | ThrowStatement 180 | TryStatement 181 EmptyStatement → ';' 182 LabeledStatement → Identifier ':' Statement 183 LabeledStatementNoShortIf → Identifier ':' StatementNoShortIf 184 ExpressionStatement → StatementExpression ';' 185 StatementExpression → Assignment 186 | PreIncrementExpression 187 | PreDecrementExpression 188 | PostIncrementExpression 189 | PostDecrementExpression 190 | MethodInvocation 191 | ClassInstanceCreationExpression 192 IfThenStatement → IF '(' Expression ')' Statement 193 IfThenElseStatement → IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → SWITCH '(' Expression ')' SwitchBlock 196 SwitchBlock → '{' SwitchBlockStatementGroups SwitchLabels '}' 197 | '{' SwitchLabels '}' 198 | '{' SwitchBlockStatementGroups '}' 199 | '{' '}' 200 SwitchBlockStatementGroups → SwitchBlockStatementGroup 201 | SwitchBlockStatementGroups SwitchBlockStatementGroup 202 SwitchBlockStatementGroup → SwitchLabels BlockStatements 203 SwitchLabels → SwitchLabel 204 | SwitchLabels SwitchLabel 205 SwitchLabel → CASE ConstantExpression ':' 206 | DEFAULT ':' 207 WhileStatement → WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | FOR '(' ForInit ';' Expression ';' ')' Statement 212 | FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | FOR '(' ForInit ';' ';' ')' Statement 214 | FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | FOR '(' ';' Expression ';' ')' Statement 216 | FOR '(' ';' ';' ForUpdate ')' Statement 217 | FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | FOR '(' ';' ';' ')' StatementNoShortIf 226 ForInit → StatementExpressionList 227 | LocalVariableDeclaration 228 ForUpdate → StatementExpressionList 229 StatementExpressionList → StatementExpression 230 | StatementExpressionList ',' StatementExpression 231 BreakStatement → BREAK Identifier ';' 232 | BREAK ';' 233 ContinueStatement → CONTINUE Identifier ';' 234 | CONTINUE ';' 235 ReturnStatement → RETURN Expression ';' 236 | RETURN ';' 237 ThrowStatement → THROW Expression ';' 238 SynchronizedStatement → SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → TRY Block Catches 240 | TRY Block Catches Finally 241 | TRY Block Finally 242 Catches → CatchClause 243 | Catches CatchClause 244 CatchClause → CATCH '(' FormalParameter ')' Block 245 Finally → FINALLY Block 246 Primary → PrimaryNoNewArray 247 | ArrayCreationExpression 248 PrimaryNoNewArray → Literal 249 | THIS 250 | '(' Expression ')' 251 | ClassInstanceCreationExpression 252 | FieldAccess 253 | MethodInvocation 254 | ArrayAccess 255 ClassInstanceCreationExpression → NEW ClassType '(' ArgumentList ')' 256 | NEW ClassType '(' ')' 257 ArgumentList → Expression 258 | ArgumentList ',' Expression 259 ArrayCreationExpression → NEW PrimitiveType DimExprs Dims 260 | NEW PrimitiveType DimExprs 261 | NEW ClassOrInterfaceType DimExprs Dims 262 | NEW ClassOrInterfaceType DimExprs 263 DimExprs → DimExpr 264 | DimExprs DimExpr 265 DimExpr → '[' Expression ']' 266 Dims → '[' ']' 267 | Dims '[' ']' 268 FieldAccess → Primary '.' Identifier 269 | SUPER '.' Identifier 270 MethodInvocation → Name '(' ArgumentList ')' 271 | Name '(' ')' 272 | Primary '.' Identifier '(' ArgumentList ')' 273 | Primary '.' Identifier '(' ')' 274 | SUPER '.' Identifier '(' ArgumentList ')' 275 | SUPER '.' Identifier '(' ')' 276 ArrayAccess → Name '[' Expression ']' 277 | PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → Primary 279 | Name 280 | PostIncrementExpression 281 | PostDecrementExpression 282 PostIncrementExpression → PostfixExpression PLUSPLUS 283 PostDecrementExpression → PostfixExpression MINUSMINUS 284 UnaryExpression → PreIncrementExpression 285 | PreDecrementExpression 286 | '+' UnaryExpression 287 | '-' UnaryExpression 288 | UnaryExpressionNotPlusMinus 289 PreIncrementExpression → PLUSPLUS UnaryExpression 290 PreDecrementExpression → MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → PostfixExpression 292 | '~' UnaryExpression 293 | '!' UnaryExpression 294 | CastExpression 295 CastExpression → '(' PrimitiveType Dims ')' UnaryExpression 296 | '(' PrimitiveType ')' UnaryExpression 297 | '(' Expression ')' UnaryExpressionNotPlusMinus 298 | '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → UnaryExpression 300 | MultiplicativeExpression '*' UnaryExpression 301 | MultiplicativeExpression '/' UnaryExpression 302 | MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → MultiplicativeExpression 304 | AdditiveExpression '+' MultiplicativeExpression 305 | AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → AdditiveExpression 307 | ShiftExpression LTLT AdditiveExpression 308 | ShiftExpression GTGT AdditiveExpression 309 | ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → ShiftExpression 311 | RelationalExpression '<' ShiftExpression 312 | RelationalExpression '>' ShiftExpression 313 | RelationalExpression LTEQ ShiftExpression 314 | RelationalExpression GTEQ ShiftExpression 315 | RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → RelationalExpression 317 | EqualityExpression EQEQ RelationalExpression 318 | EqualityExpression BANGEQ RelationalExpression 319 AndExpression → EqualityExpression 320 | AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → AndExpression 322 | ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → ExclusiveOrExpression 324 | InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → InclusiveOrExpression 326 | ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → ConditionalAndExpression 328 | ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → ConditionalOrExpression 330 | ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → ConditionalExpression 332 | Assignment 333 Assignment → LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → Name 335 | FieldAccess 336 | ArrayAccess 337 AssignmentOperator → '=' 338 | TIMESEQ 339 | DIVEQ 340 | MODEQ 341 | PLUSEQ 342 | MINUSEQ 343 | LTLTEQ 344 | GTGTEQ 345 | GTGTGTEQ 346 | ANDEQ 347 | XOREQ 348 | OREQ 349 Expression → AssignmentExpression 350 ConstantExpression → Expression
0 $accept → • Goal $end 1 Goal → • CompilationUnit 33 CompilationUnit → • PackageDeclaration ImportDeclarations TypeDeclarations 34 | • PackageDeclaration ImportDeclarations 35 | • PackageDeclaration TypeDeclarations 36 | • PackageDeclaration 37 | • ImportDeclarations TypeDeclarations 38 | • ImportDeclarations 39 | • TypeDeclarations 40 | • %empty [$end] 41 ImportDeclarations → • ImportDeclaration 42 | • ImportDeclarations ImportDeclaration 43 TypeDeclarations → • TypeDeclaration 44 | • TypeDeclarations TypeDeclaration 45 PackageDeclaration → • PACKAGE Name ';' 46 ImportDeclaration → • SingleTypeImportDeclaration 47 | • TypeImportOnDemandDeclaration 48 SingleTypeImportDeclaration → • IMPORT Name ';' 49 TypeImportOnDemandDeclaration → • IMPORT Name '.' '*' ';' 50 TypeDeclaration → • ClassDeclaration 51 | • InterfaceDeclaration 52 | • ';' 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 65 ClassDeclaration → • Modifiers CLASS Identifier Super Interfaces ClassBody 66 | • Modifiers CLASS Identifier Super ClassBody 67 | • Modifiers CLASS Identifier Interfaces ClassBody 68 | • Modifiers CLASS Identifier ClassBody 69 | • CLASS Identifier Super Interfaces ClassBody 70 | • CLASS Identifier Super ClassBody 71 | • CLASS Identifier Interfaces ClassBody 72 | • CLASS Identifier ClassBody 131 InterfaceDeclaration → • Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | • Modifiers INTERFACE Identifier InterfaceBody 133 | • INTERFACE Identifier ExtendsInterfaces InterfaceBody 134 | • INTERFACE Identifier InterfaceBody PACKAGE shift, and go to state 1 IMPORT shift, and go to state 2 CLASS shift, and go to state 3 INTERFACE shift, and go to state 4 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 ';' shift, and go to state 15 $end reduce using rule 40 (CompilationUnit) Goal go to state 16 CompilationUnit go to state 17 ImportDeclarations go to state 18 TypeDeclarations go to state 19 PackageDeclaration go to state 20 ImportDeclaration go to state 21 SingleTypeImportDeclaration go to state 22 TypeImportOnDemandDeclaration go to state 23 TypeDeclaration go to state 24 Modifiers go to state 25 Modifier go to state 26 ClassDeclaration go to state 27 InterfaceDeclaration go to state 28
29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 45 PackageDeclaration → PACKAGE • Name ';' Identifier shift, and go to state 29 Name go to state 30 SimpleName go to state 31 QualifiedName go to state 32
29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 48 SingleTypeImportDeclaration → IMPORT • Name ';' 49 TypeImportOnDemandDeclaration → IMPORT • Name '.' '*' ';' Identifier shift, and go to state 29 Name go to state 33 SimpleName go to state 31 QualifiedName go to state 32
69 ClassDeclaration → CLASS • Identifier Super Interfaces ClassBody 70 | CLASS • Identifier Super ClassBody 71 | CLASS • Identifier Interfaces ClassBody 72 | CLASS • Identifier ClassBody Identifier shift, and go to state 34
133 InterfaceDeclaration → INTERFACE • Identifier ExtendsInterfaces InterfaceBody 134 | INTERFACE • Identifier InterfaceBody Identifier shift, and go to state 35
55 Modifier → PUBLIC • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 55 (Modifier) BOOLEAN reduce using rule 55 (Modifier) BYTE reduce using rule 55 (Modifier) SHORT reduce using rule 55 (Modifier) INT reduce using rule 55 (Modifier) LONG reduce using rule 55 (Modifier) CHAR reduce using rule 55 (Modifier) FLOAT reduce using rule 55 (Modifier) DOUBLE reduce using rule 55 (Modifier) CLASS reduce using rule 55 (Modifier) INTERFACE reduce using rule 55 (Modifier) PUBLIC reduce using rule 55 (Modifier) PROTECTED reduce using rule 55 (Modifier) PRIVATE reduce using rule 55 (Modifier) STATIC reduce using rule 55 (Modifier) ABSTRACT reduce using rule 55 (Modifier) FINAL reduce using rule 55 (Modifier) NATIVE reduce using rule 55 (Modifier) SYNCHRONIZED reduce using rule 55 (Modifier) TRANSIENT reduce using rule 55 (Modifier) VOLATILE reduce using rule 55 (Modifier) VOID reduce using rule 55 (Modifier)
56 Modifier → PROTECTED • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 56 (Modifier) BOOLEAN reduce using rule 56 (Modifier) BYTE reduce using rule 56 (Modifier) SHORT reduce using rule 56 (Modifier) INT reduce using rule 56 (Modifier) LONG reduce using rule 56 (Modifier) CHAR reduce using rule 56 (Modifier) FLOAT reduce using rule 56 (Modifier) DOUBLE reduce using rule 56 (Modifier) CLASS reduce using rule 56 (Modifier) INTERFACE reduce using rule 56 (Modifier) PUBLIC reduce using rule 56 (Modifier) PROTECTED reduce using rule 56 (Modifier) PRIVATE reduce using rule 56 (Modifier) STATIC reduce using rule 56 (Modifier) ABSTRACT reduce using rule 56 (Modifier) FINAL reduce using rule 56 (Modifier) NATIVE reduce using rule 56 (Modifier) SYNCHRONIZED reduce using rule 56 (Modifier) TRANSIENT reduce using rule 56 (Modifier) VOLATILE reduce using rule 56 (Modifier) VOID reduce using rule 56 (Modifier)
57 Modifier → PRIVATE • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 57 (Modifier) BOOLEAN reduce using rule 57 (Modifier) BYTE reduce using rule 57 (Modifier) SHORT reduce using rule 57 (Modifier) INT reduce using rule 57 (Modifier) LONG reduce using rule 57 (Modifier) CHAR reduce using rule 57 (Modifier) FLOAT reduce using rule 57 (Modifier) DOUBLE reduce using rule 57 (Modifier) CLASS reduce using rule 57 (Modifier) INTERFACE reduce using rule 57 (Modifier) PUBLIC reduce using rule 57 (Modifier) PROTECTED reduce using rule 57 (Modifier) PRIVATE reduce using rule 57 (Modifier) STATIC reduce using rule 57 (Modifier) ABSTRACT reduce using rule 57 (Modifier) FINAL reduce using rule 57 (Modifier) NATIVE reduce using rule 57 (Modifier) SYNCHRONIZED reduce using rule 57 (Modifier) TRANSIENT reduce using rule 57 (Modifier) VOLATILE reduce using rule 57 (Modifier) VOID reduce using rule 57 (Modifier)
58 Modifier → STATIC • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 58 (Modifier) BOOLEAN reduce using rule 58 (Modifier) BYTE reduce using rule 58 (Modifier) SHORT reduce using rule 58 (Modifier) INT reduce using rule 58 (Modifier) LONG reduce using rule 58 (Modifier) CHAR reduce using rule 58 (Modifier) FLOAT reduce using rule 58 (Modifier) DOUBLE reduce using rule 58 (Modifier) CLASS reduce using rule 58 (Modifier) INTERFACE reduce using rule 58 (Modifier) PUBLIC reduce using rule 58 (Modifier) PROTECTED reduce using rule 58 (Modifier) PRIVATE reduce using rule 58 (Modifier) STATIC reduce using rule 58 (Modifier) ABSTRACT reduce using rule 58 (Modifier) FINAL reduce using rule 58 (Modifier) NATIVE reduce using rule 58 (Modifier) SYNCHRONIZED reduce using rule 58 (Modifier) TRANSIENT reduce using rule 58 (Modifier) VOLATILE reduce using rule 58 (Modifier) VOID reduce using rule 58 (Modifier)
59 Modifier → ABSTRACT • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 59 (Modifier) BOOLEAN reduce using rule 59 (Modifier) BYTE reduce using rule 59 (Modifier) SHORT reduce using rule 59 (Modifier) INT reduce using rule 59 (Modifier) LONG reduce using rule 59 (Modifier) CHAR reduce using rule 59 (Modifier) FLOAT reduce using rule 59 (Modifier) DOUBLE reduce using rule 59 (Modifier) CLASS reduce using rule 59 (Modifier) INTERFACE reduce using rule 59 (Modifier) PUBLIC reduce using rule 59 (Modifier) PROTECTED reduce using rule 59 (Modifier) PRIVATE reduce using rule 59 (Modifier) STATIC reduce using rule 59 (Modifier) ABSTRACT reduce using rule 59 (Modifier) FINAL reduce using rule 59 (Modifier) NATIVE reduce using rule 59 (Modifier) SYNCHRONIZED reduce using rule 59 (Modifier) TRANSIENT reduce using rule 59 (Modifier) VOLATILE reduce using rule 59 (Modifier) VOID reduce using rule 59 (Modifier)
60 Modifier → FINAL • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 60 (Modifier) BOOLEAN reduce using rule 60 (Modifier) BYTE reduce using rule 60 (Modifier) SHORT reduce using rule 60 (Modifier) INT reduce using rule 60 (Modifier) LONG reduce using rule 60 (Modifier) CHAR reduce using rule 60 (Modifier) FLOAT reduce using rule 60 (Modifier) DOUBLE reduce using rule 60 (Modifier) CLASS reduce using rule 60 (Modifier) INTERFACE reduce using rule 60 (Modifier) PUBLIC reduce using rule 60 (Modifier) PROTECTED reduce using rule 60 (Modifier) PRIVATE reduce using rule 60 (Modifier) STATIC reduce using rule 60 (Modifier) ABSTRACT reduce using rule 60 (Modifier) FINAL reduce using rule 60 (Modifier) NATIVE reduce using rule 60 (Modifier) SYNCHRONIZED reduce using rule 60 (Modifier) TRANSIENT reduce using rule 60 (Modifier) VOLATILE reduce using rule 60 (Modifier) VOID reduce using rule 60 (Modifier)
61 Modifier → NATIVE • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 61 (Modifier) BOOLEAN reduce using rule 61 (Modifier) BYTE reduce using rule 61 (Modifier) SHORT reduce using rule 61 (Modifier) INT reduce using rule 61 (Modifier) LONG reduce using rule 61 (Modifier) CHAR reduce using rule 61 (Modifier) FLOAT reduce using rule 61 (Modifier) DOUBLE reduce using rule 61 (Modifier) CLASS reduce using rule 61 (Modifier) INTERFACE reduce using rule 61 (Modifier) PUBLIC reduce using rule 61 (Modifier) PROTECTED reduce using rule 61 (Modifier) PRIVATE reduce using rule 61 (Modifier) STATIC reduce using rule 61 (Modifier) ABSTRACT reduce using rule 61 (Modifier) FINAL reduce using rule 61 (Modifier) NATIVE reduce using rule 61 (Modifier) SYNCHRONIZED reduce using rule 61 (Modifier) TRANSIENT reduce using rule 61 (Modifier) VOLATILE reduce using rule 61 (Modifier) VOID reduce using rule 61 (Modifier)
62 Modifier → SYNCHRONIZED • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 62 (Modifier) BOOLEAN reduce using rule 62 (Modifier) BYTE reduce using rule 62 (Modifier) SHORT reduce using rule 62 (Modifier) INT reduce using rule 62 (Modifier) LONG reduce using rule 62 (Modifier) CHAR reduce using rule 62 (Modifier) FLOAT reduce using rule 62 (Modifier) DOUBLE reduce using rule 62 (Modifier) CLASS reduce using rule 62 (Modifier) INTERFACE reduce using rule 62 (Modifier) PUBLIC reduce using rule 62 (Modifier) PROTECTED reduce using rule 62 (Modifier) PRIVATE reduce using rule 62 (Modifier) STATIC reduce using rule 62 (Modifier) ABSTRACT reduce using rule 62 (Modifier) FINAL reduce using rule 62 (Modifier) NATIVE reduce using rule 62 (Modifier) SYNCHRONIZED reduce using rule 62 (Modifier) TRANSIENT reduce using rule 62 (Modifier) VOLATILE reduce using rule 62 (Modifier) VOID reduce using rule 62 (Modifier)
63 Modifier → TRANSIENT • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 63 (Modifier) BOOLEAN reduce using rule 63 (Modifier) BYTE reduce using rule 63 (Modifier) SHORT reduce using rule 63 (Modifier) INT reduce using rule 63 (Modifier) LONG reduce using rule 63 (Modifier) CHAR reduce using rule 63 (Modifier) FLOAT reduce using rule 63 (Modifier) DOUBLE reduce using rule 63 (Modifier) CLASS reduce using rule 63 (Modifier) INTERFACE reduce using rule 63 (Modifier) PUBLIC reduce using rule 63 (Modifier) PROTECTED reduce using rule 63 (Modifier) PRIVATE reduce using rule 63 (Modifier) STATIC reduce using rule 63 (Modifier) ABSTRACT reduce using rule 63 (Modifier) FINAL reduce using rule 63 (Modifier) NATIVE reduce using rule 63 (Modifier) SYNCHRONIZED reduce using rule 63 (Modifier) TRANSIENT reduce using rule 63 (Modifier) VOLATILE reduce using rule 63 (Modifier) VOID reduce using rule 63 (Modifier)
64 Modifier → VOLATILE • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 64 (Modifier) BOOLEAN reduce using rule 64 (Modifier) BYTE reduce using rule 64 (Modifier) SHORT reduce using rule 64 (Modifier) INT reduce using rule 64 (Modifier) LONG reduce using rule 64 (Modifier) CHAR reduce using rule 64 (Modifier) FLOAT reduce using rule 64 (Modifier) DOUBLE reduce using rule 64 (Modifier) CLASS reduce using rule 64 (Modifier) INTERFACE reduce using rule 64 (Modifier) PUBLIC reduce using rule 64 (Modifier) PROTECTED reduce using rule 64 (Modifier) PRIVATE reduce using rule 64 (Modifier) STATIC reduce using rule 64 (Modifier) ABSTRACT reduce using rule 64 (Modifier) FINAL reduce using rule 64 (Modifier) NATIVE reduce using rule 64 (Modifier) SYNCHRONIZED reduce using rule 64 (Modifier) TRANSIENT reduce using rule 64 (Modifier) VOLATILE reduce using rule 64 (Modifier) VOID reduce using rule 64 (Modifier)
52 TypeDeclaration → ';' • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 52 (TypeDeclaration) CLASS reduce using rule 52 (TypeDeclaration) INTERFACE reduce using rule 52 (TypeDeclaration) PUBLIC reduce using rule 52 (TypeDeclaration) PROTECTED reduce using rule 52 (TypeDeclaration) PRIVATE reduce using rule 52 (TypeDeclaration) STATIC reduce using rule 52 (TypeDeclaration) ABSTRACT reduce using rule 52 (TypeDeclaration) FINAL reduce using rule 52 (TypeDeclaration) NATIVE reduce using rule 52 (TypeDeclaration) SYNCHRONIZED reduce using rule 52 (TypeDeclaration) TRANSIENT reduce using rule 52 (TypeDeclaration) VOLATILE reduce using rule 52 (TypeDeclaration) ';' reduce using rule 52 (TypeDeclaration)
0 $accept → Goal • $end $end shift, and go to state 36
1 Goal → CompilationUnit • [$end] $end reduce using rule 1 (Goal)
37 CompilationUnit → ImportDeclarations • TypeDeclarations 38 | ImportDeclarations • [$end] 42 ImportDeclarations → ImportDeclarations • ImportDeclaration 43 TypeDeclarations → • TypeDeclaration 44 | • TypeDeclarations TypeDeclaration 46 ImportDeclaration → • SingleTypeImportDeclaration 47 | • TypeImportOnDemandDeclaration 48 SingleTypeImportDeclaration → • IMPORT Name ';' 49 TypeImportOnDemandDeclaration → • IMPORT Name '.' '*' ';' 50 TypeDeclaration → • ClassDeclaration 51 | • InterfaceDeclaration 52 | • ';' 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 65 ClassDeclaration → • Modifiers CLASS Identifier Super Interfaces ClassBody 66 | • Modifiers CLASS Identifier Super ClassBody 67 | • Modifiers CLASS Identifier Interfaces ClassBody 68 | • Modifiers CLASS Identifier ClassBody 69 | • CLASS Identifier Super Interfaces ClassBody 70 | • CLASS Identifier Super ClassBody 71 | • CLASS Identifier Interfaces ClassBody 72 | • CLASS Identifier ClassBody 131 InterfaceDeclaration → • Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | • Modifiers INTERFACE Identifier InterfaceBody 133 | • INTERFACE Identifier ExtendsInterfaces InterfaceBody 134 | • INTERFACE Identifier InterfaceBody IMPORT shift, and go to state 2 CLASS shift, and go to state 3 INTERFACE shift, and go to state 4 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 ';' shift, and go to state 15 $end reduce using rule 38 (CompilationUnit) TypeDeclarations go to state 37 ImportDeclaration go to state 38 SingleTypeImportDeclaration go to state 22 TypeImportOnDemandDeclaration go to state 23 TypeDeclaration go to state 24 Modifiers go to state 25 Modifier go to state 26 ClassDeclaration go to state 27 InterfaceDeclaration go to state 28
39 CompilationUnit → TypeDeclarations • [$end] 44 TypeDeclarations → TypeDeclarations • TypeDeclaration 50 TypeDeclaration → • ClassDeclaration 51 | • InterfaceDeclaration 52 | • ';' 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 65 ClassDeclaration → • Modifiers CLASS Identifier Super Interfaces ClassBody 66 | • Modifiers CLASS Identifier Super ClassBody 67 | • Modifiers CLASS Identifier Interfaces ClassBody 68 | • Modifiers CLASS Identifier ClassBody 69 | • CLASS Identifier Super Interfaces ClassBody 70 | • CLASS Identifier Super ClassBody 71 | • CLASS Identifier Interfaces ClassBody 72 | • CLASS Identifier ClassBody 131 InterfaceDeclaration → • Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | • Modifiers INTERFACE Identifier InterfaceBody 133 | • INTERFACE Identifier ExtendsInterfaces InterfaceBody 134 | • INTERFACE Identifier InterfaceBody CLASS shift, and go to state 3 INTERFACE shift, and go to state 4 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 ';' shift, and go to state 15 $end reduce using rule 39 (CompilationUnit) TypeDeclaration go to state 39 Modifiers go to state 25 Modifier go to state 26 ClassDeclaration go to state 27 InterfaceDeclaration go to state 28
33 CompilationUnit → PackageDeclaration • ImportDeclarations TypeDeclarations 34 | PackageDeclaration • ImportDeclarations 35 | PackageDeclaration • TypeDeclarations 36 | PackageDeclaration • [$end] 41 ImportDeclarations → • ImportDeclaration 42 | • ImportDeclarations ImportDeclaration 43 TypeDeclarations → • TypeDeclaration 44 | • TypeDeclarations TypeDeclaration 46 ImportDeclaration → • SingleTypeImportDeclaration 47 | • TypeImportOnDemandDeclaration 48 SingleTypeImportDeclaration → • IMPORT Name ';' 49 TypeImportOnDemandDeclaration → • IMPORT Name '.' '*' ';' 50 TypeDeclaration → • ClassDeclaration 51 | • InterfaceDeclaration 52 | • ';' 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 65 ClassDeclaration → • Modifiers CLASS Identifier Super Interfaces ClassBody 66 | • Modifiers CLASS Identifier Super ClassBody 67 | • Modifiers CLASS Identifier Interfaces ClassBody 68 | • Modifiers CLASS Identifier ClassBody 69 | • CLASS Identifier Super Interfaces ClassBody 70 | • CLASS Identifier Super ClassBody 71 | • CLASS Identifier Interfaces ClassBody 72 | • CLASS Identifier ClassBody 131 InterfaceDeclaration → • Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | • Modifiers INTERFACE Identifier InterfaceBody 133 | • INTERFACE Identifier ExtendsInterfaces InterfaceBody 134 | • INTERFACE Identifier InterfaceBody IMPORT shift, and go to state 2 CLASS shift, and go to state 3 INTERFACE shift, and go to state 4 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 ';' shift, and go to state 15 $end reduce using rule 36 (CompilationUnit) ImportDeclarations go to state 40 TypeDeclarations go to state 41 ImportDeclaration go to state 21 SingleTypeImportDeclaration go to state 22 TypeImportOnDemandDeclaration go to state 23 TypeDeclaration go to state 24 Modifiers go to state 25 Modifier go to state 26 ClassDeclaration go to state 27 InterfaceDeclaration go to state 28
41 ImportDeclarations → ImportDeclaration • [$end, IMPORT, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 41 (ImportDeclarations) IMPORT reduce using rule 41 (ImportDeclarations) CLASS reduce using rule 41 (ImportDeclarations) INTERFACE reduce using rule 41 (ImportDeclarations) PUBLIC reduce using rule 41 (ImportDeclarations) PROTECTED reduce using rule 41 (ImportDeclarations) PRIVATE reduce using rule 41 (ImportDeclarations) STATIC reduce using rule 41 (ImportDeclarations) ABSTRACT reduce using rule 41 (ImportDeclarations) FINAL reduce using rule 41 (ImportDeclarations) NATIVE reduce using rule 41 (ImportDeclarations) SYNCHRONIZED reduce using rule 41 (ImportDeclarations) TRANSIENT reduce using rule 41 (ImportDeclarations) VOLATILE reduce using rule 41 (ImportDeclarations) ';' reduce using rule 41 (ImportDeclarations)
46 ImportDeclaration → SingleTypeImportDeclaration • [$end, IMPORT, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 46 (ImportDeclaration) IMPORT reduce using rule 46 (ImportDeclaration) CLASS reduce using rule 46 (ImportDeclaration) INTERFACE reduce using rule 46 (ImportDeclaration) PUBLIC reduce using rule 46 (ImportDeclaration) PROTECTED reduce using rule 46 (ImportDeclaration) PRIVATE reduce using rule 46 (ImportDeclaration) STATIC reduce using rule 46 (ImportDeclaration) ABSTRACT reduce using rule 46 (ImportDeclaration) FINAL reduce using rule 46 (ImportDeclaration) NATIVE reduce using rule 46 (ImportDeclaration) SYNCHRONIZED reduce using rule 46 (ImportDeclaration) TRANSIENT reduce using rule 46 (ImportDeclaration) VOLATILE reduce using rule 46 (ImportDeclaration) ';' reduce using rule 46 (ImportDeclaration)
47 ImportDeclaration → TypeImportOnDemandDeclaration • [$end, IMPORT, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 47 (ImportDeclaration) IMPORT reduce using rule 47 (ImportDeclaration) CLASS reduce using rule 47 (ImportDeclaration) INTERFACE reduce using rule 47 (ImportDeclaration) PUBLIC reduce using rule 47 (ImportDeclaration) PROTECTED reduce using rule 47 (ImportDeclaration) PRIVATE reduce using rule 47 (ImportDeclaration) STATIC reduce using rule 47 (ImportDeclaration) ABSTRACT reduce using rule 47 (ImportDeclaration) FINAL reduce using rule 47 (ImportDeclaration) NATIVE reduce using rule 47 (ImportDeclaration) SYNCHRONIZED reduce using rule 47 (ImportDeclaration) TRANSIENT reduce using rule 47 (ImportDeclaration) VOLATILE reduce using rule 47 (ImportDeclaration) ';' reduce using rule 47 (ImportDeclaration)
43 TypeDeclarations → TypeDeclaration • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 43 (TypeDeclarations) CLASS reduce using rule 43 (TypeDeclarations) INTERFACE reduce using rule 43 (TypeDeclarations) PUBLIC reduce using rule 43 (TypeDeclarations) PROTECTED reduce using rule 43 (TypeDeclarations) PRIVATE reduce using rule 43 (TypeDeclarations) STATIC reduce using rule 43 (TypeDeclarations) ABSTRACT reduce using rule 43 (TypeDeclarations) FINAL reduce using rule 43 (TypeDeclarations) NATIVE reduce using rule 43 (TypeDeclarations) SYNCHRONIZED reduce using rule 43 (TypeDeclarations) TRANSIENT reduce using rule 43 (TypeDeclarations) VOLATILE reduce using rule 43 (TypeDeclarations) ';' reduce using rule 43 (TypeDeclarations)
54 Modifiers → Modifiers • Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 65 ClassDeclaration → Modifiers • CLASS Identifier Super Interfaces ClassBody 66 | Modifiers • CLASS Identifier Super ClassBody 67 | Modifiers • CLASS Identifier Interfaces ClassBody 68 | Modifiers • CLASS Identifier ClassBody 131 InterfaceDeclaration → Modifiers • INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | Modifiers • INTERFACE Identifier InterfaceBody CLASS shift, and go to state 42 INTERFACE shift, and go to state 43 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 Modifier go to state 44
53 Modifiers → Modifier • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 53 (Modifiers) BOOLEAN reduce using rule 53 (Modifiers) BYTE reduce using rule 53 (Modifiers) SHORT reduce using rule 53 (Modifiers) INT reduce using rule 53 (Modifiers) LONG reduce using rule 53 (Modifiers) CHAR reduce using rule 53 (Modifiers) FLOAT reduce using rule 53 (Modifiers) DOUBLE reduce using rule 53 (Modifiers) CLASS reduce using rule 53 (Modifiers) INTERFACE reduce using rule 53 (Modifiers) PUBLIC reduce using rule 53 (Modifiers) PROTECTED reduce using rule 53 (Modifiers) PRIVATE reduce using rule 53 (Modifiers) STATIC reduce using rule 53 (Modifiers) ABSTRACT reduce using rule 53 (Modifiers) FINAL reduce using rule 53 (Modifiers) NATIVE reduce using rule 53 (Modifiers) SYNCHRONIZED reduce using rule 53 (Modifiers) TRANSIENT reduce using rule 53 (Modifiers) VOLATILE reduce using rule 53 (Modifiers) VOID reduce using rule 53 (Modifiers)
50 TypeDeclaration → ClassDeclaration • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 50 (TypeDeclaration) CLASS reduce using rule 50 (TypeDeclaration) INTERFACE reduce using rule 50 (TypeDeclaration) PUBLIC reduce using rule 50 (TypeDeclaration) PROTECTED reduce using rule 50 (TypeDeclaration) PRIVATE reduce using rule 50 (TypeDeclaration) STATIC reduce using rule 50 (TypeDeclaration) ABSTRACT reduce using rule 50 (TypeDeclaration) FINAL reduce using rule 50 (TypeDeclaration) NATIVE reduce using rule 50 (TypeDeclaration) SYNCHRONIZED reduce using rule 50 (TypeDeclaration) TRANSIENT reduce using rule 50 (TypeDeclaration) VOLATILE reduce using rule 50 (TypeDeclaration) ';' reduce using rule 50 (TypeDeclaration)
51 TypeDeclaration → InterfaceDeclaration • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 51 (TypeDeclaration) CLASS reduce using rule 51 (TypeDeclaration) INTERFACE reduce using rule 51 (TypeDeclaration) PUBLIC reduce using rule 51 (TypeDeclaration) PROTECTED reduce using rule 51 (TypeDeclaration) PRIVATE reduce using rule 51 (TypeDeclaration) STATIC reduce using rule 51 (TypeDeclaration) ABSTRACT reduce using rule 51 (TypeDeclaration) FINAL reduce using rule 51 (TypeDeclaration) NATIVE reduce using rule 51 (TypeDeclaration) SYNCHRONIZED reduce using rule 51 (TypeDeclaration) TRANSIENT reduce using rule 51 (TypeDeclaration) VOLATILE reduce using rule 51 (TypeDeclaration) ';' reduce using rule 51 (TypeDeclaration)
31 SimpleName → Identifier • [Identifier, IMPLEMENTS, INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', ']', '.', ';', '*', ',', '{', '}', '=', '(', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] Identifier reduce using rule 31 (SimpleName) IMPLEMENTS reduce using rule 31 (SimpleName) INSTANCEOF reduce using rule 31 (SimpleName) PLUSPLUS reduce using rule 31 (SimpleName) MINUSMINUS reduce using rule 31 (SimpleName) LTLT reduce using rule 31 (SimpleName) GTGT reduce using rule 31 (SimpleName) GTGTGT reduce using rule 31 (SimpleName) LTEQ reduce using rule 31 (SimpleName) GTEQ reduce using rule 31 (SimpleName) EQEQ reduce using rule 31 (SimpleName) BANGEQ reduce using rule 31 (SimpleName) ANDAND reduce using rule 31 (SimpleName) OROR reduce using rule 31 (SimpleName) TIMESEQ reduce using rule 31 (SimpleName) DIVEQ reduce using rule 31 (SimpleName) MODEQ reduce using rule 31 (SimpleName) PLUSEQ reduce using rule 31 (SimpleName) MINUSEQ reduce using rule 31 (SimpleName) LTLTEQ reduce using rule 31 (SimpleName) GTGTEQ reduce using rule 31 (SimpleName) GTGTGTEQ reduce using rule 31 (SimpleName) ANDEQ reduce using rule 31 (SimpleName) XOREQ reduce using rule 31 (SimpleName) OREQ reduce using rule 31 (SimpleName) '[' reduce using rule 31 (SimpleName) ']' reduce using rule 31 (SimpleName) '.' reduce using rule 31 (SimpleName) ';' reduce using rule 31 (SimpleName) '*' reduce using rule 31 (SimpleName) ',' reduce using rule 31 (SimpleName) '{' reduce using rule 31 (SimpleName) '}' reduce using rule 31 (SimpleName) '=' reduce using rule 31 (SimpleName) '(' reduce using rule 31 (SimpleName) ')' reduce using rule 31 (SimpleName) ':' reduce using rule 31 (SimpleName) '+' reduce using rule 31 (SimpleName) '-' reduce using rule 31 (SimpleName) '/' reduce using rule 31 (SimpleName) '%' reduce using rule 31 (SimpleName) '<' reduce using rule 31 (SimpleName) '>' reduce using rule 31 (SimpleName) '&' reduce using rule 31 (SimpleName) '^' reduce using rule 31 (SimpleName) '|' reduce using rule 31 (SimpleName) '?' reduce using rule 31 (SimpleName)
32 QualifiedName → Name • '.' Identifier 45 PackageDeclaration → PACKAGE Name • ';' '.' shift, and go to state 45 ';' shift, and go to state 46
29 Name → SimpleName • [Identifier, IMPLEMENTS, INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', ']', '.', ';', '*', ',', '{', '}', '=', '(', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] Identifier reduce using rule 29 (Name) IMPLEMENTS reduce using rule 29 (Name) INSTANCEOF reduce using rule 29 (Name) PLUSPLUS reduce using rule 29 (Name) MINUSMINUS reduce using rule 29 (Name) LTLT reduce using rule 29 (Name) GTGT reduce using rule 29 (Name) GTGTGT reduce using rule 29 (Name) LTEQ reduce using rule 29 (Name) GTEQ reduce using rule 29 (Name) EQEQ reduce using rule 29 (Name) BANGEQ reduce using rule 29 (Name) ANDAND reduce using rule 29 (Name) OROR reduce using rule 29 (Name) TIMESEQ reduce using rule 29 (Name) DIVEQ reduce using rule 29 (Name) MODEQ reduce using rule 29 (Name) PLUSEQ reduce using rule 29 (Name) MINUSEQ reduce using rule 29 (Name) LTLTEQ reduce using rule 29 (Name) GTGTEQ reduce using rule 29 (Name) GTGTGTEQ reduce using rule 29 (Name) ANDEQ reduce using rule 29 (Name) XOREQ reduce using rule 29 (Name) OREQ reduce using rule 29 (Name) '[' reduce using rule 29 (Name) ']' reduce using rule 29 (Name) '.' reduce using rule 29 (Name) ';' reduce using rule 29 (Name) '*' reduce using rule 29 (Name) ',' reduce using rule 29 (Name) '{' reduce using rule 29 (Name) '}' reduce using rule 29 (Name) '=' reduce using rule 29 (Name) '(' reduce using rule 29 (Name) ')' reduce using rule 29 (Name) ':' reduce using rule 29 (Name) '+' reduce using rule 29 (Name) '-' reduce using rule 29 (Name) '/' reduce using rule 29 (Name) '%' reduce using rule 29 (Name) '<' reduce using rule 29 (Name) '>' reduce using rule 29 (Name) '&' reduce using rule 29 (Name) '^' reduce using rule 29 (Name) '|' reduce using rule 29 (Name) '?' reduce using rule 29 (Name)
30 Name → QualifiedName • [Identifier, IMPLEMENTS, INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', ']', '.', ';', '*', ',', '{', '}', '=', '(', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] Identifier reduce using rule 30 (Name) IMPLEMENTS reduce using rule 30 (Name) INSTANCEOF reduce using rule 30 (Name) PLUSPLUS reduce using rule 30 (Name) MINUSMINUS reduce using rule 30 (Name) LTLT reduce using rule 30 (Name) GTGT reduce using rule 30 (Name) GTGTGT reduce using rule 30 (Name) LTEQ reduce using rule 30 (Name) GTEQ reduce using rule 30 (Name) EQEQ reduce using rule 30 (Name) BANGEQ reduce using rule 30 (Name) ANDAND reduce using rule 30 (Name) OROR reduce using rule 30 (Name) TIMESEQ reduce using rule 30 (Name) DIVEQ reduce using rule 30 (Name) MODEQ reduce using rule 30 (Name) PLUSEQ reduce using rule 30 (Name) MINUSEQ reduce using rule 30 (Name) LTLTEQ reduce using rule 30 (Name) GTGTEQ reduce using rule 30 (Name) GTGTGTEQ reduce using rule 30 (Name) ANDEQ reduce using rule 30 (Name) XOREQ reduce using rule 30 (Name) OREQ reduce using rule 30 (Name) '[' reduce using rule 30 (Name) ']' reduce using rule 30 (Name) '.' reduce using rule 30 (Name) ';' reduce using rule 30 (Name) '*' reduce using rule 30 (Name) ',' reduce using rule 30 (Name) '{' reduce using rule 30 (Name) '}' reduce using rule 30 (Name) '=' reduce using rule 30 (Name) '(' reduce using rule 30 (Name) ')' reduce using rule 30 (Name) ':' reduce using rule 30 (Name) '+' reduce using rule 30 (Name) '-' reduce using rule 30 (Name) '/' reduce using rule 30 (Name) '%' reduce using rule 30 (Name) '<' reduce using rule 30 (Name) '>' reduce using rule 30 (Name) '&' reduce using rule 30 (Name) '^' reduce using rule 30 (Name) '|' reduce using rule 30 (Name) '?' reduce using rule 30 (Name)
32 QualifiedName → Name • '.' Identifier 48 SingleTypeImportDeclaration → IMPORT Name • ';' 49 TypeImportOnDemandDeclaration → IMPORT Name • '.' '*' ';' '.' shift, and go to state 47 ';' shift, and go to state 48
69 ClassDeclaration → CLASS Identifier • Super Interfaces ClassBody 70 | CLASS Identifier • Super ClassBody 71 | CLASS Identifier • Interfaces ClassBody 72 | CLASS Identifier • ClassBody 73 Super → • EXTENDS ClassType 74 Interfaces → • IMPLEMENTS InterfaceTypeList 77 ClassBody → • '{' ClassBodyDeclarations '}' 78 | • '{' '}' EXTENDS shift, and go to state 49 IMPLEMENTS shift, and go to state 50 '{' shift, and go to state 51 Super go to state 52 Interfaces go to state 53 ClassBody go to state 54
133 InterfaceDeclaration → INTERFACE Identifier • ExtendsInterfaces InterfaceBody 134 | INTERFACE Identifier • InterfaceBody 135 ExtendsInterfaces → • EXTENDS InterfaceType 136 | • ExtendsInterfaces ',' InterfaceType 137 InterfaceBody → • '{' InterfaceMemberDeclarations '}' 138 | • '{' '}' EXTENDS shift, and go to state 55 '{' shift, and go to state 56 ExtendsInterfaces go to state 57 InterfaceBody go to state 58
0 $accept → Goal $end • $default accept
37 CompilationUnit → ImportDeclarations TypeDeclarations • [$end] 44 TypeDeclarations → TypeDeclarations • TypeDeclaration 50 TypeDeclaration → • ClassDeclaration 51 | • InterfaceDeclaration 52 | • ';' 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 65 ClassDeclaration → • Modifiers CLASS Identifier Super Interfaces ClassBody 66 | • Modifiers CLASS Identifier Super ClassBody 67 | • Modifiers CLASS Identifier Interfaces ClassBody 68 | • Modifiers CLASS Identifier ClassBody 69 | • CLASS Identifier Super Interfaces ClassBody 70 | • CLASS Identifier Super ClassBody 71 | • CLASS Identifier Interfaces ClassBody 72 | • CLASS Identifier ClassBody 131 InterfaceDeclaration → • Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | • Modifiers INTERFACE Identifier InterfaceBody 133 | • INTERFACE Identifier ExtendsInterfaces InterfaceBody 134 | • INTERFACE Identifier InterfaceBody CLASS shift, and go to state 3 INTERFACE shift, and go to state 4 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 ';' shift, and go to state 15 $end reduce using rule 37 (CompilationUnit) TypeDeclaration go to state 39 Modifiers go to state 25 Modifier go to state 26 ClassDeclaration go to state 27 InterfaceDeclaration go to state 28
42 ImportDeclarations → ImportDeclarations ImportDeclaration • [$end, IMPORT, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 42 (ImportDeclarations) IMPORT reduce using rule 42 (ImportDeclarations) CLASS reduce using rule 42 (ImportDeclarations) INTERFACE reduce using rule 42 (ImportDeclarations) PUBLIC reduce using rule 42 (ImportDeclarations) PROTECTED reduce using rule 42 (ImportDeclarations) PRIVATE reduce using rule 42 (ImportDeclarations) STATIC reduce using rule 42 (ImportDeclarations) ABSTRACT reduce using rule 42 (ImportDeclarations) FINAL reduce using rule 42 (ImportDeclarations) NATIVE reduce using rule 42 (ImportDeclarations) SYNCHRONIZED reduce using rule 42 (ImportDeclarations) TRANSIENT reduce using rule 42 (ImportDeclarations) VOLATILE reduce using rule 42 (ImportDeclarations) ';' reduce using rule 42 (ImportDeclarations)
44 TypeDeclarations → TypeDeclarations TypeDeclaration • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 44 (TypeDeclarations) CLASS reduce using rule 44 (TypeDeclarations) INTERFACE reduce using rule 44 (TypeDeclarations) PUBLIC reduce using rule 44 (TypeDeclarations) PROTECTED reduce using rule 44 (TypeDeclarations) PRIVATE reduce using rule 44 (TypeDeclarations) STATIC reduce using rule 44 (TypeDeclarations) ABSTRACT reduce using rule 44 (TypeDeclarations) FINAL reduce using rule 44 (TypeDeclarations) NATIVE reduce using rule 44 (TypeDeclarations) SYNCHRONIZED reduce using rule 44 (TypeDeclarations) TRANSIENT reduce using rule 44 (TypeDeclarations) VOLATILE reduce using rule 44 (TypeDeclarations) ';' reduce using rule 44 (TypeDeclarations)
33 CompilationUnit → PackageDeclaration ImportDeclarations • TypeDeclarations 34 | PackageDeclaration ImportDeclarations • [$end] 42 ImportDeclarations → ImportDeclarations • ImportDeclaration 43 TypeDeclarations → • TypeDeclaration 44 | • TypeDeclarations TypeDeclaration 46 ImportDeclaration → • SingleTypeImportDeclaration 47 | • TypeImportOnDemandDeclaration 48 SingleTypeImportDeclaration → • IMPORT Name ';' 49 TypeImportOnDemandDeclaration → • IMPORT Name '.' '*' ';' 50 TypeDeclaration → • ClassDeclaration 51 | • InterfaceDeclaration 52 | • ';' 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 65 ClassDeclaration → • Modifiers CLASS Identifier Super Interfaces ClassBody 66 | • Modifiers CLASS Identifier Super ClassBody 67 | • Modifiers CLASS Identifier Interfaces ClassBody 68 | • Modifiers CLASS Identifier ClassBody 69 | • CLASS Identifier Super Interfaces ClassBody 70 | • CLASS Identifier Super ClassBody 71 | • CLASS Identifier Interfaces ClassBody 72 | • CLASS Identifier ClassBody 131 InterfaceDeclaration → • Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | • Modifiers INTERFACE Identifier InterfaceBody 133 | • INTERFACE Identifier ExtendsInterfaces InterfaceBody 134 | • INTERFACE Identifier InterfaceBody IMPORT shift, and go to state 2 CLASS shift, and go to state 3 INTERFACE shift, and go to state 4 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 ';' shift, and go to state 15 $end reduce using rule 34 (CompilationUnit) TypeDeclarations go to state 59 ImportDeclaration go to state 38 SingleTypeImportDeclaration go to state 22 TypeImportOnDemandDeclaration go to state 23 TypeDeclaration go to state 24 Modifiers go to state 25 Modifier go to state 26 ClassDeclaration go to state 27 InterfaceDeclaration go to state 28
35 CompilationUnit → PackageDeclaration TypeDeclarations • [$end] 44 TypeDeclarations → TypeDeclarations • TypeDeclaration 50 TypeDeclaration → • ClassDeclaration 51 | • InterfaceDeclaration 52 | • ';' 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 65 ClassDeclaration → • Modifiers CLASS Identifier Super Interfaces ClassBody 66 | • Modifiers CLASS Identifier Super ClassBody 67 | • Modifiers CLASS Identifier Interfaces ClassBody 68 | • Modifiers CLASS Identifier ClassBody 69 | • CLASS Identifier Super Interfaces ClassBody 70 | • CLASS Identifier Super ClassBody 71 | • CLASS Identifier Interfaces ClassBody 72 | • CLASS Identifier ClassBody 131 InterfaceDeclaration → • Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | • Modifiers INTERFACE Identifier InterfaceBody 133 | • INTERFACE Identifier ExtendsInterfaces InterfaceBody 134 | • INTERFACE Identifier InterfaceBody CLASS shift, and go to state 3 INTERFACE shift, and go to state 4 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 ';' shift, and go to state 15 $end reduce using rule 35 (CompilationUnit) TypeDeclaration go to state 39 Modifiers go to state 25 Modifier go to state 26 ClassDeclaration go to state 27 InterfaceDeclaration go to state 28
65 ClassDeclaration → Modifiers CLASS • Identifier Super Interfaces ClassBody 66 | Modifiers CLASS • Identifier Super ClassBody 67 | Modifiers CLASS • Identifier Interfaces ClassBody 68 | Modifiers CLASS • Identifier ClassBody Identifier shift, and go to state 60
131 InterfaceDeclaration → Modifiers INTERFACE • Identifier ExtendsInterfaces InterfaceBody 132 | Modifiers INTERFACE • Identifier InterfaceBody Identifier shift, and go to state 61
54 Modifiers → Modifiers Modifier • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] Identifier reduce using rule 54 (Modifiers) BOOLEAN reduce using rule 54 (Modifiers) BYTE reduce using rule 54 (Modifiers) SHORT reduce using rule 54 (Modifiers) INT reduce using rule 54 (Modifiers) LONG reduce using rule 54 (Modifiers) CHAR reduce using rule 54 (Modifiers) FLOAT reduce using rule 54 (Modifiers) DOUBLE reduce using rule 54 (Modifiers) CLASS reduce using rule 54 (Modifiers) INTERFACE reduce using rule 54 (Modifiers) PUBLIC reduce using rule 54 (Modifiers) PROTECTED reduce using rule 54 (Modifiers) PRIVATE reduce using rule 54 (Modifiers) STATIC reduce using rule 54 (Modifiers) ABSTRACT reduce using rule 54 (Modifiers) FINAL reduce using rule 54 (Modifiers) NATIVE reduce using rule 54 (Modifiers) SYNCHRONIZED reduce using rule 54 (Modifiers) TRANSIENT reduce using rule 54 (Modifiers) VOLATILE reduce using rule 54 (Modifiers) VOID reduce using rule 54 (Modifiers)
32 QualifiedName → Name '.' • Identifier Identifier shift, and go to state 62
45 PackageDeclaration → PACKAGE Name ';' • [$end, IMPORT, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 45 (PackageDeclaration) IMPORT reduce using rule 45 (PackageDeclaration) CLASS reduce using rule 45 (PackageDeclaration) INTERFACE reduce using rule 45 (PackageDeclaration) PUBLIC reduce using rule 45 (PackageDeclaration) PROTECTED reduce using rule 45 (PackageDeclaration) PRIVATE reduce using rule 45 (PackageDeclaration) STATIC reduce using rule 45 (PackageDeclaration) ABSTRACT reduce using rule 45 (PackageDeclaration) FINAL reduce using rule 45 (PackageDeclaration) NATIVE reduce using rule 45 (PackageDeclaration) SYNCHRONIZED reduce using rule 45 (PackageDeclaration) TRANSIENT reduce using rule 45 (PackageDeclaration) VOLATILE reduce using rule 45 (PackageDeclaration) ';' reduce using rule 45 (PackageDeclaration)
32 QualifiedName → Name '.' • Identifier 49 TypeImportOnDemandDeclaration → IMPORT Name '.' • '*' ';' Identifier shift, and go to state 62 '*' shift, and go to state 63
48 SingleTypeImportDeclaration → IMPORT Name ';' • [$end, IMPORT, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 48 (SingleTypeImportDeclaration) IMPORT reduce using rule 48 (SingleTypeImportDeclaration) CLASS reduce using rule 48 (SingleTypeImportDeclaration) INTERFACE reduce using rule 48 (SingleTypeImportDeclaration) PUBLIC reduce using rule 48 (SingleTypeImportDeclaration) PROTECTED reduce using rule 48 (SingleTypeImportDeclaration) PRIVATE reduce using rule 48 (SingleTypeImportDeclaration) STATIC reduce using rule 48 (SingleTypeImportDeclaration) ABSTRACT reduce using rule 48 (SingleTypeImportDeclaration) FINAL reduce using rule 48 (SingleTypeImportDeclaration) NATIVE reduce using rule 48 (SingleTypeImportDeclaration) SYNCHRONIZED reduce using rule 48 (SingleTypeImportDeclaration) TRANSIENT reduce using rule 48 (SingleTypeImportDeclaration) VOLATILE reduce using rule 48 (SingleTypeImportDeclaration) ';' reduce using rule 48 (SingleTypeImportDeclaration)
23 ClassOrInterfaceType → • Name 24 ClassType → • ClassOrInterfaceType 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 73 Super → EXTENDS • ClassType Identifier shift, and go to state 29 ClassOrInterfaceType go to state 64 ClassType go to state 65 Name go to state 66 SimpleName go to state 31 QualifiedName go to state 32
23 ClassOrInterfaceType → • Name 25 InterfaceType → • ClassOrInterfaceType 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 74 Interfaces → IMPLEMENTS • InterfaceTypeList 75 InterfaceTypeList → • InterfaceType 76 | • InterfaceTypeList ',' InterfaceType Identifier shift, and go to state 29 ClassOrInterfaceType go to state 67 InterfaceType go to state 68 Name go to state 66 SimpleName go to state 31 QualifiedName go to state 32 InterfaceTypeList go to state 69
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 77 ClassBody → '{' • ClassBodyDeclarations '}' 78 | '{' • '}' 79 ClassBodyDeclarations → • ClassBodyDeclaration 80 | • ClassBodyDeclarations ClassBodyDeclaration 81 ClassBodyDeclaration → • ClassMemberDeclaration 82 | • StaticInitializer 83 | • ConstructorDeclaration 84 ClassMemberDeclaration → • FieldDeclaration 85 | • MethodDeclaration 86 FieldDeclaration → • Modifiers Type VariableDeclarators ';' 87 | • Type VariableDeclarators ';' 96 MethodDeclaration → • MethodHeader MethodBody 97 MethodHeader → • Modifiers Type MethodDeclarator Throws 98 | • Modifiers Type MethodDeclarator 99 | • Type MethodDeclarator Throws 100 | • Type MethodDeclarator 101 | • Modifiers VOID MethodDeclarator Throws 102 | • Modifiers VOID MethodDeclarator 103 | • VOID MethodDeclarator Throws 104 | • VOID MethodDeclarator 116 StaticInitializer → • STATIC Block 117 ConstructorDeclaration → • Modifiers ConstructorDeclarator Throws ConstructorBody 118 | • Modifiers ConstructorDeclarator ConstructorBody 119 | • ConstructorDeclarator Throws ConstructorBody 120 | • ConstructorDeclarator ConstructorBody 121 ConstructorDeclarator → • SimpleName '(' FormalParameterList ')' 122 | • SimpleName '(' ')' Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 78 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 VOID shift, and go to state 79 '}' shift, and go to state 80 Type go to state 81 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 90 QualifiedName go to state 32 Modifiers go to state 91 Modifier go to state 26 ClassBodyDeclarations go to state 92 ClassBodyDeclaration go to state 93 ClassMemberDeclaration go to state 94 FieldDeclaration go to state 95 MethodDeclaration go to state 96 MethodHeader go to state 97 StaticInitializer go to state 98 ConstructorDeclaration go to state 99 ConstructorDeclarator go to state 100
69 ClassDeclaration → CLASS Identifier Super • Interfaces ClassBody 70 | CLASS Identifier Super • ClassBody 74 Interfaces → • IMPLEMENTS InterfaceTypeList 77 ClassBody → • '{' ClassBodyDeclarations '}' 78 | • '{' '}' IMPLEMENTS shift, and go to state 50 '{' shift, and go to state 51 Interfaces go to state 101 ClassBody go to state 102
71 ClassDeclaration → CLASS Identifier Interfaces • ClassBody 77 ClassBody → • '{' ClassBodyDeclarations '}' 78 | • '{' '}' '{' shift, and go to state 51 ClassBody go to state 103
72 ClassDeclaration → CLASS Identifier ClassBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 72 (ClassDeclaration) CLASS reduce using rule 72 (ClassDeclaration) INTERFACE reduce using rule 72 (ClassDeclaration) PUBLIC reduce using rule 72 (ClassDeclaration) PROTECTED reduce using rule 72 (ClassDeclaration) PRIVATE reduce using rule 72 (ClassDeclaration) STATIC reduce using rule 72 (ClassDeclaration) ABSTRACT reduce using rule 72 (ClassDeclaration) FINAL reduce using rule 72 (ClassDeclaration) NATIVE reduce using rule 72 (ClassDeclaration) SYNCHRONIZED reduce using rule 72 (ClassDeclaration) TRANSIENT reduce using rule 72 (ClassDeclaration) VOLATILE reduce using rule 72 (ClassDeclaration) ';' reduce using rule 72 (ClassDeclaration)
23 ClassOrInterfaceType → • Name 25 InterfaceType → • ClassOrInterfaceType 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 135 ExtendsInterfaces → EXTENDS • InterfaceType Identifier shift, and go to state 29 ClassOrInterfaceType go to state 67 InterfaceType go to state 104 Name go to state 66 SimpleName go to state 31 QualifiedName go to state 32
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 86 FieldDeclaration → • Modifiers Type VariableDeclarators ';' 87 | • Type VariableDeclarators ';' 97 MethodHeader → • Modifiers Type MethodDeclarator Throws 98 | • Modifiers Type MethodDeclarator 99 | • Type MethodDeclarator Throws 100 | • Type MethodDeclarator 101 | • Modifiers VOID MethodDeclarator Throws 102 | • Modifiers VOID MethodDeclarator 103 | • VOID MethodDeclarator Throws 104 | • VOID MethodDeclarator 137 InterfaceBody → '{' • InterfaceMemberDeclarations '}' 138 | '{' • '}' 139 InterfaceMemberDeclarations → • InterfaceMemberDeclaration 140 | • InterfaceMemberDeclarations InterfaceMemberDeclaration 141 InterfaceMemberDeclaration → • ConstantDeclaration 142 | • AbstractMethodDeclaration 143 ConstantDeclaration → • FieldDeclaration 144 AbstractMethodDeclaration → • MethodHeader ';' Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 VOID shift, and go to state 79 '}' shift, and go to state 105 Type go to state 81 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 31 QualifiedName go to state 32 Modifiers go to state 106 Modifier go to state 26 FieldDeclaration go to state 107 MethodHeader go to state 108 InterfaceMemberDeclarations go to state 109 InterfaceMemberDeclaration go to state 110 ConstantDeclaration go to state 111 AbstractMethodDeclaration go to state 112
133 InterfaceDeclaration → INTERFACE Identifier ExtendsInterfaces • InterfaceBody 136 ExtendsInterfaces → ExtendsInterfaces • ',' InterfaceType 137 InterfaceBody → • '{' InterfaceMemberDeclarations '}' 138 | • '{' '}' ',' shift, and go to state 113 '{' shift, and go to state 56 InterfaceBody go to state 114
134 InterfaceDeclaration → INTERFACE Identifier InterfaceBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 134 (InterfaceDeclaration) CLASS reduce using rule 134 (InterfaceDeclaration) INTERFACE reduce using rule 134 (InterfaceDeclaration) PUBLIC reduce using rule 134 (InterfaceDeclaration) PROTECTED reduce using rule 134 (InterfaceDeclaration) PRIVATE reduce using rule 134 (InterfaceDeclaration) STATIC reduce using rule 134 (InterfaceDeclaration) ABSTRACT reduce using rule 134 (InterfaceDeclaration) FINAL reduce using rule 134 (InterfaceDeclaration) NATIVE reduce using rule 134 (InterfaceDeclaration) SYNCHRONIZED reduce using rule 134 (InterfaceDeclaration) TRANSIENT reduce using rule 134 (InterfaceDeclaration) VOLATILE reduce using rule 134 (InterfaceDeclaration) ';' reduce using rule 134 (InterfaceDeclaration)
33 CompilationUnit → PackageDeclaration ImportDeclarations TypeDeclarations • [$end] 44 TypeDeclarations → TypeDeclarations • TypeDeclaration 50 TypeDeclaration → • ClassDeclaration 51 | • InterfaceDeclaration 52 | • ';' 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 65 ClassDeclaration → • Modifiers CLASS Identifier Super Interfaces ClassBody 66 | • Modifiers CLASS Identifier Super ClassBody 67 | • Modifiers CLASS Identifier Interfaces ClassBody 68 | • Modifiers CLASS Identifier ClassBody 69 | • CLASS Identifier Super Interfaces ClassBody 70 | • CLASS Identifier Super ClassBody 71 | • CLASS Identifier Interfaces ClassBody 72 | • CLASS Identifier ClassBody 131 InterfaceDeclaration → • Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody 132 | • Modifiers INTERFACE Identifier InterfaceBody 133 | • INTERFACE Identifier ExtendsInterfaces InterfaceBody 134 | • INTERFACE Identifier InterfaceBody CLASS shift, and go to state 3 INTERFACE shift, and go to state 4 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 ';' shift, and go to state 15 $end reduce using rule 33 (CompilationUnit) TypeDeclaration go to state 39 Modifiers go to state 25 Modifier go to state 26 ClassDeclaration go to state 27 InterfaceDeclaration go to state 28
65 ClassDeclaration → Modifiers CLASS Identifier • Super Interfaces ClassBody 66 | Modifiers CLASS Identifier • Super ClassBody 67 | Modifiers CLASS Identifier • Interfaces ClassBody 68 | Modifiers CLASS Identifier • ClassBody 73 Super → • EXTENDS ClassType 74 Interfaces → • IMPLEMENTS InterfaceTypeList 77 ClassBody → • '{' ClassBodyDeclarations '}' 78 | • '{' '}' EXTENDS shift, and go to state 49 IMPLEMENTS shift, and go to state 50 '{' shift, and go to state 51 Super go to state 115 Interfaces go to state 116 ClassBody go to state 117
131 InterfaceDeclaration → Modifiers INTERFACE Identifier • ExtendsInterfaces InterfaceBody 132 | Modifiers INTERFACE Identifier • InterfaceBody 135 ExtendsInterfaces → • EXTENDS InterfaceType 136 | • ExtendsInterfaces ',' InterfaceType 137 InterfaceBody → • '{' InterfaceMemberDeclarations '}' 138 | • '{' '}' EXTENDS shift, and go to state 55 '{' shift, and go to state 56 ExtendsInterfaces go to state 118 InterfaceBody go to state 119
32 QualifiedName → Name '.' Identifier • [Identifier, IMPLEMENTS, INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', ']', '.', ';', '*', ',', '{', '}', '=', '(', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] Identifier reduce using rule 32 (QualifiedName) IMPLEMENTS reduce using rule 32 (QualifiedName) INSTANCEOF reduce using rule 32 (QualifiedName) PLUSPLUS reduce using rule 32 (QualifiedName) MINUSMINUS reduce using rule 32 (QualifiedName) LTLT reduce using rule 32 (QualifiedName) GTGT reduce using rule 32 (QualifiedName) GTGTGT reduce using rule 32 (QualifiedName) LTEQ reduce using rule 32 (QualifiedName) GTEQ reduce using rule 32 (QualifiedName) EQEQ reduce using rule 32 (QualifiedName) BANGEQ reduce using rule 32 (QualifiedName) ANDAND reduce using rule 32 (QualifiedName) OROR reduce using rule 32 (QualifiedName) TIMESEQ reduce using rule 32 (QualifiedName) DIVEQ reduce using rule 32 (QualifiedName) MODEQ reduce using rule 32 (QualifiedName) PLUSEQ reduce using rule 32 (QualifiedName) MINUSEQ reduce using rule 32 (QualifiedName) LTLTEQ reduce using rule 32 (QualifiedName) GTGTEQ reduce using rule 32 (QualifiedName) GTGTGTEQ reduce using rule 32 (QualifiedName) ANDEQ reduce using rule 32 (QualifiedName) XOREQ reduce using rule 32 (QualifiedName) OREQ reduce using rule 32 (QualifiedName) '[' reduce using rule 32 (QualifiedName) ']' reduce using rule 32 (QualifiedName) '.' reduce using rule 32 (QualifiedName) ';' reduce using rule 32 (QualifiedName) '*' reduce using rule 32 (QualifiedName) ',' reduce using rule 32 (QualifiedName) '{' reduce using rule 32 (QualifiedName) '}' reduce using rule 32 (QualifiedName) '=' reduce using rule 32 (QualifiedName) '(' reduce using rule 32 (QualifiedName) ')' reduce using rule 32 (QualifiedName) ':' reduce using rule 32 (QualifiedName) '+' reduce using rule 32 (QualifiedName) '-' reduce using rule 32 (QualifiedName) '/' reduce using rule 32 (QualifiedName) '%' reduce using rule 32 (QualifiedName) '<' reduce using rule 32 (QualifiedName) '>' reduce using rule 32 (QualifiedName) '&' reduce using rule 32 (QualifiedName) '^' reduce using rule 32 (QualifiedName) '|' reduce using rule 32 (QualifiedName) '?' reduce using rule 32 (QualifiedName)
49 TypeImportOnDemandDeclaration → IMPORT Name '.' '*' • ';' ';' shift, and go to state 120
24 ClassType → ClassOrInterfaceType • [IMPLEMENTS, ';', ',', '{'] IMPLEMENTS reduce using rule 24 (ClassType) ';' reduce using rule 24 (ClassType) ',' reduce using rule 24 (ClassType) '{' reduce using rule 24 (ClassType)
73 Super → EXTENDS ClassType • [IMPLEMENTS, '{'] IMPLEMENTS reduce using rule 73 (Super) '{' reduce using rule 73 (Super)
23 ClassOrInterfaceType → Name • [IMPLEMENTS, '[', ';', ',', '{', '('] 32 QualifiedName → Name • '.' Identifier '.' shift, and go to state 45 IMPLEMENTS reduce using rule 23 (ClassOrInterfaceType) '[' reduce using rule 23 (ClassOrInterfaceType) ';' reduce using rule 23 (ClassOrInterfaceType) ',' reduce using rule 23 (ClassOrInterfaceType) '{' reduce using rule 23 (ClassOrInterfaceType) '(' reduce using rule 23 (ClassOrInterfaceType)
25 InterfaceType → ClassOrInterfaceType • [',', '{'] ',' reduce using rule 25 (InterfaceType) '{' reduce using rule 25 (InterfaceType)
75 InterfaceTypeList → InterfaceType • [',', '{'] ',' reduce using rule 75 (InterfaceTypeList) '{' reduce using rule 75 (InterfaceTypeList)
74 Interfaces → IMPLEMENTS InterfaceTypeList • ['{'] 76 InterfaceTypeList → InterfaceTypeList • ',' InterfaceType ',' shift, and go to state 121 '{' reduce using rule 74 (Interfaces)
11 PrimitiveType → BOOLEAN • [Identifier, '[', ')'] Identifier reduce using rule 11 (PrimitiveType) '[' reduce using rule 11 (PrimitiveType) ')' reduce using rule 11 (PrimitiveType)
14 IntegralType → BYTE • [Identifier, '[', ')'] Identifier reduce using rule 14 (IntegralType) '[' reduce using rule 14 (IntegralType) ')' reduce using rule 14 (IntegralType)
15 IntegralType → SHORT • [Identifier, '[', ')'] Identifier reduce using rule 15 (IntegralType) '[' reduce using rule 15 (IntegralType) ')' reduce using rule 15 (IntegralType)
16 IntegralType → INT • [Identifier, '[', ')'] Identifier reduce using rule 16 (IntegralType) '[' reduce using rule 16 (IntegralType) ')' reduce using rule 16 (IntegralType)
17 IntegralType → LONG • [Identifier, '[', ')'] Identifier reduce using rule 17 (IntegralType) '[' reduce using rule 17 (IntegralType) ')' reduce using rule 17 (IntegralType)
18 IntegralType → CHAR • [Identifier, '[', ')'] Identifier reduce using rule 18 (IntegralType) '[' reduce using rule 18 (IntegralType) ')' reduce using rule 18 (IntegralType)
19 FloatingPointType → FLOAT • [Identifier, '[', ')'] Identifier reduce using rule 19 (FloatingPointType) '[' reduce using rule 19 (FloatingPointType) ')' reduce using rule 19 (FloatingPointType)
20 FloatingPointType → DOUBLE • [Identifier, '[', ')'] Identifier reduce using rule 20 (FloatingPointType) '[' reduce using rule 20 (FloatingPointType) ')' reduce using rule 20 (FloatingPointType)
58 Modifier → STATIC • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID] 116 StaticInitializer → STATIC • Block 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' '{' shift, and go to state 122 Identifier reduce using rule 58 (Modifier) BOOLEAN reduce using rule 58 (Modifier) BYTE reduce using rule 58 (Modifier) SHORT reduce using rule 58 (Modifier) INT reduce using rule 58 (Modifier) LONG reduce using rule 58 (Modifier) CHAR reduce using rule 58 (Modifier) FLOAT reduce using rule 58 (Modifier) DOUBLE reduce using rule 58 (Modifier) PUBLIC reduce using rule 58 (Modifier) PROTECTED reduce using rule 58 (Modifier) PRIVATE reduce using rule 58 (Modifier) STATIC reduce using rule 58 (Modifier) ABSTRACT reduce using rule 58 (Modifier) FINAL reduce using rule 58 (Modifier) NATIVE reduce using rule 58 (Modifier) SYNCHRONIZED reduce using rule 58 (Modifier) TRANSIENT reduce using rule 58 (Modifier) VOLATILE reduce using rule 58 (Modifier) VOID reduce using rule 58 (Modifier) Block go to state 123
103 MethodHeader → VOID • MethodDeclarator Throws 104 | VOID • MethodDeclarator 105 MethodDeclarator → • Identifier '(' FormalParameterList ')' 106 | • Identifier '(' ')' 107 | • MethodDeclarator '[' ']' Identifier shift, and go to state 124 MethodDeclarator go to state 125
78 ClassBody → '{' '}' • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 78 (ClassBody) CLASS reduce using rule 78 (ClassBody) INTERFACE reduce using rule 78 (ClassBody) PUBLIC reduce using rule 78 (ClassBody) PROTECTED reduce using rule 78 (ClassBody) PRIVATE reduce using rule 78 (ClassBody) STATIC reduce using rule 78 (ClassBody) ABSTRACT reduce using rule 78 (ClassBody) FINAL reduce using rule 78 (ClassBody) NATIVE reduce using rule 78 (ClassBody) SYNCHRONIZED reduce using rule 78 (ClassBody) TRANSIENT reduce using rule 78 (ClassBody) VOLATILE reduce using rule 78 (ClassBody) ';' reduce using rule 78 (ClassBody)
87 FieldDeclaration → Type • VariableDeclarators ';' 88 VariableDeclarators → • VariableDeclarator 89 | • VariableDeclarators ',' VariableDeclarator 90 VariableDeclarator → • VariableDeclaratorId 91 | • VariableDeclaratorId '=' VariableInitializer 92 VariableDeclaratorId → • Identifier 93 | • VariableDeclaratorId '[' ']' 99 MethodHeader → Type • MethodDeclarator Throws 100 | Type • MethodDeclarator 105 MethodDeclarator → • Identifier '(' FormalParameterList ')' 106 | • Identifier '(' ')' 107 | • MethodDeclarator '[' ']' Identifier shift, and go to state 126 VariableDeclarators go to state 127 VariableDeclarator go to state 128 VariableDeclaratorId go to state 129 MethodDeclarator go to state 130
8 Type → PrimitiveType • [Identifier] 26 ArrayType → PrimitiveType • '[' ']' '[' shift, and go to state 131 Identifier reduce using rule 8 (Type)
10 PrimitiveType → NumericType • [Identifier, '[', ')'] Identifier reduce using rule 10 (PrimitiveType) '[' reduce using rule 10 (PrimitiveType) ')' reduce using rule 10 (PrimitiveType)
12 NumericType → IntegralType • [Identifier, '[', ')'] Identifier reduce using rule 12 (NumericType) '[' reduce using rule 12 (NumericType) ')' reduce using rule 12 (NumericType)
13 NumericType → FloatingPointType • [Identifier, '[', ')'] Identifier reduce using rule 13 (NumericType) '[' reduce using rule 13 (NumericType) ')' reduce using rule 13 (NumericType)
9 Type → ReferenceType • [Identifier] Identifier reduce using rule 9 (Type)
21 ReferenceType → ClassOrInterfaceType • [Identifier, INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] Identifier reduce using rule 21 (ReferenceType) INSTANCEOF reduce using rule 21 (ReferenceType) LTEQ reduce using rule 21 (ReferenceType) GTEQ reduce using rule 21 (ReferenceType) EQEQ reduce using rule 21 (ReferenceType) BANGEQ reduce using rule 21 (ReferenceType) ANDAND reduce using rule 21 (ReferenceType) OROR reduce using rule 21 (ReferenceType) ']' reduce using rule 21 (ReferenceType) ';' reduce using rule 21 (ReferenceType) ',' reduce using rule 21 (ReferenceType) '}' reduce using rule 21 (ReferenceType) ')' reduce using rule 21 (ReferenceType) ':' reduce using rule 21 (ReferenceType) '<' reduce using rule 21 (ReferenceType) '>' reduce using rule 21 (ReferenceType) '&' reduce using rule 21 (ReferenceType) '^' reduce using rule 21 (ReferenceType) '|' reduce using rule 21 (ReferenceType) '?' reduce using rule 21 (ReferenceType)
22 ReferenceType → ArrayType • [Identifier, INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] 28 ArrayType → ArrayType • '[' ']' '[' shift, and go to state 132 Identifier reduce using rule 22 (ReferenceType) INSTANCEOF reduce using rule 22 (ReferenceType) LTEQ reduce using rule 22 (ReferenceType) GTEQ reduce using rule 22 (ReferenceType) EQEQ reduce using rule 22 (ReferenceType) BANGEQ reduce using rule 22 (ReferenceType) ANDAND reduce using rule 22 (ReferenceType) OROR reduce using rule 22 (ReferenceType) ']' reduce using rule 22 (ReferenceType) ';' reduce using rule 22 (ReferenceType) ',' reduce using rule 22 (ReferenceType) '}' reduce using rule 22 (ReferenceType) ')' reduce using rule 22 (ReferenceType) ':' reduce using rule 22 (ReferenceType) '<' reduce using rule 22 (ReferenceType) '>' reduce using rule 22 (ReferenceType) '&' reduce using rule 22 (ReferenceType) '^' reduce using rule 22 (ReferenceType) '|' reduce using rule 22 (ReferenceType) '?' reduce using rule 22 (ReferenceType)
23 ClassOrInterfaceType → Name • [Identifier, INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] 27 ArrayType → Name • '[' ']' 32 QualifiedName → Name • '.' Identifier '[' shift, and go to state 133 '.' shift, and go to state 45 Identifier reduce using rule 23 (ClassOrInterfaceType) INSTANCEOF reduce using rule 23 (ClassOrInterfaceType) LTEQ reduce using rule 23 (ClassOrInterfaceType) GTEQ reduce using rule 23 (ClassOrInterfaceType) EQEQ reduce using rule 23 (ClassOrInterfaceType) BANGEQ reduce using rule 23 (ClassOrInterfaceType) ANDAND reduce using rule 23 (ClassOrInterfaceType) OROR reduce using rule 23 (ClassOrInterfaceType) ']' reduce using rule 23 (ClassOrInterfaceType) ';' reduce using rule 23 (ClassOrInterfaceType) ',' reduce using rule 23 (ClassOrInterfaceType) '}' reduce using rule 23 (ClassOrInterfaceType) ')' reduce using rule 23 (ClassOrInterfaceType) ':' reduce using rule 23 (ClassOrInterfaceType) '<' reduce using rule 23 (ClassOrInterfaceType) '>' reduce using rule 23 (ClassOrInterfaceType) '&' reduce using rule 23 (ClassOrInterfaceType) '^' reduce using rule 23 (ClassOrInterfaceType) '|' reduce using rule 23 (ClassOrInterfaceType) '?' reduce using rule 23 (ClassOrInterfaceType)
29 Name → SimpleName • [Identifier, '[', '.'] 121 ConstructorDeclarator → SimpleName • '(' FormalParameterList ')' 122 | SimpleName • '(' ')' '(' shift, and go to state 134 Identifier reduce using rule 29 (Name) '[' reduce using rule 29 (Name) '.' reduce using rule 29 (Name)
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 54 Modifiers → Modifiers • Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 86 FieldDeclaration → Modifiers • Type VariableDeclarators ';' 97 MethodHeader → Modifiers • Type MethodDeclarator Throws 98 | Modifiers • Type MethodDeclarator 101 | Modifiers • VOID MethodDeclarator Throws 102 | Modifiers • VOID MethodDeclarator 117 ConstructorDeclaration → Modifiers • ConstructorDeclarator Throws ConstructorBody 118 | Modifiers • ConstructorDeclarator ConstructorBody 121 ConstructorDeclarator → • SimpleName '(' FormalParameterList ')' 122 | • SimpleName '(' ')' Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 VOID shift, and go to state 135 Type go to state 136 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 90 QualifiedName go to state 32 Modifier go to state 44 ConstructorDeclarator go to state 137
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 77 ClassBody → '{' ClassBodyDeclarations • '}' 80 ClassBodyDeclarations → ClassBodyDeclarations • ClassBodyDeclaration 81 ClassBodyDeclaration → • ClassMemberDeclaration 82 | • StaticInitializer 83 | • ConstructorDeclaration 84 ClassMemberDeclaration → • FieldDeclaration 85 | • MethodDeclaration 86 FieldDeclaration → • Modifiers Type VariableDeclarators ';' 87 | • Type VariableDeclarators ';' 96 MethodDeclaration → • MethodHeader MethodBody 97 MethodHeader → • Modifiers Type MethodDeclarator Throws 98 | • Modifiers Type MethodDeclarator 99 | • Type MethodDeclarator Throws 100 | • Type MethodDeclarator 101 | • Modifiers VOID MethodDeclarator Throws 102 | • Modifiers VOID MethodDeclarator 103 | • VOID MethodDeclarator Throws 104 | • VOID MethodDeclarator 116 StaticInitializer → • STATIC Block 117 ConstructorDeclaration → • Modifiers ConstructorDeclarator Throws ConstructorBody 118 | • Modifiers ConstructorDeclarator ConstructorBody 119 | • ConstructorDeclarator Throws ConstructorBody 120 | • ConstructorDeclarator ConstructorBody 121 ConstructorDeclarator → • SimpleName '(' FormalParameterList ')' 122 | • SimpleName '(' ')' Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 78 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 VOID shift, and go to state 79 '}' shift, and go to state 138 Type go to state 81 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 90 QualifiedName go to state 32 Modifiers go to state 91 Modifier go to state 26 ClassBodyDeclaration go to state 139 ClassMemberDeclaration go to state 94 FieldDeclaration go to state 95 MethodDeclaration go to state 96 MethodHeader go to state 97 StaticInitializer go to state 98 ConstructorDeclaration go to state 99 ConstructorDeclarator go to state 100
79 ClassBodyDeclarations → ClassBodyDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 79 (ClassBodyDeclarations) BOOLEAN reduce using rule 79 (ClassBodyDeclarations) BYTE reduce using rule 79 (ClassBodyDeclarations) SHORT reduce using rule 79 (ClassBodyDeclarations) INT reduce using rule 79 (ClassBodyDeclarations) LONG reduce using rule 79 (ClassBodyDeclarations) CHAR reduce using rule 79 (ClassBodyDeclarations) FLOAT reduce using rule 79 (ClassBodyDeclarations) DOUBLE reduce using rule 79 (ClassBodyDeclarations) PUBLIC reduce using rule 79 (ClassBodyDeclarations) PROTECTED reduce using rule 79 (ClassBodyDeclarations) PRIVATE reduce using rule 79 (ClassBodyDeclarations) STATIC reduce using rule 79 (ClassBodyDeclarations) ABSTRACT reduce using rule 79 (ClassBodyDeclarations) FINAL reduce using rule 79 (ClassBodyDeclarations) NATIVE reduce using rule 79 (ClassBodyDeclarations) SYNCHRONIZED reduce using rule 79 (ClassBodyDeclarations) TRANSIENT reduce using rule 79 (ClassBodyDeclarations) VOLATILE reduce using rule 79 (ClassBodyDeclarations) VOID reduce using rule 79 (ClassBodyDeclarations) '}' reduce using rule 79 (ClassBodyDeclarations)
81 ClassBodyDeclaration → ClassMemberDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 81 (ClassBodyDeclaration) BOOLEAN reduce using rule 81 (ClassBodyDeclaration) BYTE reduce using rule 81 (ClassBodyDeclaration) SHORT reduce using rule 81 (ClassBodyDeclaration) INT reduce using rule 81 (ClassBodyDeclaration) LONG reduce using rule 81 (ClassBodyDeclaration) CHAR reduce using rule 81 (ClassBodyDeclaration) FLOAT reduce using rule 81 (ClassBodyDeclaration) DOUBLE reduce using rule 81 (ClassBodyDeclaration) PUBLIC reduce using rule 81 (ClassBodyDeclaration) PROTECTED reduce using rule 81 (ClassBodyDeclaration) PRIVATE reduce using rule 81 (ClassBodyDeclaration) STATIC reduce using rule 81 (ClassBodyDeclaration) ABSTRACT reduce using rule 81 (ClassBodyDeclaration) FINAL reduce using rule 81 (ClassBodyDeclaration) NATIVE reduce using rule 81 (ClassBodyDeclaration) SYNCHRONIZED reduce using rule 81 (ClassBodyDeclaration) TRANSIENT reduce using rule 81 (ClassBodyDeclaration) VOLATILE reduce using rule 81 (ClassBodyDeclaration) VOID reduce using rule 81 (ClassBodyDeclaration) '}' reduce using rule 81 (ClassBodyDeclaration)
84 ClassMemberDeclaration → FieldDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 84 (ClassMemberDeclaration) BOOLEAN reduce using rule 84 (ClassMemberDeclaration) BYTE reduce using rule 84 (ClassMemberDeclaration) SHORT reduce using rule 84 (ClassMemberDeclaration) INT reduce using rule 84 (ClassMemberDeclaration) LONG reduce using rule 84 (ClassMemberDeclaration) CHAR reduce using rule 84 (ClassMemberDeclaration) FLOAT reduce using rule 84 (ClassMemberDeclaration) DOUBLE reduce using rule 84 (ClassMemberDeclaration) PUBLIC reduce using rule 84 (ClassMemberDeclaration) PROTECTED reduce using rule 84 (ClassMemberDeclaration) PRIVATE reduce using rule 84 (ClassMemberDeclaration) STATIC reduce using rule 84 (ClassMemberDeclaration) ABSTRACT reduce using rule 84 (ClassMemberDeclaration) FINAL reduce using rule 84 (ClassMemberDeclaration) NATIVE reduce using rule 84 (ClassMemberDeclaration) SYNCHRONIZED reduce using rule 84 (ClassMemberDeclaration) TRANSIENT reduce using rule 84 (ClassMemberDeclaration) VOLATILE reduce using rule 84 (ClassMemberDeclaration) VOID reduce using rule 84 (ClassMemberDeclaration) '}' reduce using rule 84 (ClassMemberDeclaration)
85 ClassMemberDeclaration → MethodDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 85 (ClassMemberDeclaration) BOOLEAN reduce using rule 85 (ClassMemberDeclaration) BYTE reduce using rule 85 (ClassMemberDeclaration) SHORT reduce using rule 85 (ClassMemberDeclaration) INT reduce using rule 85 (ClassMemberDeclaration) LONG reduce using rule 85 (ClassMemberDeclaration) CHAR reduce using rule 85 (ClassMemberDeclaration) FLOAT reduce using rule 85 (ClassMemberDeclaration) DOUBLE reduce using rule 85 (ClassMemberDeclaration) PUBLIC reduce using rule 85 (ClassMemberDeclaration) PROTECTED reduce using rule 85 (ClassMemberDeclaration) PRIVATE reduce using rule 85 (ClassMemberDeclaration) STATIC reduce using rule 85 (ClassMemberDeclaration) ABSTRACT reduce using rule 85 (ClassMemberDeclaration) FINAL reduce using rule 85 (ClassMemberDeclaration) NATIVE reduce using rule 85 (ClassMemberDeclaration) SYNCHRONIZED reduce using rule 85 (ClassMemberDeclaration) TRANSIENT reduce using rule 85 (ClassMemberDeclaration) VOLATILE reduce using rule 85 (ClassMemberDeclaration) VOID reduce using rule 85 (ClassMemberDeclaration) '}' reduce using rule 85 (ClassMemberDeclaration)
96 MethodDeclaration → MethodHeader • MethodBody 114 MethodBody → • Block 115 | • ';' 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' ';' shift, and go to state 140 '{' shift, and go to state 122 MethodBody go to state 141 Block go to state 142
82 ClassBodyDeclaration → StaticInitializer • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 82 (ClassBodyDeclaration) BOOLEAN reduce using rule 82 (ClassBodyDeclaration) BYTE reduce using rule 82 (ClassBodyDeclaration) SHORT reduce using rule 82 (ClassBodyDeclaration) INT reduce using rule 82 (ClassBodyDeclaration) LONG reduce using rule 82 (ClassBodyDeclaration) CHAR reduce using rule 82 (ClassBodyDeclaration) FLOAT reduce using rule 82 (ClassBodyDeclaration) DOUBLE reduce using rule 82 (ClassBodyDeclaration) PUBLIC reduce using rule 82 (ClassBodyDeclaration) PROTECTED reduce using rule 82 (ClassBodyDeclaration) PRIVATE reduce using rule 82 (ClassBodyDeclaration) STATIC reduce using rule 82 (ClassBodyDeclaration) ABSTRACT reduce using rule 82 (ClassBodyDeclaration) FINAL reduce using rule 82 (ClassBodyDeclaration) NATIVE reduce using rule 82 (ClassBodyDeclaration) SYNCHRONIZED reduce using rule 82 (ClassBodyDeclaration) TRANSIENT reduce using rule 82 (ClassBodyDeclaration) VOLATILE reduce using rule 82 (ClassBodyDeclaration) VOID reduce using rule 82 (ClassBodyDeclaration) '}' reduce using rule 82 (ClassBodyDeclaration)
83 ClassBodyDeclaration → ConstructorDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 83 (ClassBodyDeclaration) BOOLEAN reduce using rule 83 (ClassBodyDeclaration) BYTE reduce using rule 83 (ClassBodyDeclaration) SHORT reduce using rule 83 (ClassBodyDeclaration) INT reduce using rule 83 (ClassBodyDeclaration) LONG reduce using rule 83 (ClassBodyDeclaration) CHAR reduce using rule 83 (ClassBodyDeclaration) FLOAT reduce using rule 83 (ClassBodyDeclaration) DOUBLE reduce using rule 83 (ClassBodyDeclaration) PUBLIC reduce using rule 83 (ClassBodyDeclaration) PROTECTED reduce using rule 83 (ClassBodyDeclaration) PRIVATE reduce using rule 83 (ClassBodyDeclaration) STATIC reduce using rule 83 (ClassBodyDeclaration) ABSTRACT reduce using rule 83 (ClassBodyDeclaration) FINAL reduce using rule 83 (ClassBodyDeclaration) NATIVE reduce using rule 83 (ClassBodyDeclaration) SYNCHRONIZED reduce using rule 83 (ClassBodyDeclaration) TRANSIENT reduce using rule 83 (ClassBodyDeclaration) VOLATILE reduce using rule 83 (ClassBodyDeclaration) VOID reduce using rule 83 (ClassBodyDeclaration) '}' reduce using rule 83 (ClassBodyDeclaration)
111 Throws → • THROWS ClassTypeList 119 ConstructorDeclaration → ConstructorDeclarator • Throws ConstructorBody 120 | ConstructorDeclarator • ConstructorBody 123 ConstructorBody → • '{' ExplicitConstructorInvocation BlockStatements '}' 124 | • '{' ExplicitConstructorInvocation '}' 125 | • '{' BlockStatements '}' 126 | • '{' '}' THROWS shift, and go to state 143 '{' shift, and go to state 144 Throws go to state 145 ConstructorBody go to state 146
69 ClassDeclaration → CLASS Identifier Super Interfaces • ClassBody 77 ClassBody → • '{' ClassBodyDeclarations '}' 78 | • '{' '}' '{' shift, and go to state 51 ClassBody go to state 147
70 ClassDeclaration → CLASS Identifier Super ClassBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 70 (ClassDeclaration) CLASS reduce using rule 70 (ClassDeclaration) INTERFACE reduce using rule 70 (ClassDeclaration) PUBLIC reduce using rule 70 (ClassDeclaration) PROTECTED reduce using rule 70 (ClassDeclaration) PRIVATE reduce using rule 70 (ClassDeclaration) STATIC reduce using rule 70 (ClassDeclaration) ABSTRACT reduce using rule 70 (ClassDeclaration) FINAL reduce using rule 70 (ClassDeclaration) NATIVE reduce using rule 70 (ClassDeclaration) SYNCHRONIZED reduce using rule 70 (ClassDeclaration) TRANSIENT reduce using rule 70 (ClassDeclaration) VOLATILE reduce using rule 70 (ClassDeclaration) ';' reduce using rule 70 (ClassDeclaration)
71 ClassDeclaration → CLASS Identifier Interfaces ClassBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 71 (ClassDeclaration) CLASS reduce using rule 71 (ClassDeclaration) INTERFACE reduce using rule 71 (ClassDeclaration) PUBLIC reduce using rule 71 (ClassDeclaration) PROTECTED reduce using rule 71 (ClassDeclaration) PRIVATE reduce using rule 71 (ClassDeclaration) STATIC reduce using rule 71 (ClassDeclaration) ABSTRACT reduce using rule 71 (ClassDeclaration) FINAL reduce using rule 71 (ClassDeclaration) NATIVE reduce using rule 71 (ClassDeclaration) SYNCHRONIZED reduce using rule 71 (ClassDeclaration) TRANSIENT reduce using rule 71 (ClassDeclaration) VOLATILE reduce using rule 71 (ClassDeclaration) ';' reduce using rule 71 (ClassDeclaration)
135 ExtendsInterfaces → EXTENDS InterfaceType • [',', '{'] ',' reduce using rule 135 (ExtendsInterfaces) '{' reduce using rule 135 (ExtendsInterfaces)
138 InterfaceBody → '{' '}' • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 138 (InterfaceBody) CLASS reduce using rule 138 (InterfaceBody) INTERFACE reduce using rule 138 (InterfaceBody) PUBLIC reduce using rule 138 (InterfaceBody) PROTECTED reduce using rule 138 (InterfaceBody) PRIVATE reduce using rule 138 (InterfaceBody) STATIC reduce using rule 138 (InterfaceBody) ABSTRACT reduce using rule 138 (InterfaceBody) FINAL reduce using rule 138 (InterfaceBody) NATIVE reduce using rule 138 (InterfaceBody) SYNCHRONIZED reduce using rule 138 (InterfaceBody) TRANSIENT reduce using rule 138 (InterfaceBody) VOLATILE reduce using rule 138 (InterfaceBody) ';' reduce using rule 138 (InterfaceBody)
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 54 Modifiers → Modifiers • Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 86 FieldDeclaration → Modifiers • Type VariableDeclarators ';' 97 MethodHeader → Modifiers • Type MethodDeclarator Throws 98 | Modifiers • Type MethodDeclarator 101 | Modifiers • VOID MethodDeclarator Throws 102 | Modifiers • VOID MethodDeclarator Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 VOID shift, and go to state 135 Type go to state 136 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 31 QualifiedName go to state 32 Modifier go to state 44
143 ConstantDeclaration → FieldDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 143 (ConstantDeclaration) BOOLEAN reduce using rule 143 (ConstantDeclaration) BYTE reduce using rule 143 (ConstantDeclaration) SHORT reduce using rule 143 (ConstantDeclaration) INT reduce using rule 143 (ConstantDeclaration) LONG reduce using rule 143 (ConstantDeclaration) CHAR reduce using rule 143 (ConstantDeclaration) FLOAT reduce using rule 143 (ConstantDeclaration) DOUBLE reduce using rule 143 (ConstantDeclaration) PUBLIC reduce using rule 143 (ConstantDeclaration) PROTECTED reduce using rule 143 (ConstantDeclaration) PRIVATE reduce using rule 143 (ConstantDeclaration) STATIC reduce using rule 143 (ConstantDeclaration) ABSTRACT reduce using rule 143 (ConstantDeclaration) FINAL reduce using rule 143 (ConstantDeclaration) NATIVE reduce using rule 143 (ConstantDeclaration) SYNCHRONIZED reduce using rule 143 (ConstantDeclaration) TRANSIENT reduce using rule 143 (ConstantDeclaration) VOLATILE reduce using rule 143 (ConstantDeclaration) VOID reduce using rule 143 (ConstantDeclaration) '}' reduce using rule 143 (ConstantDeclaration)
144 AbstractMethodDeclaration → MethodHeader • ';' ';' shift, and go to state 148
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 53 Modifiers → • Modifier 54 | • Modifiers Modifier 55 Modifier → • PUBLIC 56 | • PROTECTED 57 | • PRIVATE 58 | • STATIC 59 | • ABSTRACT 60 | • FINAL 61 | • NATIVE 62 | • SYNCHRONIZED 63 | • TRANSIENT 64 | • VOLATILE 86 FieldDeclaration → • Modifiers Type VariableDeclarators ';' 87 | • Type VariableDeclarators ';' 97 MethodHeader → • Modifiers Type MethodDeclarator Throws 98 | • Modifiers Type MethodDeclarator 99 | • Type MethodDeclarator Throws 100 | • Type MethodDeclarator 101 | • Modifiers VOID MethodDeclarator Throws 102 | • Modifiers VOID MethodDeclarator 103 | • VOID MethodDeclarator Throws 104 | • VOID MethodDeclarator 137 InterfaceBody → '{' InterfaceMemberDeclarations • '}' 140 InterfaceMemberDeclarations → InterfaceMemberDeclarations • InterfaceMemberDeclaration 141 InterfaceMemberDeclaration → • ConstantDeclaration 142 | • AbstractMethodDeclaration 143 ConstantDeclaration → • FieldDeclaration 144 AbstractMethodDeclaration → • MethodHeader ';' Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 PUBLIC shift, and go to state 5 PROTECTED shift, and go to state 6 PRIVATE shift, and go to state 7 STATIC shift, and go to state 8 ABSTRACT shift, and go to state 9 FINAL shift, and go to state 10 NATIVE shift, and go to state 11 SYNCHRONIZED shift, and go to state 12 TRANSIENT shift, and go to state 13 VOLATILE shift, and go to state 14 VOID shift, and go to state 79 '}' shift, and go to state 149 Type go to state 81 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 31 QualifiedName go to state 32 Modifiers go to state 106 Modifier go to state 26 FieldDeclaration go to state 107 MethodHeader go to state 108 InterfaceMemberDeclaration go to state 150 ConstantDeclaration go to state 111 AbstractMethodDeclaration go to state 112
139 InterfaceMemberDeclarations → InterfaceMemberDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 139 (InterfaceMemberDeclarations) BOOLEAN reduce using rule 139 (InterfaceMemberDeclarations) BYTE reduce using rule 139 (InterfaceMemberDeclarations) SHORT reduce using rule 139 (InterfaceMemberDeclarations) INT reduce using rule 139 (InterfaceMemberDeclarations) LONG reduce using rule 139 (InterfaceMemberDeclarations) CHAR reduce using rule 139 (InterfaceMemberDeclarations) FLOAT reduce using rule 139 (InterfaceMemberDeclarations) DOUBLE reduce using rule 139 (InterfaceMemberDeclarations) PUBLIC reduce using rule 139 (InterfaceMemberDeclarations) PROTECTED reduce using rule 139 (InterfaceMemberDeclarations) PRIVATE reduce using rule 139 (InterfaceMemberDeclarations) STATIC reduce using rule 139 (InterfaceMemberDeclarations) ABSTRACT reduce using rule 139 (InterfaceMemberDeclarations) FINAL reduce using rule 139 (InterfaceMemberDeclarations) NATIVE reduce using rule 139 (InterfaceMemberDeclarations) SYNCHRONIZED reduce using rule 139 (InterfaceMemberDeclarations) TRANSIENT reduce using rule 139 (InterfaceMemberDeclarations) VOLATILE reduce using rule 139 (InterfaceMemberDeclarations) VOID reduce using rule 139 (InterfaceMemberDeclarations) '}' reduce using rule 139 (InterfaceMemberDeclarations)
141 InterfaceMemberDeclaration → ConstantDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 141 (InterfaceMemberDeclaration) BOOLEAN reduce using rule 141 (InterfaceMemberDeclaration) BYTE reduce using rule 141 (InterfaceMemberDeclaration) SHORT reduce using rule 141 (InterfaceMemberDeclaration) INT reduce using rule 141 (InterfaceMemberDeclaration) LONG reduce using rule 141 (InterfaceMemberDeclaration) CHAR reduce using rule 141 (InterfaceMemberDeclaration) FLOAT reduce using rule 141 (InterfaceMemberDeclaration) DOUBLE reduce using rule 141 (InterfaceMemberDeclaration) PUBLIC reduce using rule 141 (InterfaceMemberDeclaration) PROTECTED reduce using rule 141 (InterfaceMemberDeclaration) PRIVATE reduce using rule 141 (InterfaceMemberDeclaration) STATIC reduce using rule 141 (InterfaceMemberDeclaration) ABSTRACT reduce using rule 141 (InterfaceMemberDeclaration) FINAL reduce using rule 141 (InterfaceMemberDeclaration) NATIVE reduce using rule 141 (InterfaceMemberDeclaration) SYNCHRONIZED reduce using rule 141 (InterfaceMemberDeclaration) TRANSIENT reduce using rule 141 (InterfaceMemberDeclaration) VOLATILE reduce using rule 141 (InterfaceMemberDeclaration) VOID reduce using rule 141 (InterfaceMemberDeclaration) '}' reduce using rule 141 (InterfaceMemberDeclaration)
142 InterfaceMemberDeclaration → AbstractMethodDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 142 (InterfaceMemberDeclaration) BOOLEAN reduce using rule 142 (InterfaceMemberDeclaration) BYTE reduce using rule 142 (InterfaceMemberDeclaration) SHORT reduce using rule 142 (InterfaceMemberDeclaration) INT reduce using rule 142 (InterfaceMemberDeclaration) LONG reduce using rule 142 (InterfaceMemberDeclaration) CHAR reduce using rule 142 (InterfaceMemberDeclaration) FLOAT reduce using rule 142 (InterfaceMemberDeclaration) DOUBLE reduce using rule 142 (InterfaceMemberDeclaration) PUBLIC reduce using rule 142 (InterfaceMemberDeclaration) PROTECTED reduce using rule 142 (InterfaceMemberDeclaration) PRIVATE reduce using rule 142 (InterfaceMemberDeclaration) STATIC reduce using rule 142 (InterfaceMemberDeclaration) ABSTRACT reduce using rule 142 (InterfaceMemberDeclaration) FINAL reduce using rule 142 (InterfaceMemberDeclaration) NATIVE reduce using rule 142 (InterfaceMemberDeclaration) SYNCHRONIZED reduce using rule 142 (InterfaceMemberDeclaration) TRANSIENT reduce using rule 142 (InterfaceMemberDeclaration) VOLATILE reduce using rule 142 (InterfaceMemberDeclaration) VOID reduce using rule 142 (InterfaceMemberDeclaration) '}' reduce using rule 142 (InterfaceMemberDeclaration)
23 ClassOrInterfaceType → • Name 25 InterfaceType → • ClassOrInterfaceType 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 136 ExtendsInterfaces → ExtendsInterfaces ',' • InterfaceType Identifier shift, and go to state 29 ClassOrInterfaceType go to state 67 InterfaceType go to state 151 Name go to state 66 SimpleName go to state 31 QualifiedName go to state 32
133 InterfaceDeclaration → INTERFACE Identifier ExtendsInterfaces InterfaceBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 133 (InterfaceDeclaration) CLASS reduce using rule 133 (InterfaceDeclaration) INTERFACE reduce using rule 133 (InterfaceDeclaration) PUBLIC reduce using rule 133 (InterfaceDeclaration) PROTECTED reduce using rule 133 (InterfaceDeclaration) PRIVATE reduce using rule 133 (InterfaceDeclaration) STATIC reduce using rule 133 (InterfaceDeclaration) ABSTRACT reduce using rule 133 (InterfaceDeclaration) FINAL reduce using rule 133 (InterfaceDeclaration) NATIVE reduce using rule 133 (InterfaceDeclaration) SYNCHRONIZED reduce using rule 133 (InterfaceDeclaration) TRANSIENT reduce using rule 133 (InterfaceDeclaration) VOLATILE reduce using rule 133 (InterfaceDeclaration) ';' reduce using rule 133 (InterfaceDeclaration)
65 ClassDeclaration → Modifiers CLASS Identifier Super • Interfaces ClassBody 66 | Modifiers CLASS Identifier Super • ClassBody 74 Interfaces → • IMPLEMENTS InterfaceTypeList 77 ClassBody → • '{' ClassBodyDeclarations '}' 78 | • '{' '}' IMPLEMENTS shift, and go to state 50 '{' shift, and go to state 51 Interfaces go to state 152 ClassBody go to state 153
67 ClassDeclaration → Modifiers CLASS Identifier Interfaces • ClassBody 77 ClassBody → • '{' ClassBodyDeclarations '}' 78 | • '{' '}' '{' shift, and go to state 51 ClassBody go to state 154
68 ClassDeclaration → Modifiers CLASS Identifier ClassBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 68 (ClassDeclaration) CLASS reduce using rule 68 (ClassDeclaration) INTERFACE reduce using rule 68 (ClassDeclaration) PUBLIC reduce using rule 68 (ClassDeclaration) PROTECTED reduce using rule 68 (ClassDeclaration) PRIVATE reduce using rule 68 (ClassDeclaration) STATIC reduce using rule 68 (ClassDeclaration) ABSTRACT reduce using rule 68 (ClassDeclaration) FINAL reduce using rule 68 (ClassDeclaration) NATIVE reduce using rule 68 (ClassDeclaration) SYNCHRONIZED reduce using rule 68 (ClassDeclaration) TRANSIENT reduce using rule 68 (ClassDeclaration) VOLATILE reduce using rule 68 (ClassDeclaration) ';' reduce using rule 68 (ClassDeclaration)
131 InterfaceDeclaration → Modifiers INTERFACE Identifier ExtendsInterfaces • InterfaceBody 136 ExtendsInterfaces → ExtendsInterfaces • ',' InterfaceType 137 InterfaceBody → • '{' InterfaceMemberDeclarations '}' 138 | • '{' '}' ',' shift, and go to state 113 '{' shift, and go to state 56 InterfaceBody go to state 155
132 InterfaceDeclaration → Modifiers INTERFACE Identifier InterfaceBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 132 (InterfaceDeclaration) CLASS reduce using rule 132 (InterfaceDeclaration) INTERFACE reduce using rule 132 (InterfaceDeclaration) PUBLIC reduce using rule 132 (InterfaceDeclaration) PROTECTED reduce using rule 132 (InterfaceDeclaration) PRIVATE reduce using rule 132 (InterfaceDeclaration) STATIC reduce using rule 132 (InterfaceDeclaration) ABSTRACT reduce using rule 132 (InterfaceDeclaration) FINAL reduce using rule 132 (InterfaceDeclaration) NATIVE reduce using rule 132 (InterfaceDeclaration) SYNCHRONIZED reduce using rule 132 (InterfaceDeclaration) TRANSIENT reduce using rule 132 (InterfaceDeclaration) VOLATILE reduce using rule 132 (InterfaceDeclaration) ';' reduce using rule 132 (InterfaceDeclaration)
49 TypeImportOnDemandDeclaration → IMPORT Name '.' '*' ';' • [$end, IMPORT, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 49 (TypeImportOnDemandDeclaration) IMPORT reduce using rule 49 (TypeImportOnDemandDeclaration) CLASS reduce using rule 49 (TypeImportOnDemandDeclaration) INTERFACE reduce using rule 49 (TypeImportOnDemandDeclaration) PUBLIC reduce using rule 49 (TypeImportOnDemandDeclaration) PROTECTED reduce using rule 49 (TypeImportOnDemandDeclaration) PRIVATE reduce using rule 49 (TypeImportOnDemandDeclaration) STATIC reduce using rule 49 (TypeImportOnDemandDeclaration) ABSTRACT reduce using rule 49 (TypeImportOnDemandDeclaration) FINAL reduce using rule 49 (TypeImportOnDemandDeclaration) NATIVE reduce using rule 49 (TypeImportOnDemandDeclaration) SYNCHRONIZED reduce using rule 49 (TypeImportOnDemandDeclaration) TRANSIENT reduce using rule 49 (TypeImportOnDemandDeclaration) VOLATILE reduce using rule 49 (TypeImportOnDemandDeclaration) ';' reduce using rule 49 (TypeImportOnDemandDeclaration)
23 ClassOrInterfaceType → • Name 25 InterfaceType → • ClassOrInterfaceType 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 76 InterfaceTypeList → InterfaceTypeList ',' • InterfaceType Identifier shift, and go to state 29 ClassOrInterfaceType go to state 67 InterfaceType go to state 156 Name go to state 66 SimpleName go to state 31 QualifiedName go to state 32
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 151 | '{' • BlockStatements '}' 152 | • '{' '}' 152 | '{' • '}' 153 BlockStatements → • BlockStatement 154 | • BlockStatements BlockStatement 155 BlockStatement → • LocalVariableDeclarationStatement 156 | • Statement 157 LocalVariableDeclarationStatement → • LocalVariableDeclaration ';' 158 LocalVariableDeclaration → • Type VariableDeclarators 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '}' shift, and go to state 181 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 BlockStatements go to state 187 BlockStatement go to state 188 LocalVariableDeclarationStatement go to state 189 LocalVariableDeclaration go to state 190 Statement go to state 191 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
116 StaticInitializer → STATIC Block • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 116 (StaticInitializer) BOOLEAN reduce using rule 116 (StaticInitializer) BYTE reduce using rule 116 (StaticInitializer) SHORT reduce using rule 116 (StaticInitializer) INT reduce using rule 116 (StaticInitializer) LONG reduce using rule 116 (StaticInitializer) CHAR reduce using rule 116 (StaticInitializer) FLOAT reduce using rule 116 (StaticInitializer) DOUBLE reduce using rule 116 (StaticInitializer) PUBLIC reduce using rule 116 (StaticInitializer) PROTECTED reduce using rule 116 (StaticInitializer) PRIVATE reduce using rule 116 (StaticInitializer) STATIC reduce using rule 116 (StaticInitializer) ABSTRACT reduce using rule 116 (StaticInitializer) FINAL reduce using rule 116 (StaticInitializer) NATIVE reduce using rule 116 (StaticInitializer) SYNCHRONIZED reduce using rule 116 (StaticInitializer) TRANSIENT reduce using rule 116 (StaticInitializer) VOLATILE reduce using rule 116 (StaticInitializer) VOID reduce using rule 116 (StaticInitializer) '}' reduce using rule 116 (StaticInitializer)
105 MethodDeclarator → Identifier • '(' FormalParameterList ')' 106 | Identifier • '(' ')' '(' shift, and go to state 223
103 MethodHeader → VOID MethodDeclarator • Throws 104 | VOID MethodDeclarator • [';', '{'] 107 MethodDeclarator → MethodDeclarator • '[' ']' 111 Throws → • THROWS ClassTypeList THROWS shift, and go to state 143 '[' shift, and go to state 224 ';' reduce using rule 104 (MethodHeader) '{' reduce using rule 104 (MethodHeader) Throws go to state 225
92 VariableDeclaratorId → Identifier • ['[', ';', ',', '='] 105 MethodDeclarator → Identifier • '(' FormalParameterList ')' 106 | Identifier • '(' ')' '(' shift, and go to state 223 '[' reduce using rule 92 (VariableDeclaratorId) ';' reduce using rule 92 (VariableDeclaratorId) ',' reduce using rule 92 (VariableDeclaratorId) '=' reduce using rule 92 (VariableDeclaratorId)
87 FieldDeclaration → Type VariableDeclarators • ';' 89 VariableDeclarators → VariableDeclarators • ',' VariableDeclarator ';' shift, and go to state 226 ',' shift, and go to state 227
88 VariableDeclarators → VariableDeclarator • [';', ','] ';' reduce using rule 88 (VariableDeclarators) ',' reduce using rule 88 (VariableDeclarators)
90 VariableDeclarator → VariableDeclaratorId • [';', ','] 91 | VariableDeclaratorId • '=' VariableInitializer 93 VariableDeclaratorId → VariableDeclaratorId • '[' ']' '[' shift, and go to state 228 '=' shift, and go to state 229 ';' reduce using rule 90 (VariableDeclarator) ',' reduce using rule 90 (VariableDeclarator)
99 MethodHeader → Type MethodDeclarator • Throws 100 | Type MethodDeclarator • [';', '{'] 107 MethodDeclarator → MethodDeclarator • '[' ']' 111 Throws → • THROWS ClassTypeList THROWS shift, and go to state 143 '[' shift, and go to state 224 ';' reduce using rule 100 (MethodHeader) '{' reduce using rule 100 (MethodHeader) Throws go to state 230
26 ArrayType → PrimitiveType '[' • ']' ']' shift, and go to state 231
28 ArrayType → ArrayType '[' • ']' ']' shift, and go to state 232
27 ArrayType → Name '[' • ']' ']' shift, and go to state 233
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 108 FormalParameterList → • FormalParameter 109 | • FormalParameterList ',' FormalParameter 110 FormalParameter → • Type VariableDeclaratorId 121 ConstructorDeclarator → SimpleName '(' • FormalParameterList ')' 122 | SimpleName '(' • ')' Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 ')' shift, and go to state 234 Type go to state 235 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 31 QualifiedName go to state 32 FormalParameterList go to state 236 FormalParameter go to state 237
101 MethodHeader → Modifiers VOID • MethodDeclarator Throws 102 | Modifiers VOID • MethodDeclarator 105 MethodDeclarator → • Identifier '(' FormalParameterList ')' 106 | • Identifier '(' ')' 107 | • MethodDeclarator '[' ']' Identifier shift, and go to state 124 MethodDeclarator go to state 238
86 FieldDeclaration → Modifiers Type • VariableDeclarators ';' 88 VariableDeclarators → • VariableDeclarator 89 | • VariableDeclarators ',' VariableDeclarator 90 VariableDeclarator → • VariableDeclaratorId 91 | • VariableDeclaratorId '=' VariableInitializer 92 VariableDeclaratorId → • Identifier 93 | • VariableDeclaratorId '[' ']' 97 MethodHeader → Modifiers Type • MethodDeclarator Throws 98 | Modifiers Type • MethodDeclarator 105 MethodDeclarator → • Identifier '(' FormalParameterList ')' 106 | • Identifier '(' ')' 107 | • MethodDeclarator '[' ']' Identifier shift, and go to state 126 VariableDeclarators go to state 239 VariableDeclarator go to state 128 VariableDeclaratorId go to state 129 MethodDeclarator go to state 240
111 Throws → • THROWS ClassTypeList 117 ConstructorDeclaration → Modifiers ConstructorDeclarator • Throws ConstructorBody 118 | Modifiers ConstructorDeclarator • ConstructorBody 123 ConstructorBody → • '{' ExplicitConstructorInvocation BlockStatements '}' 124 | • '{' ExplicitConstructorInvocation '}' 125 | • '{' BlockStatements '}' 126 | • '{' '}' THROWS shift, and go to state 143 '{' shift, and go to state 144 Throws go to state 241 ConstructorBody go to state 242
77 ClassBody → '{' ClassBodyDeclarations '}' • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 77 (ClassBody) CLASS reduce using rule 77 (ClassBody) INTERFACE reduce using rule 77 (ClassBody) PUBLIC reduce using rule 77 (ClassBody) PROTECTED reduce using rule 77 (ClassBody) PRIVATE reduce using rule 77 (ClassBody) STATIC reduce using rule 77 (ClassBody) ABSTRACT reduce using rule 77 (ClassBody) FINAL reduce using rule 77 (ClassBody) NATIVE reduce using rule 77 (ClassBody) SYNCHRONIZED reduce using rule 77 (ClassBody) TRANSIENT reduce using rule 77 (ClassBody) VOLATILE reduce using rule 77 (ClassBody) ';' reduce using rule 77 (ClassBody)
80 ClassBodyDeclarations → ClassBodyDeclarations ClassBodyDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 80 (ClassBodyDeclarations) BOOLEAN reduce using rule 80 (ClassBodyDeclarations) BYTE reduce using rule 80 (ClassBodyDeclarations) SHORT reduce using rule 80 (ClassBodyDeclarations) INT reduce using rule 80 (ClassBodyDeclarations) LONG reduce using rule 80 (ClassBodyDeclarations) CHAR reduce using rule 80 (ClassBodyDeclarations) FLOAT reduce using rule 80 (ClassBodyDeclarations) DOUBLE reduce using rule 80 (ClassBodyDeclarations) PUBLIC reduce using rule 80 (ClassBodyDeclarations) PROTECTED reduce using rule 80 (ClassBodyDeclarations) PRIVATE reduce using rule 80 (ClassBodyDeclarations) STATIC reduce using rule 80 (ClassBodyDeclarations) ABSTRACT reduce using rule 80 (ClassBodyDeclarations) FINAL reduce using rule 80 (ClassBodyDeclarations) NATIVE reduce using rule 80 (ClassBodyDeclarations) SYNCHRONIZED reduce using rule 80 (ClassBodyDeclarations) TRANSIENT reduce using rule 80 (ClassBodyDeclarations) VOLATILE reduce using rule 80 (ClassBodyDeclarations) VOID reduce using rule 80 (ClassBodyDeclarations) '}' reduce using rule 80 (ClassBodyDeclarations)
115 MethodBody → ';' • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 115 (MethodBody) BOOLEAN reduce using rule 115 (MethodBody) BYTE reduce using rule 115 (MethodBody) SHORT reduce using rule 115 (MethodBody) INT reduce using rule 115 (MethodBody) LONG reduce using rule 115 (MethodBody) CHAR reduce using rule 115 (MethodBody) FLOAT reduce using rule 115 (MethodBody) DOUBLE reduce using rule 115 (MethodBody) PUBLIC reduce using rule 115 (MethodBody) PROTECTED reduce using rule 115 (MethodBody) PRIVATE reduce using rule 115 (MethodBody) STATIC reduce using rule 115 (MethodBody) ABSTRACT reduce using rule 115 (MethodBody) FINAL reduce using rule 115 (MethodBody) NATIVE reduce using rule 115 (MethodBody) SYNCHRONIZED reduce using rule 115 (MethodBody) TRANSIENT reduce using rule 115 (MethodBody) VOLATILE reduce using rule 115 (MethodBody) VOID reduce using rule 115 (MethodBody) '}' reduce using rule 115 (MethodBody)
96 MethodDeclaration → MethodHeader MethodBody • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 96 (MethodDeclaration) BOOLEAN reduce using rule 96 (MethodDeclaration) BYTE reduce using rule 96 (MethodDeclaration) SHORT reduce using rule 96 (MethodDeclaration) INT reduce using rule 96 (MethodDeclaration) LONG reduce using rule 96 (MethodDeclaration) CHAR reduce using rule 96 (MethodDeclaration) FLOAT reduce using rule 96 (MethodDeclaration) DOUBLE reduce using rule 96 (MethodDeclaration) PUBLIC reduce using rule 96 (MethodDeclaration) PROTECTED reduce using rule 96 (MethodDeclaration) PRIVATE reduce using rule 96 (MethodDeclaration) STATIC reduce using rule 96 (MethodDeclaration) ABSTRACT reduce using rule 96 (MethodDeclaration) FINAL reduce using rule 96 (MethodDeclaration) NATIVE reduce using rule 96 (MethodDeclaration) SYNCHRONIZED reduce using rule 96 (MethodDeclaration) TRANSIENT reduce using rule 96 (MethodDeclaration) VOLATILE reduce using rule 96 (MethodDeclaration) VOID reduce using rule 96 (MethodDeclaration) '}' reduce using rule 96 (MethodDeclaration)
114 MethodBody → Block • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 114 (MethodBody) BOOLEAN reduce using rule 114 (MethodBody) BYTE reduce using rule 114 (MethodBody) SHORT reduce using rule 114 (MethodBody) INT reduce using rule 114 (MethodBody) LONG reduce using rule 114 (MethodBody) CHAR reduce using rule 114 (MethodBody) FLOAT reduce using rule 114 (MethodBody) DOUBLE reduce using rule 114 (MethodBody) PUBLIC reduce using rule 114 (MethodBody) PROTECTED reduce using rule 114 (MethodBody) PRIVATE reduce using rule 114 (MethodBody) STATIC reduce using rule 114 (MethodBody) ABSTRACT reduce using rule 114 (MethodBody) FINAL reduce using rule 114 (MethodBody) NATIVE reduce using rule 114 (MethodBody) SYNCHRONIZED reduce using rule 114 (MethodBody) TRANSIENT reduce using rule 114 (MethodBody) VOLATILE reduce using rule 114 (MethodBody) VOID reduce using rule 114 (MethodBody) '}' reduce using rule 114 (MethodBody)
23 ClassOrInterfaceType → • Name 24 ClassType → • ClassOrInterfaceType 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 111 Throws → THROWS • ClassTypeList 112 ClassTypeList → • ClassType 113 | • ClassTypeList ',' ClassType Identifier shift, and go to state 29 ClassOrInterfaceType go to state 64 ClassType go to state 243 Name go to state 66 SimpleName go to state 31 QualifiedName go to state 32 ClassTypeList go to state 244
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 123 ConstructorBody → '{' • ExplicitConstructorInvocation BlockStatements '}' 124 | '{' • ExplicitConstructorInvocation '}' 125 | '{' • BlockStatements '}' 126 | '{' • '}' 127 ExplicitConstructorInvocation → • THIS '(' ArgumentList ')' ';' 128 | • THIS '(' ')' ';' 129 | • SUPER '(' ArgumentList ')' ';' 130 | • SUPER '(' ')' ';' 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 153 BlockStatements → • BlockStatement 154 | • BlockStatements BlockStatement 155 BlockStatement → • LocalVariableDeclarationStatement 156 | • Statement 157 LocalVariableDeclarationStatement → • LocalVariableDeclaration ';' 158 LocalVariableDeclaration → • Type VariableDeclarators 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 245 SUPER shift, and go to state 246 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '}' shift, and go to state 247 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 ExplicitConstructorInvocation go to state 248 Block go to state 186 BlockStatements go to state 249 BlockStatement go to state 188 LocalVariableDeclarationStatement go to state 189 LocalVariableDeclaration go to state 190 Statement go to state 191 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
119 ConstructorDeclaration → ConstructorDeclarator Throws • ConstructorBody 123 ConstructorBody → • '{' ExplicitConstructorInvocation BlockStatements '}' 124 | • '{' ExplicitConstructorInvocation '}' 125 | • '{' BlockStatements '}' 126 | • '{' '}' '{' shift, and go to state 144 ConstructorBody go to state 250
120 ConstructorDeclaration → ConstructorDeclarator ConstructorBody • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 120 (ConstructorDeclaration) BOOLEAN reduce using rule 120 (ConstructorDeclaration) BYTE reduce using rule 120 (ConstructorDeclaration) SHORT reduce using rule 120 (ConstructorDeclaration) INT reduce using rule 120 (ConstructorDeclaration) LONG reduce using rule 120 (ConstructorDeclaration) CHAR reduce using rule 120 (ConstructorDeclaration) FLOAT reduce using rule 120 (ConstructorDeclaration) DOUBLE reduce using rule 120 (ConstructorDeclaration) PUBLIC reduce using rule 120 (ConstructorDeclaration) PROTECTED reduce using rule 120 (ConstructorDeclaration) PRIVATE reduce using rule 120 (ConstructorDeclaration) STATIC reduce using rule 120 (ConstructorDeclaration) ABSTRACT reduce using rule 120 (ConstructorDeclaration) FINAL reduce using rule 120 (ConstructorDeclaration) NATIVE reduce using rule 120 (ConstructorDeclaration) SYNCHRONIZED reduce using rule 120 (ConstructorDeclaration) TRANSIENT reduce using rule 120 (ConstructorDeclaration) VOLATILE reduce using rule 120 (ConstructorDeclaration) VOID reduce using rule 120 (ConstructorDeclaration) '}' reduce using rule 120 (ConstructorDeclaration)
69 ClassDeclaration → CLASS Identifier Super Interfaces ClassBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 69 (ClassDeclaration) CLASS reduce using rule 69 (ClassDeclaration) INTERFACE reduce using rule 69 (ClassDeclaration) PUBLIC reduce using rule 69 (ClassDeclaration) PROTECTED reduce using rule 69 (ClassDeclaration) PRIVATE reduce using rule 69 (ClassDeclaration) STATIC reduce using rule 69 (ClassDeclaration) ABSTRACT reduce using rule 69 (ClassDeclaration) FINAL reduce using rule 69 (ClassDeclaration) NATIVE reduce using rule 69 (ClassDeclaration) SYNCHRONIZED reduce using rule 69 (ClassDeclaration) TRANSIENT reduce using rule 69 (ClassDeclaration) VOLATILE reduce using rule 69 (ClassDeclaration) ';' reduce using rule 69 (ClassDeclaration)
144 AbstractMethodDeclaration → MethodHeader ';' • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 144 (AbstractMethodDeclaration) BOOLEAN reduce using rule 144 (AbstractMethodDeclaration) BYTE reduce using rule 144 (AbstractMethodDeclaration) SHORT reduce using rule 144 (AbstractMethodDeclaration) INT reduce using rule 144 (AbstractMethodDeclaration) LONG reduce using rule 144 (AbstractMethodDeclaration) CHAR reduce using rule 144 (AbstractMethodDeclaration) FLOAT reduce using rule 144 (AbstractMethodDeclaration) DOUBLE reduce using rule 144 (AbstractMethodDeclaration) PUBLIC reduce using rule 144 (AbstractMethodDeclaration) PROTECTED reduce using rule 144 (AbstractMethodDeclaration) PRIVATE reduce using rule 144 (AbstractMethodDeclaration) STATIC reduce using rule 144 (AbstractMethodDeclaration) ABSTRACT reduce using rule 144 (AbstractMethodDeclaration) FINAL reduce using rule 144 (AbstractMethodDeclaration) NATIVE reduce using rule 144 (AbstractMethodDeclaration) SYNCHRONIZED reduce using rule 144 (AbstractMethodDeclaration) TRANSIENT reduce using rule 144 (AbstractMethodDeclaration) VOLATILE reduce using rule 144 (AbstractMethodDeclaration) VOID reduce using rule 144 (AbstractMethodDeclaration) '}' reduce using rule 144 (AbstractMethodDeclaration)
137 InterfaceBody → '{' InterfaceMemberDeclarations '}' • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 137 (InterfaceBody) CLASS reduce using rule 137 (InterfaceBody) INTERFACE reduce using rule 137 (InterfaceBody) PUBLIC reduce using rule 137 (InterfaceBody) PROTECTED reduce using rule 137 (InterfaceBody) PRIVATE reduce using rule 137 (InterfaceBody) STATIC reduce using rule 137 (InterfaceBody) ABSTRACT reduce using rule 137 (InterfaceBody) FINAL reduce using rule 137 (InterfaceBody) NATIVE reduce using rule 137 (InterfaceBody) SYNCHRONIZED reduce using rule 137 (InterfaceBody) TRANSIENT reduce using rule 137 (InterfaceBody) VOLATILE reduce using rule 137 (InterfaceBody) ';' reduce using rule 137 (InterfaceBody)
140 InterfaceMemberDeclarations → InterfaceMemberDeclarations InterfaceMemberDeclaration • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 140 (InterfaceMemberDeclarations) BOOLEAN reduce using rule 140 (InterfaceMemberDeclarations) BYTE reduce using rule 140 (InterfaceMemberDeclarations) SHORT reduce using rule 140 (InterfaceMemberDeclarations) INT reduce using rule 140 (InterfaceMemberDeclarations) LONG reduce using rule 140 (InterfaceMemberDeclarations) CHAR reduce using rule 140 (InterfaceMemberDeclarations) FLOAT reduce using rule 140 (InterfaceMemberDeclarations) DOUBLE reduce using rule 140 (InterfaceMemberDeclarations) PUBLIC reduce using rule 140 (InterfaceMemberDeclarations) PROTECTED reduce using rule 140 (InterfaceMemberDeclarations) PRIVATE reduce using rule 140 (InterfaceMemberDeclarations) STATIC reduce using rule 140 (InterfaceMemberDeclarations) ABSTRACT reduce using rule 140 (InterfaceMemberDeclarations) FINAL reduce using rule 140 (InterfaceMemberDeclarations) NATIVE reduce using rule 140 (InterfaceMemberDeclarations) SYNCHRONIZED reduce using rule 140 (InterfaceMemberDeclarations) TRANSIENT reduce using rule 140 (InterfaceMemberDeclarations) VOLATILE reduce using rule 140 (InterfaceMemberDeclarations) VOID reduce using rule 140 (InterfaceMemberDeclarations) '}' reduce using rule 140 (InterfaceMemberDeclarations)
136 ExtendsInterfaces → ExtendsInterfaces ',' InterfaceType • [',', '{'] ',' reduce using rule 136 (ExtendsInterfaces) '{' reduce using rule 136 (ExtendsInterfaces)
65 ClassDeclaration → Modifiers CLASS Identifier Super Interfaces • ClassBody 77 ClassBody → • '{' ClassBodyDeclarations '}' 78 | • '{' '}' '{' shift, and go to state 51 ClassBody go to state 251
66 ClassDeclaration → Modifiers CLASS Identifier Super ClassBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 66 (ClassDeclaration) CLASS reduce using rule 66 (ClassDeclaration) INTERFACE reduce using rule 66 (ClassDeclaration) PUBLIC reduce using rule 66 (ClassDeclaration) PROTECTED reduce using rule 66 (ClassDeclaration) PRIVATE reduce using rule 66 (ClassDeclaration) STATIC reduce using rule 66 (ClassDeclaration) ABSTRACT reduce using rule 66 (ClassDeclaration) FINAL reduce using rule 66 (ClassDeclaration) NATIVE reduce using rule 66 (ClassDeclaration) SYNCHRONIZED reduce using rule 66 (ClassDeclaration) TRANSIENT reduce using rule 66 (ClassDeclaration) VOLATILE reduce using rule 66 (ClassDeclaration) ';' reduce using rule 66 (ClassDeclaration)
67 ClassDeclaration → Modifiers CLASS Identifier Interfaces ClassBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 67 (ClassDeclaration) CLASS reduce using rule 67 (ClassDeclaration) INTERFACE reduce using rule 67 (ClassDeclaration) PUBLIC reduce using rule 67 (ClassDeclaration) PROTECTED reduce using rule 67 (ClassDeclaration) PRIVATE reduce using rule 67 (ClassDeclaration) STATIC reduce using rule 67 (ClassDeclaration) ABSTRACT reduce using rule 67 (ClassDeclaration) FINAL reduce using rule 67 (ClassDeclaration) NATIVE reduce using rule 67 (ClassDeclaration) SYNCHRONIZED reduce using rule 67 (ClassDeclaration) TRANSIENT reduce using rule 67 (ClassDeclaration) VOLATILE reduce using rule 67 (ClassDeclaration) ';' reduce using rule 67 (ClassDeclaration)
131 InterfaceDeclaration → Modifiers INTERFACE Identifier ExtendsInterfaces InterfaceBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 131 (InterfaceDeclaration) CLASS reduce using rule 131 (InterfaceDeclaration) INTERFACE reduce using rule 131 (InterfaceDeclaration) PUBLIC reduce using rule 131 (InterfaceDeclaration) PROTECTED reduce using rule 131 (InterfaceDeclaration) PRIVATE reduce using rule 131 (InterfaceDeclaration) STATIC reduce using rule 131 (InterfaceDeclaration) ABSTRACT reduce using rule 131 (InterfaceDeclaration) FINAL reduce using rule 131 (InterfaceDeclaration) NATIVE reduce using rule 131 (InterfaceDeclaration) SYNCHRONIZED reduce using rule 131 (InterfaceDeclaration) TRANSIENT reduce using rule 131 (InterfaceDeclaration) VOLATILE reduce using rule 131 (InterfaceDeclaration) ';' reduce using rule 131 (InterfaceDeclaration)
76 InterfaceTypeList → InterfaceTypeList ',' InterfaceType • [',', '{'] ',' reduce using rule 76 (InterfaceTypeList) '{' reduce using rule 76 (InterfaceTypeList)
31 SimpleName → Identifier • [Identifier, PLUSPLUS, MINUSMINUS, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', '.', '=', '('] 182 LabeledStatement → Identifier • ':' Statement ':' shift, and go to state 252 Identifier reduce using rule 31 (SimpleName) PLUSPLUS reduce using rule 31 (SimpleName) MINUSMINUS reduce using rule 31 (SimpleName) TIMESEQ reduce using rule 31 (SimpleName) DIVEQ reduce using rule 31 (SimpleName) MODEQ reduce using rule 31 (SimpleName) PLUSEQ reduce using rule 31 (SimpleName) MINUSEQ reduce using rule 31 (SimpleName) LTLTEQ reduce using rule 31 (SimpleName) GTGTEQ reduce using rule 31 (SimpleName) GTGTGTEQ reduce using rule 31 (SimpleName) ANDEQ reduce using rule 31 (SimpleName) XOREQ reduce using rule 31 (SimpleName) OREQ reduce using rule 31 (SimpleName) '[' reduce using rule 31 (SimpleName) '.' reduce using rule 31 (SimpleName) '=' reduce using rule 31 (SimpleName) '(' reduce using rule 31 (SimpleName)
2 Literal → IntegerLiteral • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 2 (Literal) PLUSPLUS reduce using rule 2 (Literal) MINUSMINUS reduce using rule 2 (Literal) LTLT reduce using rule 2 (Literal) GTGT reduce using rule 2 (Literal) GTGTGT reduce using rule 2 (Literal) LTEQ reduce using rule 2 (Literal) GTEQ reduce using rule 2 (Literal) EQEQ reduce using rule 2 (Literal) BANGEQ reduce using rule 2 (Literal) ANDAND reduce using rule 2 (Literal) OROR reduce using rule 2 (Literal) '[' reduce using rule 2 (Literal) ']' reduce using rule 2 (Literal) '.' reduce using rule 2 (Literal) ';' reduce using rule 2 (Literal) '*' reduce using rule 2 (Literal) ',' reduce using rule 2 (Literal) '}' reduce using rule 2 (Literal) ')' reduce using rule 2 (Literal) ':' reduce using rule 2 (Literal) '+' reduce using rule 2 (Literal) '-' reduce using rule 2 (Literal) '/' reduce using rule 2 (Literal) '%' reduce using rule 2 (Literal) '<' reduce using rule 2 (Literal) '>' reduce using rule 2 (Literal) '&' reduce using rule 2 (Literal) '^' reduce using rule 2 (Literal) '|' reduce using rule 2 (Literal) '?' reduce using rule 2 (Literal)
3 Literal → FloatingPointLiteral • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 3 (Literal) PLUSPLUS reduce using rule 3 (Literal) MINUSMINUS reduce using rule 3 (Literal) LTLT reduce using rule 3 (Literal) GTGT reduce using rule 3 (Literal) GTGTGT reduce using rule 3 (Literal) LTEQ reduce using rule 3 (Literal) GTEQ reduce using rule 3 (Literal) EQEQ reduce using rule 3 (Literal) BANGEQ reduce using rule 3 (Literal) ANDAND reduce using rule 3 (Literal) OROR reduce using rule 3 (Literal) '[' reduce using rule 3 (Literal) ']' reduce using rule 3 (Literal) '.' reduce using rule 3 (Literal) ';' reduce using rule 3 (Literal) '*' reduce using rule 3 (Literal) ',' reduce using rule 3 (Literal) '}' reduce using rule 3 (Literal) ')' reduce using rule 3 (Literal) ':' reduce using rule 3 (Literal) '+' reduce using rule 3 (Literal) '-' reduce using rule 3 (Literal) '/' reduce using rule 3 (Literal) '%' reduce using rule 3 (Literal) '<' reduce using rule 3 (Literal) '>' reduce using rule 3 (Literal) '&' reduce using rule 3 (Literal) '^' reduce using rule 3 (Literal) '|' reduce using rule 3 (Literal) '?' reduce using rule 3 (Literal)
4 Literal → BooleanLiteral • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 4 (Literal) PLUSPLUS reduce using rule 4 (Literal) MINUSMINUS reduce using rule 4 (Literal) LTLT reduce using rule 4 (Literal) GTGT reduce using rule 4 (Literal) GTGTGT reduce using rule 4 (Literal) LTEQ reduce using rule 4 (Literal) GTEQ reduce using rule 4 (Literal) EQEQ reduce using rule 4 (Literal) BANGEQ reduce using rule 4 (Literal) ANDAND reduce using rule 4 (Literal) OROR reduce using rule 4 (Literal) '[' reduce using rule 4 (Literal) ']' reduce using rule 4 (Literal) '.' reduce using rule 4 (Literal) ';' reduce using rule 4 (Literal) '*' reduce using rule 4 (Literal) ',' reduce using rule 4 (Literal) '}' reduce using rule 4 (Literal) ')' reduce using rule 4 (Literal) ':' reduce using rule 4 (Literal) '+' reduce using rule 4 (Literal) '-' reduce using rule 4 (Literal) '/' reduce using rule 4 (Literal) '%' reduce using rule 4 (Literal) '<' reduce using rule 4 (Literal) '>' reduce using rule 4 (Literal) '&' reduce using rule 4 (Literal) '^' reduce using rule 4 (Literal) '|' reduce using rule 4 (Literal) '?' reduce using rule 4 (Literal)
5 Literal → CharacterLiteral • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 5 (Literal) PLUSPLUS reduce using rule 5 (Literal) MINUSMINUS reduce using rule 5 (Literal) LTLT reduce using rule 5 (Literal) GTGT reduce using rule 5 (Literal) GTGTGT reduce using rule 5 (Literal) LTEQ reduce using rule 5 (Literal) GTEQ reduce using rule 5 (Literal) EQEQ reduce using rule 5 (Literal) BANGEQ reduce using rule 5 (Literal) ANDAND reduce using rule 5 (Literal) OROR reduce using rule 5 (Literal) '[' reduce using rule 5 (Literal) ']' reduce using rule 5 (Literal) '.' reduce using rule 5 (Literal) ';' reduce using rule 5 (Literal) '*' reduce using rule 5 (Literal) ',' reduce using rule 5 (Literal) '}' reduce using rule 5 (Literal) ')' reduce using rule 5 (Literal) ':' reduce using rule 5 (Literal) '+' reduce using rule 5 (Literal) '-' reduce using rule 5 (Literal) '/' reduce using rule 5 (Literal) '%' reduce using rule 5 (Literal) '<' reduce using rule 5 (Literal) '>' reduce using rule 5 (Literal) '&' reduce using rule 5 (Literal) '^' reduce using rule 5 (Literal) '|' reduce using rule 5 (Literal) '?' reduce using rule 5 (Literal)
6 Literal → StringLiteral • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 6 (Literal) PLUSPLUS reduce using rule 6 (Literal) MINUSMINUS reduce using rule 6 (Literal) LTLT reduce using rule 6 (Literal) GTGT reduce using rule 6 (Literal) GTGTGT reduce using rule 6 (Literal) LTEQ reduce using rule 6 (Literal) GTEQ reduce using rule 6 (Literal) EQEQ reduce using rule 6 (Literal) BANGEQ reduce using rule 6 (Literal) ANDAND reduce using rule 6 (Literal) OROR reduce using rule 6 (Literal) '[' reduce using rule 6 (Literal) ']' reduce using rule 6 (Literal) '.' reduce using rule 6 (Literal) ';' reduce using rule 6 (Literal) '*' reduce using rule 6 (Literal) ',' reduce using rule 6 (Literal) '}' reduce using rule 6 (Literal) ')' reduce using rule 6 (Literal) ':' reduce using rule 6 (Literal) '+' reduce using rule 6 (Literal) '-' reduce using rule 6 (Literal) '/' reduce using rule 6 (Literal) '%' reduce using rule 6 (Literal) '<' reduce using rule 6 (Literal) '>' reduce using rule 6 (Literal) '&' reduce using rule 6 (Literal) '^' reduce using rule 6 (Literal) '|' reduce using rule 6 (Literal) '?' reduce using rule 6 (Literal)
7 Literal → NullLiteral • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 7 (Literal) PLUSPLUS reduce using rule 7 (Literal) MINUSMINUS reduce using rule 7 (Literal) LTLT reduce using rule 7 (Literal) GTGT reduce using rule 7 (Literal) GTGTGT reduce using rule 7 (Literal) LTEQ reduce using rule 7 (Literal) GTEQ reduce using rule 7 (Literal) EQEQ reduce using rule 7 (Literal) BANGEQ reduce using rule 7 (Literal) ANDAND reduce using rule 7 (Literal) OROR reduce using rule 7 (Literal) '[' reduce using rule 7 (Literal) ']' reduce using rule 7 (Literal) '.' reduce using rule 7 (Literal) ';' reduce using rule 7 (Literal) '*' reduce using rule 7 (Literal) ',' reduce using rule 7 (Literal) '}' reduce using rule 7 (Literal) ')' reduce using rule 7 (Literal) ':' reduce using rule 7 (Literal) '+' reduce using rule 7 (Literal) '-' reduce using rule 7 (Literal) '/' reduce using rule 7 (Literal) '%' reduce using rule 7 (Literal) '<' reduce using rule 7 (Literal) '>' reduce using rule 7 (Literal) '&' reduce using rule 7 (Literal) '^' reduce using rule 7 (Literal) '|' reduce using rule 7 (Literal) '?' reduce using rule 7 (Literal)
238 SynchronizedStatement → SYNCHRONIZED • '(' Expression ')' Block '(' shift, and go to state 253
249 PrimaryNoNewArray → THIS • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 249 (PrimaryNoNewArray) PLUSPLUS reduce using rule 249 (PrimaryNoNewArray) MINUSMINUS reduce using rule 249 (PrimaryNoNewArray) LTLT reduce using rule 249 (PrimaryNoNewArray) GTGT reduce using rule 249 (PrimaryNoNewArray) GTGTGT reduce using rule 249 (PrimaryNoNewArray) LTEQ reduce using rule 249 (PrimaryNoNewArray) GTEQ reduce using rule 249 (PrimaryNoNewArray) EQEQ reduce using rule 249 (PrimaryNoNewArray) BANGEQ reduce using rule 249 (PrimaryNoNewArray) ANDAND reduce using rule 249 (PrimaryNoNewArray) OROR reduce using rule 249 (PrimaryNoNewArray) '[' reduce using rule 249 (PrimaryNoNewArray) ']' reduce using rule 249 (PrimaryNoNewArray) '.' reduce using rule 249 (PrimaryNoNewArray) ';' reduce using rule 249 (PrimaryNoNewArray) '*' reduce using rule 249 (PrimaryNoNewArray) ',' reduce using rule 249 (PrimaryNoNewArray) '}' reduce using rule 249 (PrimaryNoNewArray) ')' reduce using rule 249 (PrimaryNoNewArray) ':' reduce using rule 249 (PrimaryNoNewArray) '+' reduce using rule 249 (PrimaryNoNewArray) '-' reduce using rule 249 (PrimaryNoNewArray) '/' reduce using rule 249 (PrimaryNoNewArray) '%' reduce using rule 249 (PrimaryNoNewArray) '<' reduce using rule 249 (PrimaryNoNewArray) '>' reduce using rule 249 (PrimaryNoNewArray) '&' reduce using rule 249 (PrimaryNoNewArray) '^' reduce using rule 249 (PrimaryNoNewArray) '|' reduce using rule 249 (PrimaryNoNewArray) '?' reduce using rule 249 (PrimaryNoNewArray)
269 FieldAccess → SUPER • '.' Identifier 274 MethodInvocation → SUPER • '.' Identifier '(' ArgumentList ')' 275 | SUPER • '.' Identifier '(' ')' '.' shift, and go to state 254
192 IfThenStatement → IF • '(' Expression ')' Statement 193 IfThenElseStatement → IF • '(' Expression ')' StatementNoShortIf ELSE Statement '(' shift, and go to state 255
195 SwitchStatement → SWITCH • '(' Expression ')' SwitchBlock '(' shift, and go to state 256
207 WhileStatement → WHILE • '(' Expression ')' Statement '(' shift, and go to state 257
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 209 | DO • Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 259 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
210 ForStatement → FOR • '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | FOR • '(' ForInit ';' Expression ';' ')' Statement 212 | FOR • '(' ForInit ';' ';' ForUpdate ')' Statement 213 | FOR • '(' ForInit ';' ';' ')' Statement 214 | FOR • '(' ';' Expression ';' ForUpdate ')' Statement 215 | FOR • '(' ';' Expression ';' ')' Statement 216 | FOR • '(' ';' ';' ForUpdate ')' Statement 217 | FOR • '(' ';' ';' ')' Statement '(' shift, and go to state 260
231 BreakStatement → BREAK • Identifier ';' 232 | BREAK • ';' Identifier shift, and go to state 261 ';' shift, and go to state 262
233 ContinueStatement → CONTINUE • Identifier ';' 234 | CONTINUE • ';' Identifier shift, and go to state 263 ';' shift, and go to state 264
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 235 ReturnStatement → RETURN • Expression ';' 236 | RETURN • ';' 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 265 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 294
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 237 ThrowStatement → THROW • Expression ';' 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 295
151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 239 TryStatement → TRY • Block Catches 240 | TRY • Block Catches Finally 241 | TRY • Block Finally '{' shift, and go to state 122 Block go to state 296
10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 23 ClassOrInterfaceType → • Name 24 ClassType → • ClassOrInterfaceType 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 255 ClassInstanceCreationExpression → NEW • ClassType '(' ArgumentList ')' 256 | NEW • ClassType '(' ')' 259 ArrayCreationExpression → NEW • PrimitiveType DimExprs Dims 260 | NEW • PrimitiveType DimExprs 261 | NEW • ClassOrInterfaceType DimExprs Dims 262 | NEW • ClassOrInterfaceType DimExprs Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 PrimitiveType go to state 297 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ClassOrInterfaceType go to state 298 ClassType go to state 299 Name go to state 66 SimpleName go to state 31 QualifiedName go to state 32
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 289 | PLUSPLUS • UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 303 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 290 | MINUSMINUS • UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 304 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
181 EmptyStatement → ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 181 (EmptyStatement) IntegerLiteral reduce using rule 181 (EmptyStatement) FloatingPointLiteral reduce using rule 181 (EmptyStatement) BooleanLiteral reduce using rule 181 (EmptyStatement) CharacterLiteral reduce using rule 181 (EmptyStatement) StringLiteral reduce using rule 181 (EmptyStatement) NullLiteral reduce using rule 181 (EmptyStatement) BOOLEAN reduce using rule 181 (EmptyStatement) BYTE reduce using rule 181 (EmptyStatement) SHORT reduce using rule 181 (EmptyStatement) INT reduce using rule 181 (EmptyStatement) LONG reduce using rule 181 (EmptyStatement) CHAR reduce using rule 181 (EmptyStatement) FLOAT reduce using rule 181 (EmptyStatement) DOUBLE reduce using rule 181 (EmptyStatement) SYNCHRONIZED reduce using rule 181 (EmptyStatement) THIS reduce using rule 181 (EmptyStatement) SUPER reduce using rule 181 (EmptyStatement) IF reduce using rule 181 (EmptyStatement) ELSE reduce using rule 181 (EmptyStatement) SWITCH reduce using rule 181 (EmptyStatement) CASE reduce using rule 181 (EmptyStatement) DEFAULT reduce using rule 181 (EmptyStatement) WHILE reduce using rule 181 (EmptyStatement) DO reduce using rule 181 (EmptyStatement) FOR reduce using rule 181 (EmptyStatement) BREAK reduce using rule 181 (EmptyStatement) CONTINUE reduce using rule 181 (EmptyStatement) RETURN reduce using rule 181 (EmptyStatement) THROW reduce using rule 181 (EmptyStatement) TRY reduce using rule 181 (EmptyStatement) NEW reduce using rule 181 (EmptyStatement) PLUSPLUS reduce using rule 181 (EmptyStatement) MINUSMINUS reduce using rule 181 (EmptyStatement) ';' reduce using rule 181 (EmptyStatement) '{' reduce using rule 181 (EmptyStatement) '}' reduce using rule 181 (EmptyStatement) '(' reduce using rule 181 (EmptyStatement)
152 Block → '{' '}' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, CATCH, FINALLY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 152 (Block) IntegerLiteral reduce using rule 152 (Block) FloatingPointLiteral reduce using rule 152 (Block) BooleanLiteral reduce using rule 152 (Block) CharacterLiteral reduce using rule 152 (Block) StringLiteral reduce using rule 152 (Block) NullLiteral reduce using rule 152 (Block) BOOLEAN reduce using rule 152 (Block) BYTE reduce using rule 152 (Block) SHORT reduce using rule 152 (Block) INT reduce using rule 152 (Block) LONG reduce using rule 152 (Block) CHAR reduce using rule 152 (Block) FLOAT reduce using rule 152 (Block) DOUBLE reduce using rule 152 (Block) PUBLIC reduce using rule 152 (Block) PROTECTED reduce using rule 152 (Block) PRIVATE reduce using rule 152 (Block) STATIC reduce using rule 152 (Block) ABSTRACT reduce using rule 152 (Block) FINAL reduce using rule 152 (Block) NATIVE reduce using rule 152 (Block) SYNCHRONIZED reduce using rule 152 (Block) TRANSIENT reduce using rule 152 (Block) VOLATILE reduce using rule 152 (Block) VOID reduce using rule 152 (Block) THIS reduce using rule 152 (Block) SUPER reduce using rule 152 (Block) IF reduce using rule 152 (Block) ELSE reduce using rule 152 (Block) SWITCH reduce using rule 152 (Block) CASE reduce using rule 152 (Block) DEFAULT reduce using rule 152 (Block) WHILE reduce using rule 152 (Block) DO reduce using rule 152 (Block) FOR reduce using rule 152 (Block) BREAK reduce using rule 152 (Block) CONTINUE reduce using rule 152 (Block) RETURN reduce using rule 152 (Block) THROW reduce using rule 152 (Block) TRY reduce using rule 152 (Block) CATCH reduce using rule 152 (Block) FINALLY reduce using rule 152 (Block) NEW reduce using rule 152 (Block) PLUSPLUS reduce using rule 152 (Block) MINUSMINUS reduce using rule 152 (Block) ';' reduce using rule 152 (Block) '{' reduce using rule 152 (Block) '}' reduce using rule 152 (Block) '(' reduce using rule 152 (Block)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 250 | '(' • Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 305
248 PrimaryNoNewArray → Literal • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 248 (PrimaryNoNewArray) PLUSPLUS reduce using rule 248 (PrimaryNoNewArray) MINUSMINUS reduce using rule 248 (PrimaryNoNewArray) LTLT reduce using rule 248 (PrimaryNoNewArray) GTGT reduce using rule 248 (PrimaryNoNewArray) GTGTGT reduce using rule 248 (PrimaryNoNewArray) LTEQ reduce using rule 248 (PrimaryNoNewArray) GTEQ reduce using rule 248 (PrimaryNoNewArray) EQEQ reduce using rule 248 (PrimaryNoNewArray) BANGEQ reduce using rule 248 (PrimaryNoNewArray) ANDAND reduce using rule 248 (PrimaryNoNewArray) OROR reduce using rule 248 (PrimaryNoNewArray) '[' reduce using rule 248 (PrimaryNoNewArray) ']' reduce using rule 248 (PrimaryNoNewArray) '.' reduce using rule 248 (PrimaryNoNewArray) ';' reduce using rule 248 (PrimaryNoNewArray) '*' reduce using rule 248 (PrimaryNoNewArray) ',' reduce using rule 248 (PrimaryNoNewArray) '}' reduce using rule 248 (PrimaryNoNewArray) ')' reduce using rule 248 (PrimaryNoNewArray) ':' reduce using rule 248 (PrimaryNoNewArray) '+' reduce using rule 248 (PrimaryNoNewArray) '-' reduce using rule 248 (PrimaryNoNewArray) '/' reduce using rule 248 (PrimaryNoNewArray) '%' reduce using rule 248 (PrimaryNoNewArray) '<' reduce using rule 248 (PrimaryNoNewArray) '>' reduce using rule 248 (PrimaryNoNewArray) '&' reduce using rule 248 (PrimaryNoNewArray) '^' reduce using rule 248 (PrimaryNoNewArray) '|' reduce using rule 248 (PrimaryNoNewArray) '?' reduce using rule 248 (PrimaryNoNewArray)
88 VariableDeclarators → • VariableDeclarator 89 | • VariableDeclarators ',' VariableDeclarator 90 VariableDeclarator → • VariableDeclaratorId 91 | • VariableDeclaratorId '=' VariableInitializer 92 VariableDeclaratorId → • Identifier 93 | • VariableDeclaratorId '[' ']' 158 LocalVariableDeclaration → Type • VariableDeclarators Identifier shift, and go to state 306 VariableDeclarators go to state 307 VariableDeclarator go to state 128 VariableDeclaratorId go to state 129
23 ClassOrInterfaceType → Name • [Identifier] 27 ArrayType → Name • '[' ']' 32 QualifiedName → Name • '.' Identifier 270 MethodInvocation → Name • '(' ArgumentList ')' 271 | Name • '(' ')' 276 ArrayAccess → Name • '[' Expression ']' 279 PostfixExpression → Name • [PLUSPLUS, MINUSMINUS] 334 LeftHandSide → Name • [TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '='] '[' shift, and go to state 308 '.' shift, and go to state 45 '(' shift, and go to state 309 Identifier reduce using rule 23 (ClassOrInterfaceType) PLUSPLUS reduce using rule 279 (PostfixExpression) MINUSMINUS reduce using rule 279 (PostfixExpression) TIMESEQ reduce using rule 334 (LeftHandSide) DIVEQ reduce using rule 334 (LeftHandSide) MODEQ reduce using rule 334 (LeftHandSide) PLUSEQ reduce using rule 334 (LeftHandSide) MINUSEQ reduce using rule 334 (LeftHandSide) LTLTEQ reduce using rule 334 (LeftHandSide) GTGTEQ reduce using rule 334 (LeftHandSide) GTGTGTEQ reduce using rule 334 (LeftHandSide) ANDEQ reduce using rule 334 (LeftHandSide) XOREQ reduce using rule 334 (LeftHandSide) OREQ reduce using rule 334 (LeftHandSide) '=' reduce using rule 334 (LeftHandSide)
170 StatementWithoutTrailingSubstatement → Block • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 170 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 170 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 170 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 170 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 170 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 170 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 170 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 170 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 170 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 170 (StatementWithoutTrailingSubstatement) INT reduce using rule 170 (StatementWithoutTrailingSubstatement) LONG reduce using rule 170 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 170 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 170 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 170 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 170 (StatementWithoutTrailingSubstatement) THIS reduce using rule 170 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 170 (StatementWithoutTrailingSubstatement) IF reduce using rule 170 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 170 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 170 (StatementWithoutTrailingSubstatement) CASE reduce using rule 170 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 170 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 170 (StatementWithoutTrailingSubstatement) DO reduce using rule 170 (StatementWithoutTrailingSubstatement) FOR reduce using rule 170 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 170 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 170 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 170 (StatementWithoutTrailingSubstatement) THROW reduce using rule 170 (StatementWithoutTrailingSubstatement) TRY reduce using rule 170 (StatementWithoutTrailingSubstatement) NEW reduce using rule 170 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 170 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 170 (StatementWithoutTrailingSubstatement) ';' reduce using rule 170 (StatementWithoutTrailingSubstatement) '{' reduce using rule 170 (StatementWithoutTrailingSubstatement) '}' reduce using rule 170 (StatementWithoutTrailingSubstatement) '(' reduce using rule 170 (StatementWithoutTrailingSubstatement)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 151 | '{' BlockStatements • '}' 152 | • '{' '}' 154 BlockStatements → BlockStatements • BlockStatement 155 BlockStatement → • LocalVariableDeclarationStatement 156 | • Statement 157 LocalVariableDeclarationStatement → • LocalVariableDeclaration ';' 158 LocalVariableDeclaration → • Type VariableDeclarators 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '}' shift, and go to state 310 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 BlockStatement go to state 311 LocalVariableDeclarationStatement go to state 189 LocalVariableDeclaration go to state 190 Statement go to state 191 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
153 BlockStatements → BlockStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 153 (BlockStatements) IntegerLiteral reduce using rule 153 (BlockStatements) FloatingPointLiteral reduce using rule 153 (BlockStatements) BooleanLiteral reduce using rule 153 (BlockStatements) CharacterLiteral reduce using rule 153 (BlockStatements) StringLiteral reduce using rule 153 (BlockStatements) NullLiteral reduce using rule 153 (BlockStatements) BOOLEAN reduce using rule 153 (BlockStatements) BYTE reduce using rule 153 (BlockStatements) SHORT reduce using rule 153 (BlockStatements) INT reduce using rule 153 (BlockStatements) LONG reduce using rule 153 (BlockStatements) CHAR reduce using rule 153 (BlockStatements) FLOAT reduce using rule 153 (BlockStatements) DOUBLE reduce using rule 153 (BlockStatements) SYNCHRONIZED reduce using rule 153 (BlockStatements) THIS reduce using rule 153 (BlockStatements) SUPER reduce using rule 153 (BlockStatements) IF reduce using rule 153 (BlockStatements) SWITCH reduce using rule 153 (BlockStatements) CASE reduce using rule 153 (BlockStatements) DEFAULT reduce using rule 153 (BlockStatements) WHILE reduce using rule 153 (BlockStatements) DO reduce using rule 153 (BlockStatements) FOR reduce using rule 153 (BlockStatements) BREAK reduce using rule 153 (BlockStatements) CONTINUE reduce using rule 153 (BlockStatements) RETURN reduce using rule 153 (BlockStatements) THROW reduce using rule 153 (BlockStatements) TRY reduce using rule 153 (BlockStatements) NEW reduce using rule 153 (BlockStatements) PLUSPLUS reduce using rule 153 (BlockStatements) MINUSMINUS reduce using rule 153 (BlockStatements) ';' reduce using rule 153 (BlockStatements) '{' reduce using rule 153 (BlockStatements) '}' reduce using rule 153 (BlockStatements) '(' reduce using rule 153 (BlockStatements)
155 BlockStatement → LocalVariableDeclarationStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 155 (BlockStatement) IntegerLiteral reduce using rule 155 (BlockStatement) FloatingPointLiteral reduce using rule 155 (BlockStatement) BooleanLiteral reduce using rule 155 (BlockStatement) CharacterLiteral reduce using rule 155 (BlockStatement) StringLiteral reduce using rule 155 (BlockStatement) NullLiteral reduce using rule 155 (BlockStatement) BOOLEAN reduce using rule 155 (BlockStatement) BYTE reduce using rule 155 (BlockStatement) SHORT reduce using rule 155 (BlockStatement) INT reduce using rule 155 (BlockStatement) LONG reduce using rule 155 (BlockStatement) CHAR reduce using rule 155 (BlockStatement) FLOAT reduce using rule 155 (BlockStatement) DOUBLE reduce using rule 155 (BlockStatement) SYNCHRONIZED reduce using rule 155 (BlockStatement) THIS reduce using rule 155 (BlockStatement) SUPER reduce using rule 155 (BlockStatement) IF reduce using rule 155 (BlockStatement) SWITCH reduce using rule 155 (BlockStatement) CASE reduce using rule 155 (BlockStatement) DEFAULT reduce using rule 155 (BlockStatement) WHILE reduce using rule 155 (BlockStatement) DO reduce using rule 155 (BlockStatement) FOR reduce using rule 155 (BlockStatement) BREAK reduce using rule 155 (BlockStatement) CONTINUE reduce using rule 155 (BlockStatement) RETURN reduce using rule 155 (BlockStatement) THROW reduce using rule 155 (BlockStatement) TRY reduce using rule 155 (BlockStatement) NEW reduce using rule 155 (BlockStatement) PLUSPLUS reduce using rule 155 (BlockStatement) MINUSMINUS reduce using rule 155 (BlockStatement) ';' reduce using rule 155 (BlockStatement) '{' reduce using rule 155 (BlockStatement) '}' reduce using rule 155 (BlockStatement) '(' reduce using rule 155 (BlockStatement)
157 LocalVariableDeclarationStatement → LocalVariableDeclaration • ';' ';' shift, and go to state 312
156 BlockStatement → Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 156 (BlockStatement) IntegerLiteral reduce using rule 156 (BlockStatement) FloatingPointLiteral reduce using rule 156 (BlockStatement) BooleanLiteral reduce using rule 156 (BlockStatement) CharacterLiteral reduce using rule 156 (BlockStatement) StringLiteral reduce using rule 156 (BlockStatement) NullLiteral reduce using rule 156 (BlockStatement) BOOLEAN reduce using rule 156 (BlockStatement) BYTE reduce using rule 156 (BlockStatement) SHORT reduce using rule 156 (BlockStatement) INT reduce using rule 156 (BlockStatement) LONG reduce using rule 156 (BlockStatement) CHAR reduce using rule 156 (BlockStatement) FLOAT reduce using rule 156 (BlockStatement) DOUBLE reduce using rule 156 (BlockStatement) SYNCHRONIZED reduce using rule 156 (BlockStatement) THIS reduce using rule 156 (BlockStatement) SUPER reduce using rule 156 (BlockStatement) IF reduce using rule 156 (BlockStatement) SWITCH reduce using rule 156 (BlockStatement) CASE reduce using rule 156 (BlockStatement) DEFAULT reduce using rule 156 (BlockStatement) WHILE reduce using rule 156 (BlockStatement) DO reduce using rule 156 (BlockStatement) FOR reduce using rule 156 (BlockStatement) BREAK reduce using rule 156 (BlockStatement) CONTINUE reduce using rule 156 (BlockStatement) RETURN reduce using rule 156 (BlockStatement) THROW reduce using rule 156 (BlockStatement) TRY reduce using rule 156 (BlockStatement) NEW reduce using rule 156 (BlockStatement) PLUSPLUS reduce using rule 156 (BlockStatement) MINUSMINUS reduce using rule 156 (BlockStatement) ';' reduce using rule 156 (BlockStatement) '{' reduce using rule 156 (BlockStatement) '}' reduce using rule 156 (BlockStatement) '(' reduce using rule 156 (BlockStatement)
159 Statement → StatementWithoutTrailingSubstatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 159 (Statement) IntegerLiteral reduce using rule 159 (Statement) FloatingPointLiteral reduce using rule 159 (Statement) BooleanLiteral reduce using rule 159 (Statement) CharacterLiteral reduce using rule 159 (Statement) StringLiteral reduce using rule 159 (Statement) NullLiteral reduce using rule 159 (Statement) BOOLEAN reduce using rule 159 (Statement) BYTE reduce using rule 159 (Statement) SHORT reduce using rule 159 (Statement) INT reduce using rule 159 (Statement) LONG reduce using rule 159 (Statement) CHAR reduce using rule 159 (Statement) FLOAT reduce using rule 159 (Statement) DOUBLE reduce using rule 159 (Statement) SYNCHRONIZED reduce using rule 159 (Statement) THIS reduce using rule 159 (Statement) SUPER reduce using rule 159 (Statement) IF reduce using rule 159 (Statement) SWITCH reduce using rule 159 (Statement) CASE reduce using rule 159 (Statement) DEFAULT reduce using rule 159 (Statement) WHILE reduce using rule 159 (Statement) DO reduce using rule 159 (Statement) FOR reduce using rule 159 (Statement) BREAK reduce using rule 159 (Statement) CONTINUE reduce using rule 159 (Statement) RETURN reduce using rule 159 (Statement) THROW reduce using rule 159 (Statement) TRY reduce using rule 159 (Statement) NEW reduce using rule 159 (Statement) PLUSPLUS reduce using rule 159 (Statement) MINUSMINUS reduce using rule 159 (Statement) ';' reduce using rule 159 (Statement) '{' reduce using rule 159 (Statement) '}' reduce using rule 159 (Statement) '(' reduce using rule 159 (Statement)
171 StatementWithoutTrailingSubstatement → EmptyStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 171 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 171 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 171 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 171 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 171 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 171 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 171 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 171 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 171 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 171 (StatementWithoutTrailingSubstatement) INT reduce using rule 171 (StatementWithoutTrailingSubstatement) LONG reduce using rule 171 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 171 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 171 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 171 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 171 (StatementWithoutTrailingSubstatement) THIS reduce using rule 171 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 171 (StatementWithoutTrailingSubstatement) IF reduce using rule 171 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 171 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 171 (StatementWithoutTrailingSubstatement) CASE reduce using rule 171 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 171 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 171 (StatementWithoutTrailingSubstatement) DO reduce using rule 171 (StatementWithoutTrailingSubstatement) FOR reduce using rule 171 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 171 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 171 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 171 (StatementWithoutTrailingSubstatement) THROW reduce using rule 171 (StatementWithoutTrailingSubstatement) TRY reduce using rule 171 (StatementWithoutTrailingSubstatement) NEW reduce using rule 171 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 171 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 171 (StatementWithoutTrailingSubstatement) ';' reduce using rule 171 (StatementWithoutTrailingSubstatement) '{' reduce using rule 171 (StatementWithoutTrailingSubstatement) '}' reduce using rule 171 (StatementWithoutTrailingSubstatement) '(' reduce using rule 171 (StatementWithoutTrailingSubstatement)
160 Statement → LabeledStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 160 (Statement) IntegerLiteral reduce using rule 160 (Statement) FloatingPointLiteral reduce using rule 160 (Statement) BooleanLiteral reduce using rule 160 (Statement) CharacterLiteral reduce using rule 160 (Statement) StringLiteral reduce using rule 160 (Statement) NullLiteral reduce using rule 160 (Statement) BOOLEAN reduce using rule 160 (Statement) BYTE reduce using rule 160 (Statement) SHORT reduce using rule 160 (Statement) INT reduce using rule 160 (Statement) LONG reduce using rule 160 (Statement) CHAR reduce using rule 160 (Statement) FLOAT reduce using rule 160 (Statement) DOUBLE reduce using rule 160 (Statement) SYNCHRONIZED reduce using rule 160 (Statement) THIS reduce using rule 160 (Statement) SUPER reduce using rule 160 (Statement) IF reduce using rule 160 (Statement) SWITCH reduce using rule 160 (Statement) CASE reduce using rule 160 (Statement) DEFAULT reduce using rule 160 (Statement) WHILE reduce using rule 160 (Statement) DO reduce using rule 160 (Statement) FOR reduce using rule 160 (Statement) BREAK reduce using rule 160 (Statement) CONTINUE reduce using rule 160 (Statement) RETURN reduce using rule 160 (Statement) THROW reduce using rule 160 (Statement) TRY reduce using rule 160 (Statement) NEW reduce using rule 160 (Statement) PLUSPLUS reduce using rule 160 (Statement) MINUSMINUS reduce using rule 160 (Statement) ';' reduce using rule 160 (Statement) '{' reduce using rule 160 (Statement) '}' reduce using rule 160 (Statement) '(' reduce using rule 160 (Statement)
172 StatementWithoutTrailingSubstatement → ExpressionStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 172 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 172 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 172 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 172 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 172 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 172 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 172 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 172 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 172 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 172 (StatementWithoutTrailingSubstatement) INT reduce using rule 172 (StatementWithoutTrailingSubstatement) LONG reduce using rule 172 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 172 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 172 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 172 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 172 (StatementWithoutTrailingSubstatement) THIS reduce using rule 172 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 172 (StatementWithoutTrailingSubstatement) IF reduce using rule 172 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 172 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 172 (StatementWithoutTrailingSubstatement) CASE reduce using rule 172 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 172 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 172 (StatementWithoutTrailingSubstatement) DO reduce using rule 172 (StatementWithoutTrailingSubstatement) FOR reduce using rule 172 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 172 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 172 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 172 (StatementWithoutTrailingSubstatement) THROW reduce using rule 172 (StatementWithoutTrailingSubstatement) TRY reduce using rule 172 (StatementWithoutTrailingSubstatement) NEW reduce using rule 172 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 172 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 172 (StatementWithoutTrailingSubstatement) ';' reduce using rule 172 (StatementWithoutTrailingSubstatement) '{' reduce using rule 172 (StatementWithoutTrailingSubstatement) '}' reduce using rule 172 (StatementWithoutTrailingSubstatement) '(' reduce using rule 172 (StatementWithoutTrailingSubstatement)
184 ExpressionStatement → StatementExpression • ';' ';' shift, and go to state 313
161 Statement → IfThenStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 161 (Statement) IntegerLiteral reduce using rule 161 (Statement) FloatingPointLiteral reduce using rule 161 (Statement) BooleanLiteral reduce using rule 161 (Statement) CharacterLiteral reduce using rule 161 (Statement) StringLiteral reduce using rule 161 (Statement) NullLiteral reduce using rule 161 (Statement) BOOLEAN reduce using rule 161 (Statement) BYTE reduce using rule 161 (Statement) SHORT reduce using rule 161 (Statement) INT reduce using rule 161 (Statement) LONG reduce using rule 161 (Statement) CHAR reduce using rule 161 (Statement) FLOAT reduce using rule 161 (Statement) DOUBLE reduce using rule 161 (Statement) SYNCHRONIZED reduce using rule 161 (Statement) THIS reduce using rule 161 (Statement) SUPER reduce using rule 161 (Statement) IF reduce using rule 161 (Statement) SWITCH reduce using rule 161 (Statement) CASE reduce using rule 161 (Statement) DEFAULT reduce using rule 161 (Statement) WHILE reduce using rule 161 (Statement) DO reduce using rule 161 (Statement) FOR reduce using rule 161 (Statement) BREAK reduce using rule 161 (Statement) CONTINUE reduce using rule 161 (Statement) RETURN reduce using rule 161 (Statement) THROW reduce using rule 161 (Statement) TRY reduce using rule 161 (Statement) NEW reduce using rule 161 (Statement) PLUSPLUS reduce using rule 161 (Statement) MINUSMINUS reduce using rule 161 (Statement) ';' reduce using rule 161 (Statement) '{' reduce using rule 161 (Statement) '}' reduce using rule 161 (Statement) '(' reduce using rule 161 (Statement)
162 Statement → IfThenElseStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 162 (Statement) IntegerLiteral reduce using rule 162 (Statement) FloatingPointLiteral reduce using rule 162 (Statement) BooleanLiteral reduce using rule 162 (Statement) CharacterLiteral reduce using rule 162 (Statement) StringLiteral reduce using rule 162 (Statement) NullLiteral reduce using rule 162 (Statement) BOOLEAN reduce using rule 162 (Statement) BYTE reduce using rule 162 (Statement) SHORT reduce using rule 162 (Statement) INT reduce using rule 162 (Statement) LONG reduce using rule 162 (Statement) CHAR reduce using rule 162 (Statement) FLOAT reduce using rule 162 (Statement) DOUBLE reduce using rule 162 (Statement) SYNCHRONIZED reduce using rule 162 (Statement) THIS reduce using rule 162 (Statement) SUPER reduce using rule 162 (Statement) IF reduce using rule 162 (Statement) SWITCH reduce using rule 162 (Statement) CASE reduce using rule 162 (Statement) DEFAULT reduce using rule 162 (Statement) WHILE reduce using rule 162 (Statement) DO reduce using rule 162 (Statement) FOR reduce using rule 162 (Statement) BREAK reduce using rule 162 (Statement) CONTINUE reduce using rule 162 (Statement) RETURN reduce using rule 162 (Statement) THROW reduce using rule 162 (Statement) TRY reduce using rule 162 (Statement) NEW reduce using rule 162 (Statement) PLUSPLUS reduce using rule 162 (Statement) MINUSMINUS reduce using rule 162 (Statement) ';' reduce using rule 162 (Statement) '{' reduce using rule 162 (Statement) '}' reduce using rule 162 (Statement) '(' reduce using rule 162 (Statement)
173 StatementWithoutTrailingSubstatement → SwitchStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 173 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 173 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 173 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 173 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 173 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 173 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 173 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 173 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 173 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 173 (StatementWithoutTrailingSubstatement) INT reduce using rule 173 (StatementWithoutTrailingSubstatement) LONG reduce using rule 173 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 173 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 173 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 173 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 173 (StatementWithoutTrailingSubstatement) THIS reduce using rule 173 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 173 (StatementWithoutTrailingSubstatement) IF reduce using rule 173 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 173 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 173 (StatementWithoutTrailingSubstatement) CASE reduce using rule 173 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 173 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 173 (StatementWithoutTrailingSubstatement) DO reduce using rule 173 (StatementWithoutTrailingSubstatement) FOR reduce using rule 173 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 173 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 173 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 173 (StatementWithoutTrailingSubstatement) THROW reduce using rule 173 (StatementWithoutTrailingSubstatement) TRY reduce using rule 173 (StatementWithoutTrailingSubstatement) NEW reduce using rule 173 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 173 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 173 (StatementWithoutTrailingSubstatement) ';' reduce using rule 173 (StatementWithoutTrailingSubstatement) '{' reduce using rule 173 (StatementWithoutTrailingSubstatement) '}' reduce using rule 173 (StatementWithoutTrailingSubstatement) '(' reduce using rule 173 (StatementWithoutTrailingSubstatement)
163 Statement → WhileStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 163 (Statement) IntegerLiteral reduce using rule 163 (Statement) FloatingPointLiteral reduce using rule 163 (Statement) BooleanLiteral reduce using rule 163 (Statement) CharacterLiteral reduce using rule 163 (Statement) StringLiteral reduce using rule 163 (Statement) NullLiteral reduce using rule 163 (Statement) BOOLEAN reduce using rule 163 (Statement) BYTE reduce using rule 163 (Statement) SHORT reduce using rule 163 (Statement) INT reduce using rule 163 (Statement) LONG reduce using rule 163 (Statement) CHAR reduce using rule 163 (Statement) FLOAT reduce using rule 163 (Statement) DOUBLE reduce using rule 163 (Statement) SYNCHRONIZED reduce using rule 163 (Statement) THIS reduce using rule 163 (Statement) SUPER reduce using rule 163 (Statement) IF reduce using rule 163 (Statement) SWITCH reduce using rule 163 (Statement) CASE reduce using rule 163 (Statement) DEFAULT reduce using rule 163 (Statement) WHILE reduce using rule 163 (Statement) DO reduce using rule 163 (Statement) FOR reduce using rule 163 (Statement) BREAK reduce using rule 163 (Statement) CONTINUE reduce using rule 163 (Statement) RETURN reduce using rule 163 (Statement) THROW reduce using rule 163 (Statement) TRY reduce using rule 163 (Statement) NEW reduce using rule 163 (Statement) PLUSPLUS reduce using rule 163 (Statement) MINUSMINUS reduce using rule 163 (Statement) ';' reduce using rule 163 (Statement) '{' reduce using rule 163 (Statement) '}' reduce using rule 163 (Statement) '(' reduce using rule 163 (Statement)
174 StatementWithoutTrailingSubstatement → DoStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 174 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 174 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 174 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 174 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 174 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 174 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 174 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 174 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 174 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 174 (StatementWithoutTrailingSubstatement) INT reduce using rule 174 (StatementWithoutTrailingSubstatement) LONG reduce using rule 174 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 174 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 174 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 174 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 174 (StatementWithoutTrailingSubstatement) THIS reduce using rule 174 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 174 (StatementWithoutTrailingSubstatement) IF reduce using rule 174 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 174 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 174 (StatementWithoutTrailingSubstatement) CASE reduce using rule 174 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 174 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 174 (StatementWithoutTrailingSubstatement) DO reduce using rule 174 (StatementWithoutTrailingSubstatement) FOR reduce using rule 174 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 174 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 174 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 174 (StatementWithoutTrailingSubstatement) THROW reduce using rule 174 (StatementWithoutTrailingSubstatement) TRY reduce using rule 174 (StatementWithoutTrailingSubstatement) NEW reduce using rule 174 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 174 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 174 (StatementWithoutTrailingSubstatement) ';' reduce using rule 174 (StatementWithoutTrailingSubstatement) '{' reduce using rule 174 (StatementWithoutTrailingSubstatement) '}' reduce using rule 174 (StatementWithoutTrailingSubstatement) '(' reduce using rule 174 (StatementWithoutTrailingSubstatement)
164 Statement → ForStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 164 (Statement) IntegerLiteral reduce using rule 164 (Statement) FloatingPointLiteral reduce using rule 164 (Statement) BooleanLiteral reduce using rule 164 (Statement) CharacterLiteral reduce using rule 164 (Statement) StringLiteral reduce using rule 164 (Statement) NullLiteral reduce using rule 164 (Statement) BOOLEAN reduce using rule 164 (Statement) BYTE reduce using rule 164 (Statement) SHORT reduce using rule 164 (Statement) INT reduce using rule 164 (Statement) LONG reduce using rule 164 (Statement) CHAR reduce using rule 164 (Statement) FLOAT reduce using rule 164 (Statement) DOUBLE reduce using rule 164 (Statement) SYNCHRONIZED reduce using rule 164 (Statement) THIS reduce using rule 164 (Statement) SUPER reduce using rule 164 (Statement) IF reduce using rule 164 (Statement) SWITCH reduce using rule 164 (Statement) CASE reduce using rule 164 (Statement) DEFAULT reduce using rule 164 (Statement) WHILE reduce using rule 164 (Statement) DO reduce using rule 164 (Statement) FOR reduce using rule 164 (Statement) BREAK reduce using rule 164 (Statement) CONTINUE reduce using rule 164 (Statement) RETURN reduce using rule 164 (Statement) THROW reduce using rule 164 (Statement) TRY reduce using rule 164 (Statement) NEW reduce using rule 164 (Statement) PLUSPLUS reduce using rule 164 (Statement) MINUSMINUS reduce using rule 164 (Statement) ';' reduce using rule 164 (Statement) '{' reduce using rule 164 (Statement) '}' reduce using rule 164 (Statement) '(' reduce using rule 164 (Statement)
175 StatementWithoutTrailingSubstatement → BreakStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 175 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 175 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 175 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 175 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 175 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 175 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 175 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 175 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 175 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 175 (StatementWithoutTrailingSubstatement) INT reduce using rule 175 (StatementWithoutTrailingSubstatement) LONG reduce using rule 175 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 175 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 175 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 175 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 175 (StatementWithoutTrailingSubstatement) THIS reduce using rule 175 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 175 (StatementWithoutTrailingSubstatement) IF reduce using rule 175 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 175 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 175 (StatementWithoutTrailingSubstatement) CASE reduce using rule 175 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 175 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 175 (StatementWithoutTrailingSubstatement) DO reduce using rule 175 (StatementWithoutTrailingSubstatement) FOR reduce using rule 175 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 175 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 175 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 175 (StatementWithoutTrailingSubstatement) THROW reduce using rule 175 (StatementWithoutTrailingSubstatement) TRY reduce using rule 175 (StatementWithoutTrailingSubstatement) NEW reduce using rule 175 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 175 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 175 (StatementWithoutTrailingSubstatement) ';' reduce using rule 175 (StatementWithoutTrailingSubstatement) '{' reduce using rule 175 (StatementWithoutTrailingSubstatement) '}' reduce using rule 175 (StatementWithoutTrailingSubstatement) '(' reduce using rule 175 (StatementWithoutTrailingSubstatement)
176 StatementWithoutTrailingSubstatement → ContinueStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 176 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 176 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 176 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 176 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 176 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 176 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 176 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 176 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 176 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 176 (StatementWithoutTrailingSubstatement) INT reduce using rule 176 (StatementWithoutTrailingSubstatement) LONG reduce using rule 176 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 176 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 176 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 176 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 176 (StatementWithoutTrailingSubstatement) THIS reduce using rule 176 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 176 (StatementWithoutTrailingSubstatement) IF reduce using rule 176 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 176 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 176 (StatementWithoutTrailingSubstatement) CASE reduce using rule 176 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 176 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 176 (StatementWithoutTrailingSubstatement) DO reduce using rule 176 (StatementWithoutTrailingSubstatement) FOR reduce using rule 176 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 176 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 176 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 176 (StatementWithoutTrailingSubstatement) THROW reduce using rule 176 (StatementWithoutTrailingSubstatement) TRY reduce using rule 176 (StatementWithoutTrailingSubstatement) NEW reduce using rule 176 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 176 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 176 (StatementWithoutTrailingSubstatement) ';' reduce using rule 176 (StatementWithoutTrailingSubstatement) '{' reduce using rule 176 (StatementWithoutTrailingSubstatement) '}' reduce using rule 176 (StatementWithoutTrailingSubstatement) '(' reduce using rule 176 (StatementWithoutTrailingSubstatement)
177 StatementWithoutTrailingSubstatement → ReturnStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 177 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 177 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 177 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 177 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 177 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 177 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 177 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 177 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 177 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 177 (StatementWithoutTrailingSubstatement) INT reduce using rule 177 (StatementWithoutTrailingSubstatement) LONG reduce using rule 177 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 177 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 177 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 177 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 177 (StatementWithoutTrailingSubstatement) THIS reduce using rule 177 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 177 (StatementWithoutTrailingSubstatement) IF reduce using rule 177 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 177 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 177 (StatementWithoutTrailingSubstatement) CASE reduce using rule 177 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 177 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 177 (StatementWithoutTrailingSubstatement) DO reduce using rule 177 (StatementWithoutTrailingSubstatement) FOR reduce using rule 177 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 177 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 177 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 177 (StatementWithoutTrailingSubstatement) THROW reduce using rule 177 (StatementWithoutTrailingSubstatement) TRY reduce using rule 177 (StatementWithoutTrailingSubstatement) NEW reduce using rule 177 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 177 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 177 (StatementWithoutTrailingSubstatement) ';' reduce using rule 177 (StatementWithoutTrailingSubstatement) '{' reduce using rule 177 (StatementWithoutTrailingSubstatement) '}' reduce using rule 177 (StatementWithoutTrailingSubstatement) '(' reduce using rule 177 (StatementWithoutTrailingSubstatement)
179 StatementWithoutTrailingSubstatement → ThrowStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 179 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 179 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 179 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 179 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 179 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 179 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 179 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 179 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 179 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 179 (StatementWithoutTrailingSubstatement) INT reduce using rule 179 (StatementWithoutTrailingSubstatement) LONG reduce using rule 179 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 179 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 179 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 179 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 179 (StatementWithoutTrailingSubstatement) THIS reduce using rule 179 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 179 (StatementWithoutTrailingSubstatement) IF reduce using rule 179 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 179 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 179 (StatementWithoutTrailingSubstatement) CASE reduce using rule 179 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 179 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 179 (StatementWithoutTrailingSubstatement) DO reduce using rule 179 (StatementWithoutTrailingSubstatement) FOR reduce using rule 179 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 179 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 179 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 179 (StatementWithoutTrailingSubstatement) THROW reduce using rule 179 (StatementWithoutTrailingSubstatement) TRY reduce using rule 179 (StatementWithoutTrailingSubstatement) NEW reduce using rule 179 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 179 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 179 (StatementWithoutTrailingSubstatement) ';' reduce using rule 179 (StatementWithoutTrailingSubstatement) '{' reduce using rule 179 (StatementWithoutTrailingSubstatement) '}' reduce using rule 179 (StatementWithoutTrailingSubstatement) '(' reduce using rule 179 (StatementWithoutTrailingSubstatement)
178 StatementWithoutTrailingSubstatement → SynchronizedStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 178 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 178 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 178 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 178 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 178 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 178 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 178 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 178 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 178 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 178 (StatementWithoutTrailingSubstatement) INT reduce using rule 178 (StatementWithoutTrailingSubstatement) LONG reduce using rule 178 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 178 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 178 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 178 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 178 (StatementWithoutTrailingSubstatement) THIS reduce using rule 178 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 178 (StatementWithoutTrailingSubstatement) IF reduce using rule 178 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 178 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 178 (StatementWithoutTrailingSubstatement) CASE reduce using rule 178 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 178 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 178 (StatementWithoutTrailingSubstatement) DO reduce using rule 178 (StatementWithoutTrailingSubstatement) FOR reduce using rule 178 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 178 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 178 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 178 (StatementWithoutTrailingSubstatement) THROW reduce using rule 178 (StatementWithoutTrailingSubstatement) TRY reduce using rule 178 (StatementWithoutTrailingSubstatement) NEW reduce using rule 178 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 178 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 178 (StatementWithoutTrailingSubstatement) ';' reduce using rule 178 (StatementWithoutTrailingSubstatement) '{' reduce using rule 178 (StatementWithoutTrailingSubstatement) '}' reduce using rule 178 (StatementWithoutTrailingSubstatement) '(' reduce using rule 178 (StatementWithoutTrailingSubstatement)
180 StatementWithoutTrailingSubstatement → TryStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 180 (StatementWithoutTrailingSubstatement) IntegerLiteral reduce using rule 180 (StatementWithoutTrailingSubstatement) FloatingPointLiteral reduce using rule 180 (StatementWithoutTrailingSubstatement) BooleanLiteral reduce using rule 180 (StatementWithoutTrailingSubstatement) CharacterLiteral reduce using rule 180 (StatementWithoutTrailingSubstatement) StringLiteral reduce using rule 180 (StatementWithoutTrailingSubstatement) NullLiteral reduce using rule 180 (StatementWithoutTrailingSubstatement) BOOLEAN reduce using rule 180 (StatementWithoutTrailingSubstatement) BYTE reduce using rule 180 (StatementWithoutTrailingSubstatement) SHORT reduce using rule 180 (StatementWithoutTrailingSubstatement) INT reduce using rule 180 (StatementWithoutTrailingSubstatement) LONG reduce using rule 180 (StatementWithoutTrailingSubstatement) CHAR reduce using rule 180 (StatementWithoutTrailingSubstatement) FLOAT reduce using rule 180 (StatementWithoutTrailingSubstatement) DOUBLE reduce using rule 180 (StatementWithoutTrailingSubstatement) SYNCHRONIZED reduce using rule 180 (StatementWithoutTrailingSubstatement) THIS reduce using rule 180 (StatementWithoutTrailingSubstatement) SUPER reduce using rule 180 (StatementWithoutTrailingSubstatement) IF reduce using rule 180 (StatementWithoutTrailingSubstatement) ELSE reduce using rule 180 (StatementWithoutTrailingSubstatement) SWITCH reduce using rule 180 (StatementWithoutTrailingSubstatement) CASE reduce using rule 180 (StatementWithoutTrailingSubstatement) DEFAULT reduce using rule 180 (StatementWithoutTrailingSubstatement) WHILE reduce using rule 180 (StatementWithoutTrailingSubstatement) DO reduce using rule 180 (StatementWithoutTrailingSubstatement) FOR reduce using rule 180 (StatementWithoutTrailingSubstatement) BREAK reduce using rule 180 (StatementWithoutTrailingSubstatement) CONTINUE reduce using rule 180 (StatementWithoutTrailingSubstatement) RETURN reduce using rule 180 (StatementWithoutTrailingSubstatement) THROW reduce using rule 180 (StatementWithoutTrailingSubstatement) TRY reduce using rule 180 (StatementWithoutTrailingSubstatement) NEW reduce using rule 180 (StatementWithoutTrailingSubstatement) PLUSPLUS reduce using rule 180 (StatementWithoutTrailingSubstatement) MINUSMINUS reduce using rule 180 (StatementWithoutTrailingSubstatement) ';' reduce using rule 180 (StatementWithoutTrailingSubstatement) '{' reduce using rule 180 (StatementWithoutTrailingSubstatement) '}' reduce using rule 180 (StatementWithoutTrailingSubstatement) '(' reduce using rule 180 (StatementWithoutTrailingSubstatement)
268 FieldAccess → Primary • '.' Identifier 272 MethodInvocation → Primary • '.' Identifier '(' ArgumentList ')' 273 | Primary • '.' Identifier '(' ')' 278 PostfixExpression → Primary • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] '.' shift, and go to state 314 INSTANCEOF reduce using rule 278 (PostfixExpression) PLUSPLUS reduce using rule 278 (PostfixExpression) MINUSMINUS reduce using rule 278 (PostfixExpression) LTLT reduce using rule 278 (PostfixExpression) GTGT reduce using rule 278 (PostfixExpression) GTGTGT reduce using rule 278 (PostfixExpression) LTEQ reduce using rule 278 (PostfixExpression) GTEQ reduce using rule 278 (PostfixExpression) EQEQ reduce using rule 278 (PostfixExpression) BANGEQ reduce using rule 278 (PostfixExpression) ANDAND reduce using rule 278 (PostfixExpression) OROR reduce using rule 278 (PostfixExpression) ']' reduce using rule 278 (PostfixExpression) ';' reduce using rule 278 (PostfixExpression) '*' reduce using rule 278 (PostfixExpression) ',' reduce using rule 278 (PostfixExpression) '}' reduce using rule 278 (PostfixExpression) ')' reduce using rule 278 (PostfixExpression) ':' reduce using rule 278 (PostfixExpression) '+' reduce using rule 278 (PostfixExpression) '-' reduce using rule 278 (PostfixExpression) '/' reduce using rule 278 (PostfixExpression) '%' reduce using rule 278 (PostfixExpression) '<' reduce using rule 278 (PostfixExpression) '>' reduce using rule 278 (PostfixExpression) '&' reduce using rule 278 (PostfixExpression) '^' reduce using rule 278 (PostfixExpression) '|' reduce using rule 278 (PostfixExpression) '?' reduce using rule 278 (PostfixExpression)
246 Primary → PrimaryNoNewArray • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 277 ArrayAccess → PrimaryNoNewArray • '[' Expression ']' '[' shift, and go to state 315 INSTANCEOF reduce using rule 246 (Primary) PLUSPLUS reduce using rule 246 (Primary) MINUSMINUS reduce using rule 246 (Primary) LTLT reduce using rule 246 (Primary) GTGT reduce using rule 246 (Primary) GTGTGT reduce using rule 246 (Primary) LTEQ reduce using rule 246 (Primary) GTEQ reduce using rule 246 (Primary) EQEQ reduce using rule 246 (Primary) BANGEQ reduce using rule 246 (Primary) ANDAND reduce using rule 246 (Primary) OROR reduce using rule 246 (Primary) ']' reduce using rule 246 (Primary) '.' reduce using rule 246 (Primary) ';' reduce using rule 246 (Primary) '*' reduce using rule 246 (Primary) ',' reduce using rule 246 (Primary) '}' reduce using rule 246 (Primary) ')' reduce using rule 246 (Primary) ':' reduce using rule 246 (Primary) '+' reduce using rule 246 (Primary) '-' reduce using rule 246 (Primary) '/' reduce using rule 246 (Primary) '%' reduce using rule 246 (Primary) '<' reduce using rule 246 (Primary) '>' reduce using rule 246 (Primary) '&' reduce using rule 246 (Primary) '^' reduce using rule 246 (Primary) '|' reduce using rule 246 (Primary) '?' reduce using rule 246 (Primary)
191 StatementExpression → ClassInstanceCreationExpression • [';', ',', ')'] 251 PrimaryNoNewArray → ClassInstanceCreationExpression • [PLUSPLUS, MINUSMINUS, '[', '.'] PLUSPLUS reduce using rule 251 (PrimaryNoNewArray) MINUSMINUS reduce using rule 251 (PrimaryNoNewArray) '[' reduce using rule 251 (PrimaryNoNewArray) '.' reduce using rule 251 (PrimaryNoNewArray) ';' reduce using rule 191 (StatementExpression) ',' reduce using rule 191 (StatementExpression) ')' reduce using rule 191 (StatementExpression)
247 Primary → ArrayCreationExpression • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 247 (Primary) PLUSPLUS reduce using rule 247 (Primary) MINUSMINUS reduce using rule 247 (Primary) LTLT reduce using rule 247 (Primary) GTGT reduce using rule 247 (Primary) GTGTGT reduce using rule 247 (Primary) LTEQ reduce using rule 247 (Primary) GTEQ reduce using rule 247 (Primary) EQEQ reduce using rule 247 (Primary) BANGEQ reduce using rule 247 (Primary) ANDAND reduce using rule 247 (Primary) OROR reduce using rule 247 (Primary) ']' reduce using rule 247 (Primary) '.' reduce using rule 247 (Primary) ';' reduce using rule 247 (Primary) '*' reduce using rule 247 (Primary) ',' reduce using rule 247 (Primary) '}' reduce using rule 247 (Primary) ')' reduce using rule 247 (Primary) ':' reduce using rule 247 (Primary) '+' reduce using rule 247 (Primary) '-' reduce using rule 247 (Primary) '/' reduce using rule 247 (Primary) '%' reduce using rule 247 (Primary) '<' reduce using rule 247 (Primary) '>' reduce using rule 247 (Primary) '&' reduce using rule 247 (Primary) '^' reduce using rule 247 (Primary) '|' reduce using rule 247 (Primary) '?' reduce using rule 247 (Primary)
252 PrimaryNoNewArray → FieldAccess • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 335 LeftHandSide → FieldAccess • [TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '='] INSTANCEOF reduce using rule 252 (PrimaryNoNewArray) PLUSPLUS reduce using rule 252 (PrimaryNoNewArray) MINUSMINUS reduce using rule 252 (PrimaryNoNewArray) LTLT reduce using rule 252 (PrimaryNoNewArray) GTGT reduce using rule 252 (PrimaryNoNewArray) GTGTGT reduce using rule 252 (PrimaryNoNewArray) LTEQ reduce using rule 252 (PrimaryNoNewArray) GTEQ reduce using rule 252 (PrimaryNoNewArray) EQEQ reduce using rule 252 (PrimaryNoNewArray) BANGEQ reduce using rule 252 (PrimaryNoNewArray) ANDAND reduce using rule 252 (PrimaryNoNewArray) OROR reduce using rule 252 (PrimaryNoNewArray) TIMESEQ reduce using rule 335 (LeftHandSide) DIVEQ reduce using rule 335 (LeftHandSide) MODEQ reduce using rule 335 (LeftHandSide) PLUSEQ reduce using rule 335 (LeftHandSide) MINUSEQ reduce using rule 335 (LeftHandSide) LTLTEQ reduce using rule 335 (LeftHandSide) GTGTEQ reduce using rule 335 (LeftHandSide) GTGTGTEQ reduce using rule 335 (LeftHandSide) ANDEQ reduce using rule 335 (LeftHandSide) XOREQ reduce using rule 335 (LeftHandSide) OREQ reduce using rule 335 (LeftHandSide) '[' reduce using rule 252 (PrimaryNoNewArray) ']' reduce using rule 252 (PrimaryNoNewArray) '.' reduce using rule 252 (PrimaryNoNewArray) ';' reduce using rule 252 (PrimaryNoNewArray) '*' reduce using rule 252 (PrimaryNoNewArray) ',' reduce using rule 252 (PrimaryNoNewArray) '}' reduce using rule 252 (PrimaryNoNewArray) '=' reduce using rule 335 (LeftHandSide) ')' reduce using rule 252 (PrimaryNoNewArray) ':' reduce using rule 252 (PrimaryNoNewArray) '+' reduce using rule 252 (PrimaryNoNewArray) '-' reduce using rule 252 (PrimaryNoNewArray) '/' reduce using rule 252 (PrimaryNoNewArray) '%' reduce using rule 252 (PrimaryNoNewArray) '<' reduce using rule 252 (PrimaryNoNewArray) '>' reduce using rule 252 (PrimaryNoNewArray) '&' reduce using rule 252 (PrimaryNoNewArray) '^' reduce using rule 252 (PrimaryNoNewArray) '|' reduce using rule 252 (PrimaryNoNewArray) '?' reduce using rule 252 (PrimaryNoNewArray)
190 StatementExpression → MethodInvocation • [';', ',', ')'] 253 PrimaryNoNewArray → MethodInvocation • [PLUSPLUS, MINUSMINUS, '[', '.'] PLUSPLUS reduce using rule 253 (PrimaryNoNewArray) MINUSMINUS reduce using rule 253 (PrimaryNoNewArray) '[' reduce using rule 253 (PrimaryNoNewArray) '.' reduce using rule 253 (PrimaryNoNewArray) ';' reduce using rule 190 (StatementExpression) ',' reduce using rule 190 (StatementExpression) ')' reduce using rule 190 (StatementExpression)
254 PrimaryNoNewArray → ArrayAccess • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 336 LeftHandSide → ArrayAccess • [TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '='] INSTANCEOF reduce using rule 254 (PrimaryNoNewArray) PLUSPLUS reduce using rule 254 (PrimaryNoNewArray) MINUSMINUS reduce using rule 254 (PrimaryNoNewArray) LTLT reduce using rule 254 (PrimaryNoNewArray) GTGT reduce using rule 254 (PrimaryNoNewArray) GTGTGT reduce using rule 254 (PrimaryNoNewArray) LTEQ reduce using rule 254 (PrimaryNoNewArray) GTEQ reduce using rule 254 (PrimaryNoNewArray) EQEQ reduce using rule 254 (PrimaryNoNewArray) BANGEQ reduce using rule 254 (PrimaryNoNewArray) ANDAND reduce using rule 254 (PrimaryNoNewArray) OROR reduce using rule 254 (PrimaryNoNewArray) TIMESEQ reduce using rule 336 (LeftHandSide) DIVEQ reduce using rule 336 (LeftHandSide) MODEQ reduce using rule 336 (LeftHandSide) PLUSEQ reduce using rule 336 (LeftHandSide) MINUSEQ reduce using rule 336 (LeftHandSide) LTLTEQ reduce using rule 336 (LeftHandSide) GTGTEQ reduce using rule 336 (LeftHandSide) GTGTGTEQ reduce using rule 336 (LeftHandSide) ANDEQ reduce using rule 336 (LeftHandSide) XOREQ reduce using rule 336 (LeftHandSide) OREQ reduce using rule 336 (LeftHandSide) '[' reduce using rule 254 (PrimaryNoNewArray) ']' reduce using rule 254 (PrimaryNoNewArray) '.' reduce using rule 254 (PrimaryNoNewArray) ';' reduce using rule 254 (PrimaryNoNewArray) '*' reduce using rule 254 (PrimaryNoNewArray) ',' reduce using rule 254 (PrimaryNoNewArray) '}' reduce using rule 254 (PrimaryNoNewArray) '=' reduce using rule 336 (LeftHandSide) ')' reduce using rule 254 (PrimaryNoNewArray) ':' reduce using rule 254 (PrimaryNoNewArray) '+' reduce using rule 254 (PrimaryNoNewArray) '-' reduce using rule 254 (PrimaryNoNewArray) '/' reduce using rule 254 (PrimaryNoNewArray) '%' reduce using rule 254 (PrimaryNoNewArray) '<' reduce using rule 254 (PrimaryNoNewArray) '>' reduce using rule 254 (PrimaryNoNewArray) '&' reduce using rule 254 (PrimaryNoNewArray) '^' reduce using rule 254 (PrimaryNoNewArray) '|' reduce using rule 254 (PrimaryNoNewArray) '?' reduce using rule 254 (PrimaryNoNewArray)
282 PostIncrementExpression → PostfixExpression • PLUSPLUS 283 PostDecrementExpression → PostfixExpression • MINUSMINUS PLUSPLUS shift, and go to state 316 MINUSMINUS shift, and go to state 317
188 StatementExpression → PostIncrementExpression • [';', ',', ')'] 280 PostfixExpression → PostIncrementExpression • [PLUSPLUS, MINUSMINUS] PLUSPLUS reduce using rule 280 (PostfixExpression) MINUSMINUS reduce using rule 280 (PostfixExpression) ';' reduce using rule 188 (StatementExpression) ',' reduce using rule 188 (StatementExpression) ')' reduce using rule 188 (StatementExpression)
189 StatementExpression → PostDecrementExpression • [';', ',', ')'] 281 PostfixExpression → PostDecrementExpression • [PLUSPLUS, MINUSMINUS] PLUSPLUS reduce using rule 281 (PostfixExpression) MINUSMINUS reduce using rule 281 (PostfixExpression) ';' reduce using rule 189 (StatementExpression) ',' reduce using rule 189 (StatementExpression) ')' reduce using rule 189 (StatementExpression)
186 StatementExpression → PreIncrementExpression • [';', ',', ')'] ';' reduce using rule 186 (StatementExpression) ',' reduce using rule 186 (StatementExpression) ')' reduce using rule 186 (StatementExpression)
187 StatementExpression → PreDecrementExpression • [';', ',', ')'] ';' reduce using rule 187 (StatementExpression) ',' reduce using rule 187 (StatementExpression) ')' reduce using rule 187 (StatementExpression)
185 StatementExpression → Assignment • [';', ',', ')'] ';' reduce using rule 185 (StatementExpression) ',' reduce using rule 185 (StatementExpression) ')' reduce using rule 185 (StatementExpression)
333 Assignment → LeftHandSide • AssignmentOperator AssignmentExpression 337 AssignmentOperator → • '=' 338 | • TIMESEQ 339 | • DIVEQ 340 | • MODEQ 341 | • PLUSEQ 342 | • MINUSEQ 343 | • LTLTEQ 344 | • GTGTEQ 345 | • GTGTGTEQ 346 | • ANDEQ 347 | • XOREQ 348 | • OREQ TIMESEQ shift, and go to state 318 DIVEQ shift, and go to state 319 MODEQ shift, and go to state 320 PLUSEQ shift, and go to state 321 MINUSEQ shift, and go to state 322 LTLTEQ shift, and go to state 323 GTGTEQ shift, and go to state 324 GTGTGTEQ shift, and go to state 325 ANDEQ shift, and go to state 326 XOREQ shift, and go to state 327 OREQ shift, and go to state 328 '=' shift, and go to state 329 AssignmentOperator go to state 330
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 105 MethodDeclarator → Identifier '(' • FormalParameterList ')' 106 | Identifier '(' • ')' 108 FormalParameterList → • FormalParameter 109 | • FormalParameterList ',' FormalParameter 110 FormalParameter → • Type VariableDeclaratorId Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 ')' shift, and go to state 331 Type go to state 235 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 31 QualifiedName go to state 32 FormalParameterList go to state 332 FormalParameter go to state 237
107 MethodDeclarator → MethodDeclarator '[' • ']' ']' shift, and go to state 333
103 MethodHeader → VOID MethodDeclarator Throws • [';', '{'] ';' reduce using rule 103 (MethodHeader) '{' reduce using rule 103 (MethodHeader)
87 FieldDeclaration → Type VariableDeclarators ';' • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 87 (FieldDeclaration) BOOLEAN reduce using rule 87 (FieldDeclaration) BYTE reduce using rule 87 (FieldDeclaration) SHORT reduce using rule 87 (FieldDeclaration) INT reduce using rule 87 (FieldDeclaration) LONG reduce using rule 87 (FieldDeclaration) CHAR reduce using rule 87 (FieldDeclaration) FLOAT reduce using rule 87 (FieldDeclaration) DOUBLE reduce using rule 87 (FieldDeclaration) PUBLIC reduce using rule 87 (FieldDeclaration) PROTECTED reduce using rule 87 (FieldDeclaration) PRIVATE reduce using rule 87 (FieldDeclaration) STATIC reduce using rule 87 (FieldDeclaration) ABSTRACT reduce using rule 87 (FieldDeclaration) FINAL reduce using rule 87 (FieldDeclaration) NATIVE reduce using rule 87 (FieldDeclaration) SYNCHRONIZED reduce using rule 87 (FieldDeclaration) TRANSIENT reduce using rule 87 (FieldDeclaration) VOLATILE reduce using rule 87 (FieldDeclaration) VOID reduce using rule 87 (FieldDeclaration) '}' reduce using rule 87 (FieldDeclaration)
89 VariableDeclarators → VariableDeclarators ',' • VariableDeclarator 90 VariableDeclarator → • VariableDeclaratorId 91 | • VariableDeclaratorId '=' VariableInitializer 92 VariableDeclaratorId → • Identifier 93 | • VariableDeclaratorId '[' ']' Identifier shift, and go to state 306 VariableDeclarator go to state 334 VariableDeclaratorId go to state 129
93 VariableDeclaratorId → VariableDeclaratorId '[' • ']' ']' shift, and go to state 335
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 91 VariableDeclarator → VariableDeclaratorId '=' • VariableInitializer 94 VariableInitializer → • Expression 95 | • ArrayInitializer 145 ArrayInitializer → • '{' VariableInitializers ',' '}' 146 | • '{' VariableInitializers '}' 147 | • '{' ',' '}' 148 | • '{' '}' 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '{' shift, and go to state 336 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 VariableInitializer go to state 337 ArrayInitializer go to state 338 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 339
99 MethodHeader → Type MethodDeclarator Throws • [';', '{'] ';' reduce using rule 99 (MethodHeader) '{' reduce using rule 99 (MethodHeader)
26 ArrayType → PrimitiveType '[' ']' • [Identifier, INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] Identifier reduce using rule 26 (ArrayType) INSTANCEOF reduce using rule 26 (ArrayType) LTEQ reduce using rule 26 (ArrayType) GTEQ reduce using rule 26 (ArrayType) EQEQ reduce using rule 26 (ArrayType) BANGEQ reduce using rule 26 (ArrayType) ANDAND reduce using rule 26 (ArrayType) OROR reduce using rule 26 (ArrayType) '[' reduce using rule 26 (ArrayType) ']' reduce using rule 26 (ArrayType) ';' reduce using rule 26 (ArrayType) ',' reduce using rule 26 (ArrayType) '}' reduce using rule 26 (ArrayType) ')' reduce using rule 26 (ArrayType) ':' reduce using rule 26 (ArrayType) '<' reduce using rule 26 (ArrayType) '>' reduce using rule 26 (ArrayType) '&' reduce using rule 26 (ArrayType) '^' reduce using rule 26 (ArrayType) '|' reduce using rule 26 (ArrayType) '?' reduce using rule 26 (ArrayType)
28 ArrayType → ArrayType '[' ']' • [Identifier, INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] Identifier reduce using rule 28 (ArrayType) INSTANCEOF reduce using rule 28 (ArrayType) LTEQ reduce using rule 28 (ArrayType) GTEQ reduce using rule 28 (ArrayType) EQEQ reduce using rule 28 (ArrayType) BANGEQ reduce using rule 28 (ArrayType) ANDAND reduce using rule 28 (ArrayType) OROR reduce using rule 28 (ArrayType) '[' reduce using rule 28 (ArrayType) ']' reduce using rule 28 (ArrayType) ';' reduce using rule 28 (ArrayType) ',' reduce using rule 28 (ArrayType) '}' reduce using rule 28 (ArrayType) ')' reduce using rule 28 (ArrayType) ':' reduce using rule 28 (ArrayType) '<' reduce using rule 28 (ArrayType) '>' reduce using rule 28 (ArrayType) '&' reduce using rule 28 (ArrayType) '^' reduce using rule 28 (ArrayType) '|' reduce using rule 28 (ArrayType) '?' reduce using rule 28 (ArrayType)
27 ArrayType → Name '[' ']' • [Identifier, INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] Identifier reduce using rule 27 (ArrayType) INSTANCEOF reduce using rule 27 (ArrayType) LTEQ reduce using rule 27 (ArrayType) GTEQ reduce using rule 27 (ArrayType) EQEQ reduce using rule 27 (ArrayType) BANGEQ reduce using rule 27 (ArrayType) ANDAND reduce using rule 27 (ArrayType) OROR reduce using rule 27 (ArrayType) '[' reduce using rule 27 (ArrayType) ']' reduce using rule 27 (ArrayType) ';' reduce using rule 27 (ArrayType) ',' reduce using rule 27 (ArrayType) '}' reduce using rule 27 (ArrayType) ')' reduce using rule 27 (ArrayType) ':' reduce using rule 27 (ArrayType) '<' reduce using rule 27 (ArrayType) '>' reduce using rule 27 (ArrayType) '&' reduce using rule 27 (ArrayType) '^' reduce using rule 27 (ArrayType) '|' reduce using rule 27 (ArrayType) '?' reduce using rule 27 (ArrayType)
122 ConstructorDeclarator → SimpleName '(' ')' • [THROWS, '{'] THROWS reduce using rule 122 (ConstructorDeclarator) '{' reduce using rule 122 (ConstructorDeclarator)
92 VariableDeclaratorId → • Identifier 93 | • VariableDeclaratorId '[' ']' 110 FormalParameter → Type • VariableDeclaratorId Identifier shift, and go to state 306 VariableDeclaratorId go to state 340
109 FormalParameterList → FormalParameterList • ',' FormalParameter 121 ConstructorDeclarator → SimpleName '(' FormalParameterList • ')' ',' shift, and go to state 341 ')' shift, and go to state 342
108 FormalParameterList → FormalParameter • [',', ')'] ',' reduce using rule 108 (FormalParameterList) ')' reduce using rule 108 (FormalParameterList)
101 MethodHeader → Modifiers VOID MethodDeclarator • Throws 102 | Modifiers VOID MethodDeclarator • [';', '{'] 107 MethodDeclarator → MethodDeclarator • '[' ']' 111 Throws → • THROWS ClassTypeList THROWS shift, and go to state 143 '[' shift, and go to state 224 ';' reduce using rule 102 (MethodHeader) '{' reduce using rule 102 (MethodHeader) Throws go to state 343
86 FieldDeclaration → Modifiers Type VariableDeclarators • ';' 89 VariableDeclarators → VariableDeclarators • ',' VariableDeclarator ';' shift, and go to state 344 ',' shift, and go to state 227
97 MethodHeader → Modifiers Type MethodDeclarator • Throws 98 | Modifiers Type MethodDeclarator • [';', '{'] 107 MethodDeclarator → MethodDeclarator • '[' ']' 111 Throws → • THROWS ClassTypeList THROWS shift, and go to state 143 '[' shift, and go to state 224 ';' reduce using rule 98 (MethodHeader) '{' reduce using rule 98 (MethodHeader) Throws go to state 345
117 ConstructorDeclaration → Modifiers ConstructorDeclarator Throws • ConstructorBody 123 ConstructorBody → • '{' ExplicitConstructorInvocation BlockStatements '}' 124 | • '{' ExplicitConstructorInvocation '}' 125 | • '{' BlockStatements '}' 126 | • '{' '}' '{' shift, and go to state 144 ConstructorBody go to state 346
118 ConstructorDeclaration → Modifiers ConstructorDeclarator ConstructorBody • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 118 (ConstructorDeclaration) BOOLEAN reduce using rule 118 (ConstructorDeclaration) BYTE reduce using rule 118 (ConstructorDeclaration) SHORT reduce using rule 118 (ConstructorDeclaration) INT reduce using rule 118 (ConstructorDeclaration) LONG reduce using rule 118 (ConstructorDeclaration) CHAR reduce using rule 118 (ConstructorDeclaration) FLOAT reduce using rule 118 (ConstructorDeclaration) DOUBLE reduce using rule 118 (ConstructorDeclaration) PUBLIC reduce using rule 118 (ConstructorDeclaration) PROTECTED reduce using rule 118 (ConstructorDeclaration) PRIVATE reduce using rule 118 (ConstructorDeclaration) STATIC reduce using rule 118 (ConstructorDeclaration) ABSTRACT reduce using rule 118 (ConstructorDeclaration) FINAL reduce using rule 118 (ConstructorDeclaration) NATIVE reduce using rule 118 (ConstructorDeclaration) SYNCHRONIZED reduce using rule 118 (ConstructorDeclaration) TRANSIENT reduce using rule 118 (ConstructorDeclaration) VOLATILE reduce using rule 118 (ConstructorDeclaration) VOID reduce using rule 118 (ConstructorDeclaration) '}' reduce using rule 118 (ConstructorDeclaration)
112 ClassTypeList → ClassType • [';', ',', '{'] ';' reduce using rule 112 (ClassTypeList) ',' reduce using rule 112 (ClassTypeList) '{' reduce using rule 112 (ClassTypeList)
111 Throws → THROWS ClassTypeList • [';', '{'] 113 ClassTypeList → ClassTypeList • ',' ClassType ',' shift, and go to state 347 ';' reduce using rule 111 (Throws) '{' reduce using rule 111 (Throws)
127 ExplicitConstructorInvocation → THIS • '(' ArgumentList ')' ';' 128 | THIS • '(' ')' ';' 249 PrimaryNoNewArray → THIS • [PLUSPLUS, MINUSMINUS, '[', '.'] '(' shift, and go to state 348 PLUSPLUS reduce using rule 249 (PrimaryNoNewArray) MINUSMINUS reduce using rule 249 (PrimaryNoNewArray) '[' reduce using rule 249 (PrimaryNoNewArray) '.' reduce using rule 249 (PrimaryNoNewArray)
129 ExplicitConstructorInvocation → SUPER • '(' ArgumentList ')' ';' 130 | SUPER • '(' ')' ';' 269 FieldAccess → SUPER • '.' Identifier 274 MethodInvocation → SUPER • '.' Identifier '(' ArgumentList ')' 275 | SUPER • '.' Identifier '(' ')' '.' shift, and go to state 254 '(' shift, and go to state 349
126 ConstructorBody → '{' '}' • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 126 (ConstructorBody) BOOLEAN reduce using rule 126 (ConstructorBody) BYTE reduce using rule 126 (ConstructorBody) SHORT reduce using rule 126 (ConstructorBody) INT reduce using rule 126 (ConstructorBody) LONG reduce using rule 126 (ConstructorBody) CHAR reduce using rule 126 (ConstructorBody) FLOAT reduce using rule 126 (ConstructorBody) DOUBLE reduce using rule 126 (ConstructorBody) PUBLIC reduce using rule 126 (ConstructorBody) PROTECTED reduce using rule 126 (ConstructorBody) PRIVATE reduce using rule 126 (ConstructorBody) STATIC reduce using rule 126 (ConstructorBody) ABSTRACT reduce using rule 126 (ConstructorBody) FINAL reduce using rule 126 (ConstructorBody) NATIVE reduce using rule 126 (ConstructorBody) SYNCHRONIZED reduce using rule 126 (ConstructorBody) TRANSIENT reduce using rule 126 (ConstructorBody) VOLATILE reduce using rule 126 (ConstructorBody) VOID reduce using rule 126 (ConstructorBody) '}' reduce using rule 126 (ConstructorBody)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 123 ConstructorBody → '{' ExplicitConstructorInvocation • BlockStatements '}' 124 | '{' ExplicitConstructorInvocation • '}' 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 153 BlockStatements → • BlockStatement 154 | • BlockStatements BlockStatement 155 BlockStatement → • LocalVariableDeclarationStatement 156 | • Statement 157 LocalVariableDeclarationStatement → • LocalVariableDeclaration ';' 158 LocalVariableDeclaration → • Type VariableDeclarators 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '}' shift, and go to state 350 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 BlockStatements go to state 351 BlockStatement go to state 188 LocalVariableDeclarationStatement go to state 189 LocalVariableDeclaration go to state 190 Statement go to state 191 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 125 ConstructorBody → '{' BlockStatements • '}' 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 154 BlockStatements → BlockStatements • BlockStatement 155 BlockStatement → • LocalVariableDeclarationStatement 156 | • Statement 157 LocalVariableDeclarationStatement → • LocalVariableDeclaration ';' 158 LocalVariableDeclaration → • Type VariableDeclarators 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '}' shift, and go to state 352 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 BlockStatement go to state 311 LocalVariableDeclarationStatement go to state 189 LocalVariableDeclaration go to state 190 Statement go to state 191 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
119 ConstructorDeclaration → ConstructorDeclarator Throws ConstructorBody • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 119 (ConstructorDeclaration) BOOLEAN reduce using rule 119 (ConstructorDeclaration) BYTE reduce using rule 119 (ConstructorDeclaration) SHORT reduce using rule 119 (ConstructorDeclaration) INT reduce using rule 119 (ConstructorDeclaration) LONG reduce using rule 119 (ConstructorDeclaration) CHAR reduce using rule 119 (ConstructorDeclaration) FLOAT reduce using rule 119 (ConstructorDeclaration) DOUBLE reduce using rule 119 (ConstructorDeclaration) PUBLIC reduce using rule 119 (ConstructorDeclaration) PROTECTED reduce using rule 119 (ConstructorDeclaration) PRIVATE reduce using rule 119 (ConstructorDeclaration) STATIC reduce using rule 119 (ConstructorDeclaration) ABSTRACT reduce using rule 119 (ConstructorDeclaration) FINAL reduce using rule 119 (ConstructorDeclaration) NATIVE reduce using rule 119 (ConstructorDeclaration) SYNCHRONIZED reduce using rule 119 (ConstructorDeclaration) TRANSIENT reduce using rule 119 (ConstructorDeclaration) VOLATILE reduce using rule 119 (ConstructorDeclaration) VOID reduce using rule 119 (ConstructorDeclaration) '}' reduce using rule 119 (ConstructorDeclaration)
65 ClassDeclaration → Modifiers CLASS Identifier Super Interfaces ClassBody • [$end, CLASS, INTERFACE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, ';'] $end reduce using rule 65 (ClassDeclaration) CLASS reduce using rule 65 (ClassDeclaration) INTERFACE reduce using rule 65 (ClassDeclaration) PUBLIC reduce using rule 65 (ClassDeclaration) PROTECTED reduce using rule 65 (ClassDeclaration) PRIVATE reduce using rule 65 (ClassDeclaration) STATIC reduce using rule 65 (ClassDeclaration) ABSTRACT reduce using rule 65 (ClassDeclaration) FINAL reduce using rule 65 (ClassDeclaration) NATIVE reduce using rule 65 (ClassDeclaration) SYNCHRONIZED reduce using rule 65 (ClassDeclaration) TRANSIENT reduce using rule 65 (ClassDeclaration) VOLATILE reduce using rule 65 (ClassDeclaration) ';' reduce using rule 65 (ClassDeclaration)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 182 | Identifier ':' • Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 353 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 238 SynchronizedStatement → SYNCHRONIZED '(' • Expression ')' Block 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 354
269 FieldAccess → SUPER '.' • Identifier 274 MethodInvocation → SUPER '.' • Identifier '(' ArgumentList ')' 275 | SUPER '.' • Identifier '(' ')' Identifier shift, and go to state 355
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 192 IfThenStatement → IF '(' • Expression ')' Statement 193 IfThenElseStatement → IF '(' • Expression ')' StatementNoShortIf ELSE Statement 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 356
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 195 SwitchStatement → SWITCH '(' • Expression ')' SwitchBlock 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 357
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 207 WhileStatement → WHILE '(' • Expression ')' Statement 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 358
32 QualifiedName → Name • '.' Identifier 270 MethodInvocation → Name • '(' ArgumentList ')' 271 | Name • '(' ')' 276 ArrayAccess → Name • '[' Expression ']' 279 PostfixExpression → Name • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 334 LeftHandSide → Name • [TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '='] '[' shift, and go to state 359 '.' shift, and go to state 45 '(' shift, and go to state 309 INSTANCEOF reduce using rule 279 (PostfixExpression) PLUSPLUS reduce using rule 279 (PostfixExpression) MINUSMINUS reduce using rule 279 (PostfixExpression) LTLT reduce using rule 279 (PostfixExpression) GTGT reduce using rule 279 (PostfixExpression) GTGTGT reduce using rule 279 (PostfixExpression) LTEQ reduce using rule 279 (PostfixExpression) GTEQ reduce using rule 279 (PostfixExpression) EQEQ reduce using rule 279 (PostfixExpression) BANGEQ reduce using rule 279 (PostfixExpression) ANDAND reduce using rule 279 (PostfixExpression) OROR reduce using rule 279 (PostfixExpression) TIMESEQ reduce using rule 334 (LeftHandSide) DIVEQ reduce using rule 334 (LeftHandSide) MODEQ reduce using rule 334 (LeftHandSide) PLUSEQ reduce using rule 334 (LeftHandSide) MINUSEQ reduce using rule 334 (LeftHandSide) LTLTEQ reduce using rule 334 (LeftHandSide) GTGTEQ reduce using rule 334 (LeftHandSide) GTGTGTEQ reduce using rule 334 (LeftHandSide) ANDEQ reduce using rule 334 (LeftHandSide) XOREQ reduce using rule 334 (LeftHandSide) OREQ reduce using rule 334 (LeftHandSide) ']' reduce using rule 279 (PostfixExpression) ';' reduce using rule 279 (PostfixExpression) '*' reduce using rule 279 (PostfixExpression) ',' reduce using rule 279 (PostfixExpression) '}' reduce using rule 279 (PostfixExpression) '=' reduce using rule 334 (LeftHandSide) ')' reduce using rule 279 (PostfixExpression) ':' reduce using rule 279 (PostfixExpression) '+' reduce using rule 279 (PostfixExpression) '-' reduce using rule 279 (PostfixExpression) '/' reduce using rule 279 (PostfixExpression) '%' reduce using rule 279 (PostfixExpression) '<' reduce using rule 279 (PostfixExpression) '>' reduce using rule 279 (PostfixExpression) '&' reduce using rule 279 (PostfixExpression) '^' reduce using rule 279 (PostfixExpression) '|' reduce using rule 279 (PostfixExpression) '?' reduce using rule 279 (PostfixExpression)
209 DoStatement → DO Statement • WHILE '(' Expression ')' ';' WHILE shift, and go to state 360
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 158 LocalVariableDeclaration → • Type VariableDeclarators 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 210 ForStatement → FOR '(' • ForInit ';' Expression ';' ForUpdate ')' Statement 211 | FOR '(' • ForInit ';' Expression ';' ')' Statement 212 | FOR '(' • ForInit ';' ';' ForUpdate ')' Statement 213 | FOR '(' • ForInit ';' ';' ')' Statement 214 | FOR '(' • ';' Expression ';' ForUpdate ')' Statement 215 | FOR '(' • ';' Expression ';' ')' Statement 216 | FOR '(' • ';' ';' ForUpdate ')' Statement 217 | FOR '(' • ';' ';' ')' Statement 226 ForInit → • StatementExpressionList 227 | • LocalVariableDeclaration 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 361 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 LocalVariableDeclaration go to state 362 StatementExpression go to state 363 ForInit go to state 364 StatementExpressionList go to state 365 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
231 BreakStatement → BREAK Identifier • ';' ';' shift, and go to state 366
232 BreakStatement → BREAK ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 232 (BreakStatement) IntegerLiteral reduce using rule 232 (BreakStatement) FloatingPointLiteral reduce using rule 232 (BreakStatement) BooleanLiteral reduce using rule 232 (BreakStatement) CharacterLiteral reduce using rule 232 (BreakStatement) StringLiteral reduce using rule 232 (BreakStatement) NullLiteral reduce using rule 232 (BreakStatement) BOOLEAN reduce using rule 232 (BreakStatement) BYTE reduce using rule 232 (BreakStatement) SHORT reduce using rule 232 (BreakStatement) INT reduce using rule 232 (BreakStatement) LONG reduce using rule 232 (BreakStatement) CHAR reduce using rule 232 (BreakStatement) FLOAT reduce using rule 232 (BreakStatement) DOUBLE reduce using rule 232 (BreakStatement) SYNCHRONIZED reduce using rule 232 (BreakStatement) THIS reduce using rule 232 (BreakStatement) SUPER reduce using rule 232 (BreakStatement) IF reduce using rule 232 (BreakStatement) ELSE reduce using rule 232 (BreakStatement) SWITCH reduce using rule 232 (BreakStatement) CASE reduce using rule 232 (BreakStatement) DEFAULT reduce using rule 232 (BreakStatement) WHILE reduce using rule 232 (BreakStatement) DO reduce using rule 232 (BreakStatement) FOR reduce using rule 232 (BreakStatement) BREAK reduce using rule 232 (BreakStatement) CONTINUE reduce using rule 232 (BreakStatement) RETURN reduce using rule 232 (BreakStatement) THROW reduce using rule 232 (BreakStatement) TRY reduce using rule 232 (BreakStatement) NEW reduce using rule 232 (BreakStatement) PLUSPLUS reduce using rule 232 (BreakStatement) MINUSMINUS reduce using rule 232 (BreakStatement) ';' reduce using rule 232 (BreakStatement) '{' reduce using rule 232 (BreakStatement) '}' reduce using rule 232 (BreakStatement) '(' reduce using rule 232 (BreakStatement)
233 ContinueStatement → CONTINUE Identifier • ';' ';' shift, and go to state 367
234 ContinueStatement → CONTINUE ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 234 (ContinueStatement) IntegerLiteral reduce using rule 234 (ContinueStatement) FloatingPointLiteral reduce using rule 234 (ContinueStatement) BooleanLiteral reduce using rule 234 (ContinueStatement) CharacterLiteral reduce using rule 234 (ContinueStatement) StringLiteral reduce using rule 234 (ContinueStatement) NullLiteral reduce using rule 234 (ContinueStatement) BOOLEAN reduce using rule 234 (ContinueStatement) BYTE reduce using rule 234 (ContinueStatement) SHORT reduce using rule 234 (ContinueStatement) INT reduce using rule 234 (ContinueStatement) LONG reduce using rule 234 (ContinueStatement) CHAR reduce using rule 234 (ContinueStatement) FLOAT reduce using rule 234 (ContinueStatement) DOUBLE reduce using rule 234 (ContinueStatement) SYNCHRONIZED reduce using rule 234 (ContinueStatement) THIS reduce using rule 234 (ContinueStatement) SUPER reduce using rule 234 (ContinueStatement) IF reduce using rule 234 (ContinueStatement) ELSE reduce using rule 234 (ContinueStatement) SWITCH reduce using rule 234 (ContinueStatement) CASE reduce using rule 234 (ContinueStatement) DEFAULT reduce using rule 234 (ContinueStatement) WHILE reduce using rule 234 (ContinueStatement) DO reduce using rule 234 (ContinueStatement) FOR reduce using rule 234 (ContinueStatement) BREAK reduce using rule 234 (ContinueStatement) CONTINUE reduce using rule 234 (ContinueStatement) RETURN reduce using rule 234 (ContinueStatement) THROW reduce using rule 234 (ContinueStatement) TRY reduce using rule 234 (ContinueStatement) NEW reduce using rule 234 (ContinueStatement) PLUSPLUS reduce using rule 234 (ContinueStatement) MINUSMINUS reduce using rule 234 (ContinueStatement) ';' reduce using rule 234 (ContinueStatement) '{' reduce using rule 234 (ContinueStatement) '}' reduce using rule 234 (ContinueStatement) '(' reduce using rule 234 (ContinueStatement)
236 ReturnStatement → RETURN ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 236 (ReturnStatement) IntegerLiteral reduce using rule 236 (ReturnStatement) FloatingPointLiteral reduce using rule 236 (ReturnStatement) BooleanLiteral reduce using rule 236 (ReturnStatement) CharacterLiteral reduce using rule 236 (ReturnStatement) StringLiteral reduce using rule 236 (ReturnStatement) NullLiteral reduce using rule 236 (ReturnStatement) BOOLEAN reduce using rule 236 (ReturnStatement) BYTE reduce using rule 236 (ReturnStatement) SHORT reduce using rule 236 (ReturnStatement) INT reduce using rule 236 (ReturnStatement) LONG reduce using rule 236 (ReturnStatement) CHAR reduce using rule 236 (ReturnStatement) FLOAT reduce using rule 236 (ReturnStatement) DOUBLE reduce using rule 236 (ReturnStatement) SYNCHRONIZED reduce using rule 236 (ReturnStatement) THIS reduce using rule 236 (ReturnStatement) SUPER reduce using rule 236 (ReturnStatement) IF reduce using rule 236 (ReturnStatement) ELSE reduce using rule 236 (ReturnStatement) SWITCH reduce using rule 236 (ReturnStatement) CASE reduce using rule 236 (ReturnStatement) DEFAULT reduce using rule 236 (ReturnStatement) WHILE reduce using rule 236 (ReturnStatement) DO reduce using rule 236 (ReturnStatement) FOR reduce using rule 236 (ReturnStatement) BREAK reduce using rule 236 (ReturnStatement) CONTINUE reduce using rule 236 (ReturnStatement) RETURN reduce using rule 236 (ReturnStatement) THROW reduce using rule 236 (ReturnStatement) TRY reduce using rule 236 (ReturnStatement) NEW reduce using rule 236 (ReturnStatement) PLUSPLUS reduce using rule 236 (ReturnStatement) MINUSMINUS reduce using rule 236 (ReturnStatement) ';' reduce using rule 236 (ReturnStatement) '{' reduce using rule 236 (ReturnStatement) '}' reduce using rule 236 (ReturnStatement) '(' reduce using rule 236 (ReturnStatement)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 250 | '(' • Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 295 | '(' • PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 296 | '(' • PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 297 | '(' • Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 298 | '(' • Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 PrimitiveType go to state 368 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 Name go to state 369 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 370
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 286 | '+' • UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 371 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 287 | '-' • UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 372 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 292 | '~' • UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 373 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 293 | '!' • UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 374 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
251 PrimaryNoNewArray → ClassInstanceCreationExpression • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 251 (PrimaryNoNewArray) PLUSPLUS reduce using rule 251 (PrimaryNoNewArray) MINUSMINUS reduce using rule 251 (PrimaryNoNewArray) LTLT reduce using rule 251 (PrimaryNoNewArray) GTGT reduce using rule 251 (PrimaryNoNewArray) GTGTGT reduce using rule 251 (PrimaryNoNewArray) LTEQ reduce using rule 251 (PrimaryNoNewArray) GTEQ reduce using rule 251 (PrimaryNoNewArray) EQEQ reduce using rule 251 (PrimaryNoNewArray) BANGEQ reduce using rule 251 (PrimaryNoNewArray) ANDAND reduce using rule 251 (PrimaryNoNewArray) OROR reduce using rule 251 (PrimaryNoNewArray) '[' reduce using rule 251 (PrimaryNoNewArray) ']' reduce using rule 251 (PrimaryNoNewArray) '.' reduce using rule 251 (PrimaryNoNewArray) ';' reduce using rule 251 (PrimaryNoNewArray) '*' reduce using rule 251 (PrimaryNoNewArray) ',' reduce using rule 251 (PrimaryNoNewArray) '}' reduce using rule 251 (PrimaryNoNewArray) ')' reduce using rule 251 (PrimaryNoNewArray) ':' reduce using rule 251 (PrimaryNoNewArray) '+' reduce using rule 251 (PrimaryNoNewArray) '-' reduce using rule 251 (PrimaryNoNewArray) '/' reduce using rule 251 (PrimaryNoNewArray) '%' reduce using rule 251 (PrimaryNoNewArray) '<' reduce using rule 251 (PrimaryNoNewArray) '>' reduce using rule 251 (PrimaryNoNewArray) '&' reduce using rule 251 (PrimaryNoNewArray) '^' reduce using rule 251 (PrimaryNoNewArray) '|' reduce using rule 251 (PrimaryNoNewArray) '?' reduce using rule 251 (PrimaryNoNewArray)
253 PrimaryNoNewArray → MethodInvocation • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 253 (PrimaryNoNewArray) PLUSPLUS reduce using rule 253 (PrimaryNoNewArray) MINUSMINUS reduce using rule 253 (PrimaryNoNewArray) LTLT reduce using rule 253 (PrimaryNoNewArray) GTGT reduce using rule 253 (PrimaryNoNewArray) GTGTGT reduce using rule 253 (PrimaryNoNewArray) LTEQ reduce using rule 253 (PrimaryNoNewArray) GTEQ reduce using rule 253 (PrimaryNoNewArray) EQEQ reduce using rule 253 (PrimaryNoNewArray) BANGEQ reduce using rule 253 (PrimaryNoNewArray) ANDAND reduce using rule 253 (PrimaryNoNewArray) OROR reduce using rule 253 (PrimaryNoNewArray) '[' reduce using rule 253 (PrimaryNoNewArray) ']' reduce using rule 253 (PrimaryNoNewArray) '.' reduce using rule 253 (PrimaryNoNewArray) ';' reduce using rule 253 (PrimaryNoNewArray) '*' reduce using rule 253 (PrimaryNoNewArray) ',' reduce using rule 253 (PrimaryNoNewArray) '}' reduce using rule 253 (PrimaryNoNewArray) ')' reduce using rule 253 (PrimaryNoNewArray) ':' reduce using rule 253 (PrimaryNoNewArray) '+' reduce using rule 253 (PrimaryNoNewArray) '-' reduce using rule 253 (PrimaryNoNewArray) '/' reduce using rule 253 (PrimaryNoNewArray) '%' reduce using rule 253 (PrimaryNoNewArray) '<' reduce using rule 253 (PrimaryNoNewArray) '>' reduce using rule 253 (PrimaryNoNewArray) '&' reduce using rule 253 (PrimaryNoNewArray) '^' reduce using rule 253 (PrimaryNoNewArray) '|' reduce using rule 253 (PrimaryNoNewArray) '?' reduce using rule 253 (PrimaryNoNewArray)
282 PostIncrementExpression → PostfixExpression • PLUSPLUS 283 PostDecrementExpression → PostfixExpression • MINUSMINUS 291 UnaryExpressionNotPlusMinus → PostfixExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] PLUSPLUS shift, and go to state 316 MINUSMINUS shift, and go to state 317 INSTANCEOF reduce using rule 291 (UnaryExpressionNotPlusMinus) LTLT reduce using rule 291 (UnaryExpressionNotPlusMinus) GTGT reduce using rule 291 (UnaryExpressionNotPlusMinus) GTGTGT reduce using rule 291 (UnaryExpressionNotPlusMinus) LTEQ reduce using rule 291 (UnaryExpressionNotPlusMinus) GTEQ reduce using rule 291 (UnaryExpressionNotPlusMinus) EQEQ reduce using rule 291 (UnaryExpressionNotPlusMinus) BANGEQ reduce using rule 291 (UnaryExpressionNotPlusMinus) ANDAND reduce using rule 291 (UnaryExpressionNotPlusMinus) OROR reduce using rule 291 (UnaryExpressionNotPlusMinus) ']' reduce using rule 291 (UnaryExpressionNotPlusMinus) ';' reduce using rule 291 (UnaryExpressionNotPlusMinus) '*' reduce using rule 291 (UnaryExpressionNotPlusMinus) ',' reduce using rule 291 (UnaryExpressionNotPlusMinus) '}' reduce using rule 291 (UnaryExpressionNotPlusMinus) ')' reduce using rule 291 (UnaryExpressionNotPlusMinus) ':' reduce using rule 291 (UnaryExpressionNotPlusMinus) '+' reduce using rule 291 (UnaryExpressionNotPlusMinus) '-' reduce using rule 291 (UnaryExpressionNotPlusMinus) '/' reduce using rule 291 (UnaryExpressionNotPlusMinus) '%' reduce using rule 291 (UnaryExpressionNotPlusMinus) '<' reduce using rule 291 (UnaryExpressionNotPlusMinus) '>' reduce using rule 291 (UnaryExpressionNotPlusMinus) '&' reduce using rule 291 (UnaryExpressionNotPlusMinus) '^' reduce using rule 291 (UnaryExpressionNotPlusMinus) '|' reduce using rule 291 (UnaryExpressionNotPlusMinus) '?' reduce using rule 291 (UnaryExpressionNotPlusMinus)
280 PostfixExpression → PostIncrementExpression • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 280 (PostfixExpression) PLUSPLUS reduce using rule 280 (PostfixExpression) MINUSMINUS reduce using rule 280 (PostfixExpression) LTLT reduce using rule 280 (PostfixExpression) GTGT reduce using rule 280 (PostfixExpression) GTGTGT reduce using rule 280 (PostfixExpression) LTEQ reduce using rule 280 (PostfixExpression) GTEQ reduce using rule 280 (PostfixExpression) EQEQ reduce using rule 280 (PostfixExpression) BANGEQ reduce using rule 280 (PostfixExpression) ANDAND reduce using rule 280 (PostfixExpression) OROR reduce using rule 280 (PostfixExpression) ']' reduce using rule 280 (PostfixExpression) ';' reduce using rule 280 (PostfixExpression) '*' reduce using rule 280 (PostfixExpression) ',' reduce using rule 280 (PostfixExpression) '}' reduce using rule 280 (PostfixExpression) ')' reduce using rule 280 (PostfixExpression) ':' reduce using rule 280 (PostfixExpression) '+' reduce using rule 280 (PostfixExpression) '-' reduce using rule 280 (PostfixExpression) '/' reduce using rule 280 (PostfixExpression) '%' reduce using rule 280 (PostfixExpression) '<' reduce using rule 280 (PostfixExpression) '>' reduce using rule 280 (PostfixExpression) '&' reduce using rule 280 (PostfixExpression) '^' reduce using rule 280 (PostfixExpression) '|' reduce using rule 280 (PostfixExpression) '?' reduce using rule 280 (PostfixExpression)
281 PostfixExpression → PostDecrementExpression • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 281 (PostfixExpression) PLUSPLUS reduce using rule 281 (PostfixExpression) MINUSMINUS reduce using rule 281 (PostfixExpression) LTLT reduce using rule 281 (PostfixExpression) GTGT reduce using rule 281 (PostfixExpression) GTGTGT reduce using rule 281 (PostfixExpression) LTEQ reduce using rule 281 (PostfixExpression) GTEQ reduce using rule 281 (PostfixExpression) EQEQ reduce using rule 281 (PostfixExpression) BANGEQ reduce using rule 281 (PostfixExpression) ANDAND reduce using rule 281 (PostfixExpression) OROR reduce using rule 281 (PostfixExpression) ']' reduce using rule 281 (PostfixExpression) ';' reduce using rule 281 (PostfixExpression) '*' reduce using rule 281 (PostfixExpression) ',' reduce using rule 281 (PostfixExpression) '}' reduce using rule 281 (PostfixExpression) ')' reduce using rule 281 (PostfixExpression) ':' reduce using rule 281 (PostfixExpression) '+' reduce using rule 281 (PostfixExpression) '-' reduce using rule 281 (PostfixExpression) '/' reduce using rule 281 (PostfixExpression) '%' reduce using rule 281 (PostfixExpression) '<' reduce using rule 281 (PostfixExpression) '>' reduce using rule 281 (PostfixExpression) '&' reduce using rule 281 (PostfixExpression) '^' reduce using rule 281 (PostfixExpression) '|' reduce using rule 281 (PostfixExpression) '?' reduce using rule 281 (PostfixExpression)
299 MultiplicativeExpression → UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 299 (MultiplicativeExpression) LTLT reduce using rule 299 (MultiplicativeExpression) GTGT reduce using rule 299 (MultiplicativeExpression) GTGTGT reduce using rule 299 (MultiplicativeExpression) LTEQ reduce using rule 299 (MultiplicativeExpression) GTEQ reduce using rule 299 (MultiplicativeExpression) EQEQ reduce using rule 299 (MultiplicativeExpression) BANGEQ reduce using rule 299 (MultiplicativeExpression) ANDAND reduce using rule 299 (MultiplicativeExpression) OROR reduce using rule 299 (MultiplicativeExpression) ']' reduce using rule 299 (MultiplicativeExpression) ';' reduce using rule 299 (MultiplicativeExpression) '*' reduce using rule 299 (MultiplicativeExpression) ',' reduce using rule 299 (MultiplicativeExpression) '}' reduce using rule 299 (MultiplicativeExpression) ')' reduce using rule 299 (MultiplicativeExpression) ':' reduce using rule 299 (MultiplicativeExpression) '+' reduce using rule 299 (MultiplicativeExpression) '-' reduce using rule 299 (MultiplicativeExpression) '/' reduce using rule 299 (MultiplicativeExpression) '%' reduce using rule 299 (MultiplicativeExpression) '<' reduce using rule 299 (MultiplicativeExpression) '>' reduce using rule 299 (MultiplicativeExpression) '&' reduce using rule 299 (MultiplicativeExpression) '^' reduce using rule 299 (MultiplicativeExpression) '|' reduce using rule 299 (MultiplicativeExpression) '?' reduce using rule 299 (MultiplicativeExpression)
284 UnaryExpression → PreIncrementExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 284 (UnaryExpression) LTLT reduce using rule 284 (UnaryExpression) GTGT reduce using rule 284 (UnaryExpression) GTGTGT reduce using rule 284 (UnaryExpression) LTEQ reduce using rule 284 (UnaryExpression) GTEQ reduce using rule 284 (UnaryExpression) EQEQ reduce using rule 284 (UnaryExpression) BANGEQ reduce using rule 284 (UnaryExpression) ANDAND reduce using rule 284 (UnaryExpression) OROR reduce using rule 284 (UnaryExpression) ']' reduce using rule 284 (UnaryExpression) ';' reduce using rule 284 (UnaryExpression) '*' reduce using rule 284 (UnaryExpression) ',' reduce using rule 284 (UnaryExpression) '}' reduce using rule 284 (UnaryExpression) ')' reduce using rule 284 (UnaryExpression) ':' reduce using rule 284 (UnaryExpression) '+' reduce using rule 284 (UnaryExpression) '-' reduce using rule 284 (UnaryExpression) '/' reduce using rule 284 (UnaryExpression) '%' reduce using rule 284 (UnaryExpression) '<' reduce using rule 284 (UnaryExpression) '>' reduce using rule 284 (UnaryExpression) '&' reduce using rule 284 (UnaryExpression) '^' reduce using rule 284 (UnaryExpression) '|' reduce using rule 284 (UnaryExpression) '?' reduce using rule 284 (UnaryExpression)
285 UnaryExpression → PreDecrementExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 285 (UnaryExpression) LTLT reduce using rule 285 (UnaryExpression) GTGT reduce using rule 285 (UnaryExpression) GTGTGT reduce using rule 285 (UnaryExpression) LTEQ reduce using rule 285 (UnaryExpression) GTEQ reduce using rule 285 (UnaryExpression) EQEQ reduce using rule 285 (UnaryExpression) BANGEQ reduce using rule 285 (UnaryExpression) ANDAND reduce using rule 285 (UnaryExpression) OROR reduce using rule 285 (UnaryExpression) ']' reduce using rule 285 (UnaryExpression) ';' reduce using rule 285 (UnaryExpression) '*' reduce using rule 285 (UnaryExpression) ',' reduce using rule 285 (UnaryExpression) '}' reduce using rule 285 (UnaryExpression) ')' reduce using rule 285 (UnaryExpression) ':' reduce using rule 285 (UnaryExpression) '+' reduce using rule 285 (UnaryExpression) '-' reduce using rule 285 (UnaryExpression) '/' reduce using rule 285 (UnaryExpression) '%' reduce using rule 285 (UnaryExpression) '<' reduce using rule 285 (UnaryExpression) '>' reduce using rule 285 (UnaryExpression) '&' reduce using rule 285 (UnaryExpression) '^' reduce using rule 285 (UnaryExpression) '|' reduce using rule 285 (UnaryExpression) '?' reduce using rule 285 (UnaryExpression)
288 UnaryExpression → UnaryExpressionNotPlusMinus • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 288 (UnaryExpression) LTLT reduce using rule 288 (UnaryExpression) GTGT reduce using rule 288 (UnaryExpression) GTGTGT reduce using rule 288 (UnaryExpression) LTEQ reduce using rule 288 (UnaryExpression) GTEQ reduce using rule 288 (UnaryExpression) EQEQ reduce using rule 288 (UnaryExpression) BANGEQ reduce using rule 288 (UnaryExpression) ANDAND reduce using rule 288 (UnaryExpression) OROR reduce using rule 288 (UnaryExpression) ']' reduce using rule 288 (UnaryExpression) ';' reduce using rule 288 (UnaryExpression) '*' reduce using rule 288 (UnaryExpression) ',' reduce using rule 288 (UnaryExpression) '}' reduce using rule 288 (UnaryExpression) ')' reduce using rule 288 (UnaryExpression) ':' reduce using rule 288 (UnaryExpression) '+' reduce using rule 288 (UnaryExpression) '-' reduce using rule 288 (UnaryExpression) '/' reduce using rule 288 (UnaryExpression) '%' reduce using rule 288 (UnaryExpression) '<' reduce using rule 288 (UnaryExpression) '>' reduce using rule 288 (UnaryExpression) '&' reduce using rule 288 (UnaryExpression) '^' reduce using rule 288 (UnaryExpression) '|' reduce using rule 288 (UnaryExpression) '?' reduce using rule 288 (UnaryExpression)
294 UnaryExpressionNotPlusMinus → CastExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 294 (UnaryExpressionNotPlusMinus) LTLT reduce using rule 294 (UnaryExpressionNotPlusMinus) GTGT reduce using rule 294 (UnaryExpressionNotPlusMinus) GTGTGT reduce using rule 294 (UnaryExpressionNotPlusMinus) LTEQ reduce using rule 294 (UnaryExpressionNotPlusMinus) GTEQ reduce using rule 294 (UnaryExpressionNotPlusMinus) EQEQ reduce using rule 294 (UnaryExpressionNotPlusMinus) BANGEQ reduce using rule 294 (UnaryExpressionNotPlusMinus) ANDAND reduce using rule 294 (UnaryExpressionNotPlusMinus) OROR reduce using rule 294 (UnaryExpressionNotPlusMinus) ']' reduce using rule 294 (UnaryExpressionNotPlusMinus) ';' reduce using rule 294 (UnaryExpressionNotPlusMinus) '*' reduce using rule 294 (UnaryExpressionNotPlusMinus) ',' reduce using rule 294 (UnaryExpressionNotPlusMinus) '}' reduce using rule 294 (UnaryExpressionNotPlusMinus) ')' reduce using rule 294 (UnaryExpressionNotPlusMinus) ':' reduce using rule 294 (UnaryExpressionNotPlusMinus) '+' reduce using rule 294 (UnaryExpressionNotPlusMinus) '-' reduce using rule 294 (UnaryExpressionNotPlusMinus) '/' reduce using rule 294 (UnaryExpressionNotPlusMinus) '%' reduce using rule 294 (UnaryExpressionNotPlusMinus) '<' reduce using rule 294 (UnaryExpressionNotPlusMinus) '>' reduce using rule 294 (UnaryExpressionNotPlusMinus) '&' reduce using rule 294 (UnaryExpressionNotPlusMinus) '^' reduce using rule 294 (UnaryExpressionNotPlusMinus) '|' reduce using rule 294 (UnaryExpressionNotPlusMinus) '?' reduce using rule 294 (UnaryExpressionNotPlusMinus)
300 MultiplicativeExpression → MultiplicativeExpression • '*' UnaryExpression 301 | MultiplicativeExpression • '/' UnaryExpression 302 | MultiplicativeExpression • '%' UnaryExpression 303 AdditiveExpression → MultiplicativeExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '+', '-', '<', '>', '&', '^', '|', '?'] '*' shift, and go to state 375 '/' shift, and go to state 376 '%' shift, and go to state 377 INSTANCEOF reduce using rule 303 (AdditiveExpression) LTLT reduce using rule 303 (AdditiveExpression) GTGT reduce using rule 303 (AdditiveExpression) GTGTGT reduce using rule 303 (AdditiveExpression) LTEQ reduce using rule 303 (AdditiveExpression) GTEQ reduce using rule 303 (AdditiveExpression) EQEQ reduce using rule 303 (AdditiveExpression) BANGEQ reduce using rule 303 (AdditiveExpression) ANDAND reduce using rule 303 (AdditiveExpression) OROR reduce using rule 303 (AdditiveExpression) ']' reduce using rule 303 (AdditiveExpression) ';' reduce using rule 303 (AdditiveExpression) ',' reduce using rule 303 (AdditiveExpression) '}' reduce using rule 303 (AdditiveExpression) ')' reduce using rule 303 (AdditiveExpression) ':' reduce using rule 303 (AdditiveExpression) '+' reduce using rule 303 (AdditiveExpression) '-' reduce using rule 303 (AdditiveExpression) '<' reduce using rule 303 (AdditiveExpression) '>' reduce using rule 303 (AdditiveExpression) '&' reduce using rule 303 (AdditiveExpression) '^' reduce using rule 303 (AdditiveExpression) '|' reduce using rule 303 (AdditiveExpression) '?' reduce using rule 303 (AdditiveExpression)
304 AdditiveExpression → AdditiveExpression • '+' MultiplicativeExpression 305 | AdditiveExpression • '-' MultiplicativeExpression 306 ShiftExpression → AdditiveExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] '+' shift, and go to state 378 '-' shift, and go to state 379 INSTANCEOF reduce using rule 306 (ShiftExpression) LTLT reduce using rule 306 (ShiftExpression) GTGT reduce using rule 306 (ShiftExpression) GTGTGT reduce using rule 306 (ShiftExpression) LTEQ reduce using rule 306 (ShiftExpression) GTEQ reduce using rule 306 (ShiftExpression) EQEQ reduce using rule 306 (ShiftExpression) BANGEQ reduce using rule 306 (ShiftExpression) ANDAND reduce using rule 306 (ShiftExpression) OROR reduce using rule 306 (ShiftExpression) ']' reduce using rule 306 (ShiftExpression) ';' reduce using rule 306 (ShiftExpression) ',' reduce using rule 306 (ShiftExpression) '}' reduce using rule 306 (ShiftExpression) ')' reduce using rule 306 (ShiftExpression) ':' reduce using rule 306 (ShiftExpression) '<' reduce using rule 306 (ShiftExpression) '>' reduce using rule 306 (ShiftExpression) '&' reduce using rule 306 (ShiftExpression) '^' reduce using rule 306 (ShiftExpression) '|' reduce using rule 306 (ShiftExpression) '?' reduce using rule 306 (ShiftExpression)
307 ShiftExpression → ShiftExpression • LTLT AdditiveExpression 308 | ShiftExpression • GTGT AdditiveExpression 309 | ShiftExpression • GTGTGT AdditiveExpression 310 RelationalExpression → ShiftExpression • [INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] LTLT shift, and go to state 380 GTGT shift, and go to state 381 GTGTGT shift, and go to state 382 INSTANCEOF reduce using rule 310 (RelationalExpression) LTEQ reduce using rule 310 (RelationalExpression) GTEQ reduce using rule 310 (RelationalExpression) EQEQ reduce using rule 310 (RelationalExpression) BANGEQ reduce using rule 310 (RelationalExpression) ANDAND reduce using rule 310 (RelationalExpression) OROR reduce using rule 310 (RelationalExpression) ']' reduce using rule 310 (RelationalExpression) ';' reduce using rule 310 (RelationalExpression) ',' reduce using rule 310 (RelationalExpression) '}' reduce using rule 310 (RelationalExpression) ')' reduce using rule 310 (RelationalExpression) ':' reduce using rule 310 (RelationalExpression) '<' reduce using rule 310 (RelationalExpression) '>' reduce using rule 310 (RelationalExpression) '&' reduce using rule 310 (RelationalExpression) '^' reduce using rule 310 (RelationalExpression) '|' reduce using rule 310 (RelationalExpression) '?' reduce using rule 310 (RelationalExpression)
311 RelationalExpression → RelationalExpression • '<' ShiftExpression 312 | RelationalExpression • '>' ShiftExpression 313 | RelationalExpression • LTEQ ShiftExpression 314 | RelationalExpression • GTEQ ShiftExpression 315 | RelationalExpression • INSTANCEOF ReferenceType 316 EqualityExpression → RelationalExpression • [EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '&', '^', '|', '?'] INSTANCEOF shift, and go to state 383 LTEQ shift, and go to state 384 GTEQ shift, and go to state 385 '<' shift, and go to state 386 '>' shift, and go to state 387 EQEQ reduce using rule 316 (EqualityExpression) BANGEQ reduce using rule 316 (EqualityExpression) ANDAND reduce using rule 316 (EqualityExpression) OROR reduce using rule 316 (EqualityExpression) ']' reduce using rule 316 (EqualityExpression) ';' reduce using rule 316 (EqualityExpression) ',' reduce using rule 316 (EqualityExpression) '}' reduce using rule 316 (EqualityExpression) ')' reduce using rule 316 (EqualityExpression) ':' reduce using rule 316 (EqualityExpression) '&' reduce using rule 316 (EqualityExpression) '^' reduce using rule 316 (EqualityExpression) '|' reduce using rule 316 (EqualityExpression) '?' reduce using rule 316 (EqualityExpression)
317 EqualityExpression → EqualityExpression • EQEQ RelationalExpression 318 | EqualityExpression • BANGEQ RelationalExpression 319 AndExpression → EqualityExpression • [ANDAND, OROR, ']', ';', ',', '}', ')', ':', '&', '^', '|', '?'] EQEQ shift, and go to state 388 BANGEQ shift, and go to state 389 ANDAND reduce using rule 319 (AndExpression) OROR reduce using rule 319 (AndExpression) ']' reduce using rule 319 (AndExpression) ';' reduce using rule 319 (AndExpression) ',' reduce using rule 319 (AndExpression) '}' reduce using rule 319 (AndExpression) ')' reduce using rule 319 (AndExpression) ':' reduce using rule 319 (AndExpression) '&' reduce using rule 319 (AndExpression) '^' reduce using rule 319 (AndExpression) '|' reduce using rule 319 (AndExpression) '?' reduce using rule 319 (AndExpression)
320 AndExpression → AndExpression • '&' EqualityExpression 321 ExclusiveOrExpression → AndExpression • [ANDAND, OROR, ']', ';', ',', '}', ')', ':', '^', '|', '?'] '&' shift, and go to state 390 ANDAND reduce using rule 321 (ExclusiveOrExpression) OROR reduce using rule 321 (ExclusiveOrExpression) ']' reduce using rule 321 (ExclusiveOrExpression) ';' reduce using rule 321 (ExclusiveOrExpression) ',' reduce using rule 321 (ExclusiveOrExpression) '}' reduce using rule 321 (ExclusiveOrExpression) ')' reduce using rule 321 (ExclusiveOrExpression) ':' reduce using rule 321 (ExclusiveOrExpression) '^' reduce using rule 321 (ExclusiveOrExpression) '|' reduce using rule 321 (ExclusiveOrExpression) '?' reduce using rule 321 (ExclusiveOrExpression)
322 ExclusiveOrExpression → ExclusiveOrExpression • '^' AndExpression 323 InclusiveOrExpression → ExclusiveOrExpression • [ANDAND, OROR, ']', ';', ',', '}', ')', ':', '|', '?'] '^' shift, and go to state 391 ANDAND reduce using rule 323 (InclusiveOrExpression) OROR reduce using rule 323 (InclusiveOrExpression) ']' reduce using rule 323 (InclusiveOrExpression) ';' reduce using rule 323 (InclusiveOrExpression) ',' reduce using rule 323 (InclusiveOrExpression) '}' reduce using rule 323 (InclusiveOrExpression) ')' reduce using rule 323 (InclusiveOrExpression) ':' reduce using rule 323 (InclusiveOrExpression) '|' reduce using rule 323 (InclusiveOrExpression) '?' reduce using rule 323 (InclusiveOrExpression)
324 InclusiveOrExpression → InclusiveOrExpression • '|' ExclusiveOrExpression 325 ConditionalAndExpression → InclusiveOrExpression • [ANDAND, OROR, ']', ';', ',', '}', ')', ':', '?'] '|' shift, and go to state 392 ANDAND reduce using rule 325 (ConditionalAndExpression) OROR reduce using rule 325 (ConditionalAndExpression) ']' reduce using rule 325 (ConditionalAndExpression) ';' reduce using rule 325 (ConditionalAndExpression) ',' reduce using rule 325 (ConditionalAndExpression) '}' reduce using rule 325 (ConditionalAndExpression) ')' reduce using rule 325 (ConditionalAndExpression) ':' reduce using rule 325 (ConditionalAndExpression) '?' reduce using rule 325 (ConditionalAndExpression)
326 ConditionalAndExpression → ConditionalAndExpression • ANDAND InclusiveOrExpression 327 ConditionalOrExpression → ConditionalAndExpression • [OROR, ']', ';', ',', '}', ')', ':', '?'] ANDAND shift, and go to state 393 OROR reduce using rule 327 (ConditionalOrExpression) ']' reduce using rule 327 (ConditionalOrExpression) ';' reduce using rule 327 (ConditionalOrExpression) ',' reduce using rule 327 (ConditionalOrExpression) '}' reduce using rule 327 (ConditionalOrExpression) ')' reduce using rule 327 (ConditionalOrExpression) ':' reduce using rule 327 (ConditionalOrExpression) '?' reduce using rule 327 (ConditionalOrExpression)
328 ConditionalOrExpression → ConditionalOrExpression • OROR ConditionalAndExpression 329 ConditionalExpression → ConditionalOrExpression • [']', ';', ',', '}', ')', ':'] 330 | ConditionalOrExpression • '?' Expression ':' ConditionalExpression OROR shift, and go to state 394 '?' shift, and go to state 395 ']' reduce using rule 329 (ConditionalExpression) ';' reduce using rule 329 (ConditionalExpression) ',' reduce using rule 329 (ConditionalExpression) '}' reduce using rule 329 (ConditionalExpression) ')' reduce using rule 329 (ConditionalExpression) ':' reduce using rule 329 (ConditionalExpression)
331 AssignmentExpression → ConditionalExpression • [']', ';', ',', '}', ')', ':'] ']' reduce using rule 331 (AssignmentExpression) ';' reduce using rule 331 (AssignmentExpression) ',' reduce using rule 331 (AssignmentExpression) '}' reduce using rule 331 (AssignmentExpression) ')' reduce using rule 331 (AssignmentExpression) ':' reduce using rule 331 (AssignmentExpression)
349 Expression → AssignmentExpression • [']', ';', ',', '}', ')', ':'] ']' reduce using rule 349 (Expression) ';' reduce using rule 349 (Expression) ',' reduce using rule 349 (Expression) '}' reduce using rule 349 (Expression) ')' reduce using rule 349 (Expression) ':' reduce using rule 349 (Expression)
332 AssignmentExpression → Assignment • [']', ';', ',', '}', ')', ':'] ']' reduce using rule 332 (AssignmentExpression) ';' reduce using rule 332 (AssignmentExpression) ',' reduce using rule 332 (AssignmentExpression) '}' reduce using rule 332 (AssignmentExpression) ')' reduce using rule 332 (AssignmentExpression) ':' reduce using rule 332 (AssignmentExpression)
235 ReturnStatement → RETURN Expression • ';' ';' shift, and go to state 396
237 ThrowStatement → THROW Expression • ';' ';' shift, and go to state 397
239 TryStatement → TRY Block • Catches 240 | TRY Block • Catches Finally 241 | TRY Block • Finally 242 Catches → • CatchClause 243 | • Catches CatchClause 244 CatchClause → • CATCH '(' FormalParameter ')' Block 245 Finally → • FINALLY Block CATCH shift, and go to state 398 FINALLY shift, and go to state 399 Catches go to state 400 CatchClause go to state 401 Finally go to state 402
259 ArrayCreationExpression → NEW PrimitiveType • DimExprs Dims 260 | NEW PrimitiveType • DimExprs 263 DimExprs → • DimExpr 264 | • DimExprs DimExpr 265 DimExpr → • '[' Expression ']' '[' shift, and go to state 403 DimExprs go to state 404 DimExpr go to state 405
24 ClassType → ClassOrInterfaceType • ['('] 261 ArrayCreationExpression → NEW ClassOrInterfaceType • DimExprs Dims 262 | NEW ClassOrInterfaceType • DimExprs 263 DimExprs → • DimExpr 264 | • DimExprs DimExpr 265 DimExpr → • '[' Expression ']' '[' shift, and go to state 403 '(' reduce using rule 24 (ClassType) DimExprs go to state 406 DimExpr go to state 405
255 ClassInstanceCreationExpression → NEW ClassType • '(' ArgumentList ')' 256 | NEW ClassType • '(' ')' '(' shift, and go to state 407
32 QualifiedName → Name • '.' Identifier 270 MethodInvocation → Name • '(' ArgumentList ')' 271 | Name • '(' ')' 276 ArrayAccess → Name • '[' Expression ']' 279 PostfixExpression → Name • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] '[' shift, and go to state 359 '.' shift, and go to state 45 '(' shift, and go to state 309 INSTANCEOF reduce using rule 279 (PostfixExpression) PLUSPLUS reduce using rule 279 (PostfixExpression) MINUSMINUS reduce using rule 279 (PostfixExpression) LTLT reduce using rule 279 (PostfixExpression) GTGT reduce using rule 279 (PostfixExpression) GTGTGT reduce using rule 279 (PostfixExpression) LTEQ reduce using rule 279 (PostfixExpression) GTEQ reduce using rule 279 (PostfixExpression) EQEQ reduce using rule 279 (PostfixExpression) BANGEQ reduce using rule 279 (PostfixExpression) ANDAND reduce using rule 279 (PostfixExpression) OROR reduce using rule 279 (PostfixExpression) ']' reduce using rule 279 (PostfixExpression) ';' reduce using rule 279 (PostfixExpression) '*' reduce using rule 279 (PostfixExpression) ',' reduce using rule 279 (PostfixExpression) '}' reduce using rule 279 (PostfixExpression) ')' reduce using rule 279 (PostfixExpression) ':' reduce using rule 279 (PostfixExpression) '+' reduce using rule 279 (PostfixExpression) '-' reduce using rule 279 (PostfixExpression) '/' reduce using rule 279 (PostfixExpression) '%' reduce using rule 279 (PostfixExpression) '<' reduce using rule 279 (PostfixExpression) '>' reduce using rule 279 (PostfixExpression) '&' reduce using rule 279 (PostfixExpression) '^' reduce using rule 279 (PostfixExpression) '|' reduce using rule 279 (PostfixExpression) '?' reduce using rule 279 (PostfixExpression)
252 PrimaryNoNewArray → FieldAccess • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 252 (PrimaryNoNewArray) PLUSPLUS reduce using rule 252 (PrimaryNoNewArray) MINUSMINUS reduce using rule 252 (PrimaryNoNewArray) LTLT reduce using rule 252 (PrimaryNoNewArray) GTGT reduce using rule 252 (PrimaryNoNewArray) GTGTGT reduce using rule 252 (PrimaryNoNewArray) LTEQ reduce using rule 252 (PrimaryNoNewArray) GTEQ reduce using rule 252 (PrimaryNoNewArray) EQEQ reduce using rule 252 (PrimaryNoNewArray) BANGEQ reduce using rule 252 (PrimaryNoNewArray) ANDAND reduce using rule 252 (PrimaryNoNewArray) OROR reduce using rule 252 (PrimaryNoNewArray) '[' reduce using rule 252 (PrimaryNoNewArray) ']' reduce using rule 252 (PrimaryNoNewArray) '.' reduce using rule 252 (PrimaryNoNewArray) ';' reduce using rule 252 (PrimaryNoNewArray) '*' reduce using rule 252 (PrimaryNoNewArray) ',' reduce using rule 252 (PrimaryNoNewArray) '}' reduce using rule 252 (PrimaryNoNewArray) ')' reduce using rule 252 (PrimaryNoNewArray) ':' reduce using rule 252 (PrimaryNoNewArray) '+' reduce using rule 252 (PrimaryNoNewArray) '-' reduce using rule 252 (PrimaryNoNewArray) '/' reduce using rule 252 (PrimaryNoNewArray) '%' reduce using rule 252 (PrimaryNoNewArray) '<' reduce using rule 252 (PrimaryNoNewArray) '>' reduce using rule 252 (PrimaryNoNewArray) '&' reduce using rule 252 (PrimaryNoNewArray) '^' reduce using rule 252 (PrimaryNoNewArray) '|' reduce using rule 252 (PrimaryNoNewArray) '?' reduce using rule 252 (PrimaryNoNewArray)
254 PrimaryNoNewArray → ArrayAccess • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 254 (PrimaryNoNewArray) PLUSPLUS reduce using rule 254 (PrimaryNoNewArray) MINUSMINUS reduce using rule 254 (PrimaryNoNewArray) LTLT reduce using rule 254 (PrimaryNoNewArray) GTGT reduce using rule 254 (PrimaryNoNewArray) GTGTGT reduce using rule 254 (PrimaryNoNewArray) LTEQ reduce using rule 254 (PrimaryNoNewArray) GTEQ reduce using rule 254 (PrimaryNoNewArray) EQEQ reduce using rule 254 (PrimaryNoNewArray) BANGEQ reduce using rule 254 (PrimaryNoNewArray) ANDAND reduce using rule 254 (PrimaryNoNewArray) OROR reduce using rule 254 (PrimaryNoNewArray) '[' reduce using rule 254 (PrimaryNoNewArray) ']' reduce using rule 254 (PrimaryNoNewArray) '.' reduce using rule 254 (PrimaryNoNewArray) ';' reduce using rule 254 (PrimaryNoNewArray) '*' reduce using rule 254 (PrimaryNoNewArray) ',' reduce using rule 254 (PrimaryNoNewArray) '}' reduce using rule 254 (PrimaryNoNewArray) ')' reduce using rule 254 (PrimaryNoNewArray) ':' reduce using rule 254 (PrimaryNoNewArray) '+' reduce using rule 254 (PrimaryNoNewArray) '-' reduce using rule 254 (PrimaryNoNewArray) '/' reduce using rule 254 (PrimaryNoNewArray) '%' reduce using rule 254 (PrimaryNoNewArray) '<' reduce using rule 254 (PrimaryNoNewArray) '>' reduce using rule 254 (PrimaryNoNewArray) '&' reduce using rule 254 (PrimaryNoNewArray) '^' reduce using rule 254 (PrimaryNoNewArray) '|' reduce using rule 254 (PrimaryNoNewArray) '?' reduce using rule 254 (PrimaryNoNewArray)
289 PreIncrementExpression → PLUSPLUS UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 289 (PreIncrementExpression) LTLT reduce using rule 289 (PreIncrementExpression) GTGT reduce using rule 289 (PreIncrementExpression) GTGTGT reduce using rule 289 (PreIncrementExpression) LTEQ reduce using rule 289 (PreIncrementExpression) GTEQ reduce using rule 289 (PreIncrementExpression) EQEQ reduce using rule 289 (PreIncrementExpression) BANGEQ reduce using rule 289 (PreIncrementExpression) ANDAND reduce using rule 289 (PreIncrementExpression) OROR reduce using rule 289 (PreIncrementExpression) ']' reduce using rule 289 (PreIncrementExpression) ';' reduce using rule 289 (PreIncrementExpression) '*' reduce using rule 289 (PreIncrementExpression) ',' reduce using rule 289 (PreIncrementExpression) '}' reduce using rule 289 (PreIncrementExpression) ')' reduce using rule 289 (PreIncrementExpression) ':' reduce using rule 289 (PreIncrementExpression) '+' reduce using rule 289 (PreIncrementExpression) '-' reduce using rule 289 (PreIncrementExpression) '/' reduce using rule 289 (PreIncrementExpression) '%' reduce using rule 289 (PreIncrementExpression) '<' reduce using rule 289 (PreIncrementExpression) '>' reduce using rule 289 (PreIncrementExpression) '&' reduce using rule 289 (PreIncrementExpression) '^' reduce using rule 289 (PreIncrementExpression) '|' reduce using rule 289 (PreIncrementExpression) '?' reduce using rule 289 (PreIncrementExpression)
290 PreDecrementExpression → MINUSMINUS UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 290 (PreDecrementExpression) LTLT reduce using rule 290 (PreDecrementExpression) GTGT reduce using rule 290 (PreDecrementExpression) GTGTGT reduce using rule 290 (PreDecrementExpression) LTEQ reduce using rule 290 (PreDecrementExpression) GTEQ reduce using rule 290 (PreDecrementExpression) EQEQ reduce using rule 290 (PreDecrementExpression) BANGEQ reduce using rule 290 (PreDecrementExpression) ANDAND reduce using rule 290 (PreDecrementExpression) OROR reduce using rule 290 (PreDecrementExpression) ']' reduce using rule 290 (PreDecrementExpression) ';' reduce using rule 290 (PreDecrementExpression) '*' reduce using rule 290 (PreDecrementExpression) ',' reduce using rule 290 (PreDecrementExpression) '}' reduce using rule 290 (PreDecrementExpression) ')' reduce using rule 290 (PreDecrementExpression) ':' reduce using rule 290 (PreDecrementExpression) '+' reduce using rule 290 (PreDecrementExpression) '-' reduce using rule 290 (PreDecrementExpression) '/' reduce using rule 290 (PreDecrementExpression) '%' reduce using rule 290 (PreDecrementExpression) '<' reduce using rule 290 (PreDecrementExpression) '>' reduce using rule 290 (PreDecrementExpression) '&' reduce using rule 290 (PreDecrementExpression) '^' reduce using rule 290 (PreDecrementExpression) '|' reduce using rule 290 (PreDecrementExpression) '?' reduce using rule 290 (PreDecrementExpression)
250 PrimaryNoNewArray → '(' Expression • ')' ')' shift, and go to state 408
92 VariableDeclaratorId → Identifier • ['[', ';', ',', '=', ')'] '[' reduce using rule 92 (VariableDeclaratorId) ';' reduce using rule 92 (VariableDeclaratorId) ',' reduce using rule 92 (VariableDeclaratorId) '=' reduce using rule 92 (VariableDeclaratorId) ')' reduce using rule 92 (VariableDeclaratorId)
89 VariableDeclarators → VariableDeclarators • ',' VariableDeclarator 158 LocalVariableDeclaration → Type VariableDeclarators • [';'] ',' shift, and go to state 227 ';' reduce using rule 158 (LocalVariableDeclaration)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 27 ArrayType → Name '[' • ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 276 | Name '[' • Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ']' shift, and go to state 233 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 409
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 257 ArgumentList → • Expression 258 | • ArgumentList ',' Expression 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 270 | Name '(' • ArgumentList ')' 271 | • Name '(' ')' 271 | Name '(' • ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 ')' shift, and go to state 410 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArgumentList go to state 411 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 412
151 Block → '{' BlockStatements '}' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, CATCH, FINALLY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 151 (Block) IntegerLiteral reduce using rule 151 (Block) FloatingPointLiteral reduce using rule 151 (Block) BooleanLiteral reduce using rule 151 (Block) CharacterLiteral reduce using rule 151 (Block) StringLiteral reduce using rule 151 (Block) NullLiteral reduce using rule 151 (Block) BOOLEAN reduce using rule 151 (Block) BYTE reduce using rule 151 (Block) SHORT reduce using rule 151 (Block) INT reduce using rule 151 (Block) LONG reduce using rule 151 (Block) CHAR reduce using rule 151 (Block) FLOAT reduce using rule 151 (Block) DOUBLE reduce using rule 151 (Block) PUBLIC reduce using rule 151 (Block) PROTECTED reduce using rule 151 (Block) PRIVATE reduce using rule 151 (Block) STATIC reduce using rule 151 (Block) ABSTRACT reduce using rule 151 (Block) FINAL reduce using rule 151 (Block) NATIVE reduce using rule 151 (Block) SYNCHRONIZED reduce using rule 151 (Block) TRANSIENT reduce using rule 151 (Block) VOLATILE reduce using rule 151 (Block) VOID reduce using rule 151 (Block) THIS reduce using rule 151 (Block) SUPER reduce using rule 151 (Block) IF reduce using rule 151 (Block) ELSE reduce using rule 151 (Block) SWITCH reduce using rule 151 (Block) CASE reduce using rule 151 (Block) DEFAULT reduce using rule 151 (Block) WHILE reduce using rule 151 (Block) DO reduce using rule 151 (Block) FOR reduce using rule 151 (Block) BREAK reduce using rule 151 (Block) CONTINUE reduce using rule 151 (Block) RETURN reduce using rule 151 (Block) THROW reduce using rule 151 (Block) TRY reduce using rule 151 (Block) CATCH reduce using rule 151 (Block) FINALLY reduce using rule 151 (Block) NEW reduce using rule 151 (Block) PLUSPLUS reduce using rule 151 (Block) MINUSMINUS reduce using rule 151 (Block) ';' reduce using rule 151 (Block) '{' reduce using rule 151 (Block) '}' reduce using rule 151 (Block) '(' reduce using rule 151 (Block)
154 BlockStatements → BlockStatements BlockStatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 154 (BlockStatements) IntegerLiteral reduce using rule 154 (BlockStatements) FloatingPointLiteral reduce using rule 154 (BlockStatements) BooleanLiteral reduce using rule 154 (BlockStatements) CharacterLiteral reduce using rule 154 (BlockStatements) StringLiteral reduce using rule 154 (BlockStatements) NullLiteral reduce using rule 154 (BlockStatements) BOOLEAN reduce using rule 154 (BlockStatements) BYTE reduce using rule 154 (BlockStatements) SHORT reduce using rule 154 (BlockStatements) INT reduce using rule 154 (BlockStatements) LONG reduce using rule 154 (BlockStatements) CHAR reduce using rule 154 (BlockStatements) FLOAT reduce using rule 154 (BlockStatements) DOUBLE reduce using rule 154 (BlockStatements) SYNCHRONIZED reduce using rule 154 (BlockStatements) THIS reduce using rule 154 (BlockStatements) SUPER reduce using rule 154 (BlockStatements) IF reduce using rule 154 (BlockStatements) SWITCH reduce using rule 154 (BlockStatements) CASE reduce using rule 154 (BlockStatements) DEFAULT reduce using rule 154 (BlockStatements) WHILE reduce using rule 154 (BlockStatements) DO reduce using rule 154 (BlockStatements) FOR reduce using rule 154 (BlockStatements) BREAK reduce using rule 154 (BlockStatements) CONTINUE reduce using rule 154 (BlockStatements) RETURN reduce using rule 154 (BlockStatements) THROW reduce using rule 154 (BlockStatements) TRY reduce using rule 154 (BlockStatements) NEW reduce using rule 154 (BlockStatements) PLUSPLUS reduce using rule 154 (BlockStatements) MINUSMINUS reduce using rule 154 (BlockStatements) ';' reduce using rule 154 (BlockStatements) '{' reduce using rule 154 (BlockStatements) '}' reduce using rule 154 (BlockStatements) '(' reduce using rule 154 (BlockStatements)
157 LocalVariableDeclarationStatement → LocalVariableDeclaration ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 157 (LocalVariableDeclarationStatement) IntegerLiteral reduce using rule 157 (LocalVariableDeclarationStatement) FloatingPointLiteral reduce using rule 157 (LocalVariableDeclarationStatement) BooleanLiteral reduce using rule 157 (LocalVariableDeclarationStatement) CharacterLiteral reduce using rule 157 (LocalVariableDeclarationStatement) StringLiteral reduce using rule 157 (LocalVariableDeclarationStatement) NullLiteral reduce using rule 157 (LocalVariableDeclarationStatement) BOOLEAN reduce using rule 157 (LocalVariableDeclarationStatement) BYTE reduce using rule 157 (LocalVariableDeclarationStatement) SHORT reduce using rule 157 (LocalVariableDeclarationStatement) INT reduce using rule 157 (LocalVariableDeclarationStatement) LONG reduce using rule 157 (LocalVariableDeclarationStatement) CHAR reduce using rule 157 (LocalVariableDeclarationStatement) FLOAT reduce using rule 157 (LocalVariableDeclarationStatement) DOUBLE reduce using rule 157 (LocalVariableDeclarationStatement) SYNCHRONIZED reduce using rule 157 (LocalVariableDeclarationStatement) THIS reduce using rule 157 (LocalVariableDeclarationStatement) SUPER reduce using rule 157 (LocalVariableDeclarationStatement) IF reduce using rule 157 (LocalVariableDeclarationStatement) SWITCH reduce using rule 157 (LocalVariableDeclarationStatement) CASE reduce using rule 157 (LocalVariableDeclarationStatement) DEFAULT reduce using rule 157 (LocalVariableDeclarationStatement) WHILE reduce using rule 157 (LocalVariableDeclarationStatement) DO reduce using rule 157 (LocalVariableDeclarationStatement) FOR reduce using rule 157 (LocalVariableDeclarationStatement) BREAK reduce using rule 157 (LocalVariableDeclarationStatement) CONTINUE reduce using rule 157 (LocalVariableDeclarationStatement) RETURN reduce using rule 157 (LocalVariableDeclarationStatement) THROW reduce using rule 157 (LocalVariableDeclarationStatement) TRY reduce using rule 157 (LocalVariableDeclarationStatement) NEW reduce using rule 157 (LocalVariableDeclarationStatement) PLUSPLUS reduce using rule 157 (LocalVariableDeclarationStatement) MINUSMINUS reduce using rule 157 (LocalVariableDeclarationStatement) ';' reduce using rule 157 (LocalVariableDeclarationStatement) '{' reduce using rule 157 (LocalVariableDeclarationStatement) '}' reduce using rule 157 (LocalVariableDeclarationStatement) '(' reduce using rule 157 (LocalVariableDeclarationStatement)
184 ExpressionStatement → StatementExpression ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 184 (ExpressionStatement) IntegerLiteral reduce using rule 184 (ExpressionStatement) FloatingPointLiteral reduce using rule 184 (ExpressionStatement) BooleanLiteral reduce using rule 184 (ExpressionStatement) CharacterLiteral reduce using rule 184 (ExpressionStatement) StringLiteral reduce using rule 184 (ExpressionStatement) NullLiteral reduce using rule 184 (ExpressionStatement) BOOLEAN reduce using rule 184 (ExpressionStatement) BYTE reduce using rule 184 (ExpressionStatement) SHORT reduce using rule 184 (ExpressionStatement) INT reduce using rule 184 (ExpressionStatement) LONG reduce using rule 184 (ExpressionStatement) CHAR reduce using rule 184 (ExpressionStatement) FLOAT reduce using rule 184 (ExpressionStatement) DOUBLE reduce using rule 184 (ExpressionStatement) SYNCHRONIZED reduce using rule 184 (ExpressionStatement) THIS reduce using rule 184 (ExpressionStatement) SUPER reduce using rule 184 (ExpressionStatement) IF reduce using rule 184 (ExpressionStatement) ELSE reduce using rule 184 (ExpressionStatement) SWITCH reduce using rule 184 (ExpressionStatement) CASE reduce using rule 184 (ExpressionStatement) DEFAULT reduce using rule 184 (ExpressionStatement) WHILE reduce using rule 184 (ExpressionStatement) DO reduce using rule 184 (ExpressionStatement) FOR reduce using rule 184 (ExpressionStatement) BREAK reduce using rule 184 (ExpressionStatement) CONTINUE reduce using rule 184 (ExpressionStatement) RETURN reduce using rule 184 (ExpressionStatement) THROW reduce using rule 184 (ExpressionStatement) TRY reduce using rule 184 (ExpressionStatement) NEW reduce using rule 184 (ExpressionStatement) PLUSPLUS reduce using rule 184 (ExpressionStatement) MINUSMINUS reduce using rule 184 (ExpressionStatement) ';' reduce using rule 184 (ExpressionStatement) '{' reduce using rule 184 (ExpressionStatement) '}' reduce using rule 184 (ExpressionStatement) '(' reduce using rule 184 (ExpressionStatement)
268 FieldAccess → Primary '.' • Identifier 272 MethodInvocation → Primary '.' • Identifier '(' ArgumentList ')' 273 | Primary '.' • Identifier '(' ')' Identifier shift, and go to state 413
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 277 | PrimaryNoNewArray '[' • Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 414
282 PostIncrementExpression → PostfixExpression PLUSPLUS • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 282 (PostIncrementExpression) PLUSPLUS reduce using rule 282 (PostIncrementExpression) MINUSMINUS reduce using rule 282 (PostIncrementExpression) LTLT reduce using rule 282 (PostIncrementExpression) GTGT reduce using rule 282 (PostIncrementExpression) GTGTGT reduce using rule 282 (PostIncrementExpression) LTEQ reduce using rule 282 (PostIncrementExpression) GTEQ reduce using rule 282 (PostIncrementExpression) EQEQ reduce using rule 282 (PostIncrementExpression) BANGEQ reduce using rule 282 (PostIncrementExpression) ANDAND reduce using rule 282 (PostIncrementExpression) OROR reduce using rule 282 (PostIncrementExpression) ']' reduce using rule 282 (PostIncrementExpression) ';' reduce using rule 282 (PostIncrementExpression) '*' reduce using rule 282 (PostIncrementExpression) ',' reduce using rule 282 (PostIncrementExpression) '}' reduce using rule 282 (PostIncrementExpression) ')' reduce using rule 282 (PostIncrementExpression) ':' reduce using rule 282 (PostIncrementExpression) '+' reduce using rule 282 (PostIncrementExpression) '-' reduce using rule 282 (PostIncrementExpression) '/' reduce using rule 282 (PostIncrementExpression) '%' reduce using rule 282 (PostIncrementExpression) '<' reduce using rule 282 (PostIncrementExpression) '>' reduce using rule 282 (PostIncrementExpression) '&' reduce using rule 282 (PostIncrementExpression) '^' reduce using rule 282 (PostIncrementExpression) '|' reduce using rule 282 (PostIncrementExpression) '?' reduce using rule 282 (PostIncrementExpression)
283 PostDecrementExpression → PostfixExpression MINUSMINUS • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 283 (PostDecrementExpression) PLUSPLUS reduce using rule 283 (PostDecrementExpression) MINUSMINUS reduce using rule 283 (PostDecrementExpression) LTLT reduce using rule 283 (PostDecrementExpression) GTGT reduce using rule 283 (PostDecrementExpression) GTGTGT reduce using rule 283 (PostDecrementExpression) LTEQ reduce using rule 283 (PostDecrementExpression) GTEQ reduce using rule 283 (PostDecrementExpression) EQEQ reduce using rule 283 (PostDecrementExpression) BANGEQ reduce using rule 283 (PostDecrementExpression) ANDAND reduce using rule 283 (PostDecrementExpression) OROR reduce using rule 283 (PostDecrementExpression) ']' reduce using rule 283 (PostDecrementExpression) ';' reduce using rule 283 (PostDecrementExpression) '*' reduce using rule 283 (PostDecrementExpression) ',' reduce using rule 283 (PostDecrementExpression) '}' reduce using rule 283 (PostDecrementExpression) ')' reduce using rule 283 (PostDecrementExpression) ':' reduce using rule 283 (PostDecrementExpression) '+' reduce using rule 283 (PostDecrementExpression) '-' reduce using rule 283 (PostDecrementExpression) '/' reduce using rule 283 (PostDecrementExpression) '%' reduce using rule 283 (PostDecrementExpression) '<' reduce using rule 283 (PostDecrementExpression) '>' reduce using rule 283 (PostDecrementExpression) '&' reduce using rule 283 (PostDecrementExpression) '^' reduce using rule 283 (PostDecrementExpression) '|' reduce using rule 283 (PostDecrementExpression) '?' reduce using rule 283 (PostDecrementExpression)
338 AssignmentOperator → TIMESEQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 338 (AssignmentOperator) IntegerLiteral reduce using rule 338 (AssignmentOperator) FloatingPointLiteral reduce using rule 338 (AssignmentOperator) BooleanLiteral reduce using rule 338 (AssignmentOperator) CharacterLiteral reduce using rule 338 (AssignmentOperator) StringLiteral reduce using rule 338 (AssignmentOperator) NullLiteral reduce using rule 338 (AssignmentOperator) THIS reduce using rule 338 (AssignmentOperator) SUPER reduce using rule 338 (AssignmentOperator) NEW reduce using rule 338 (AssignmentOperator) PLUSPLUS reduce using rule 338 (AssignmentOperator) MINUSMINUS reduce using rule 338 (AssignmentOperator) '(' reduce using rule 338 (AssignmentOperator) '+' reduce using rule 338 (AssignmentOperator) '-' reduce using rule 338 (AssignmentOperator) '~' reduce using rule 338 (AssignmentOperator) '!' reduce using rule 338 (AssignmentOperator)
339 AssignmentOperator → DIVEQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 339 (AssignmentOperator) IntegerLiteral reduce using rule 339 (AssignmentOperator) FloatingPointLiteral reduce using rule 339 (AssignmentOperator) BooleanLiteral reduce using rule 339 (AssignmentOperator) CharacterLiteral reduce using rule 339 (AssignmentOperator) StringLiteral reduce using rule 339 (AssignmentOperator) NullLiteral reduce using rule 339 (AssignmentOperator) THIS reduce using rule 339 (AssignmentOperator) SUPER reduce using rule 339 (AssignmentOperator) NEW reduce using rule 339 (AssignmentOperator) PLUSPLUS reduce using rule 339 (AssignmentOperator) MINUSMINUS reduce using rule 339 (AssignmentOperator) '(' reduce using rule 339 (AssignmentOperator) '+' reduce using rule 339 (AssignmentOperator) '-' reduce using rule 339 (AssignmentOperator) '~' reduce using rule 339 (AssignmentOperator) '!' reduce using rule 339 (AssignmentOperator)
340 AssignmentOperator → MODEQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 340 (AssignmentOperator) IntegerLiteral reduce using rule 340 (AssignmentOperator) FloatingPointLiteral reduce using rule 340 (AssignmentOperator) BooleanLiteral reduce using rule 340 (AssignmentOperator) CharacterLiteral reduce using rule 340 (AssignmentOperator) StringLiteral reduce using rule 340 (AssignmentOperator) NullLiteral reduce using rule 340 (AssignmentOperator) THIS reduce using rule 340 (AssignmentOperator) SUPER reduce using rule 340 (AssignmentOperator) NEW reduce using rule 340 (AssignmentOperator) PLUSPLUS reduce using rule 340 (AssignmentOperator) MINUSMINUS reduce using rule 340 (AssignmentOperator) '(' reduce using rule 340 (AssignmentOperator) '+' reduce using rule 340 (AssignmentOperator) '-' reduce using rule 340 (AssignmentOperator) '~' reduce using rule 340 (AssignmentOperator) '!' reduce using rule 340 (AssignmentOperator)
341 AssignmentOperator → PLUSEQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 341 (AssignmentOperator) IntegerLiteral reduce using rule 341 (AssignmentOperator) FloatingPointLiteral reduce using rule 341 (AssignmentOperator) BooleanLiteral reduce using rule 341 (AssignmentOperator) CharacterLiteral reduce using rule 341 (AssignmentOperator) StringLiteral reduce using rule 341 (AssignmentOperator) NullLiteral reduce using rule 341 (AssignmentOperator) THIS reduce using rule 341 (AssignmentOperator) SUPER reduce using rule 341 (AssignmentOperator) NEW reduce using rule 341 (AssignmentOperator) PLUSPLUS reduce using rule 341 (AssignmentOperator) MINUSMINUS reduce using rule 341 (AssignmentOperator) '(' reduce using rule 341 (AssignmentOperator) '+' reduce using rule 341 (AssignmentOperator) '-' reduce using rule 341 (AssignmentOperator) '~' reduce using rule 341 (AssignmentOperator) '!' reduce using rule 341 (AssignmentOperator)
342 AssignmentOperator → MINUSEQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 342 (AssignmentOperator) IntegerLiteral reduce using rule 342 (AssignmentOperator) FloatingPointLiteral reduce using rule 342 (AssignmentOperator) BooleanLiteral reduce using rule 342 (AssignmentOperator) CharacterLiteral reduce using rule 342 (AssignmentOperator) StringLiteral reduce using rule 342 (AssignmentOperator) NullLiteral reduce using rule 342 (AssignmentOperator) THIS reduce using rule 342 (AssignmentOperator) SUPER reduce using rule 342 (AssignmentOperator) NEW reduce using rule 342 (AssignmentOperator) PLUSPLUS reduce using rule 342 (AssignmentOperator) MINUSMINUS reduce using rule 342 (AssignmentOperator) '(' reduce using rule 342 (AssignmentOperator) '+' reduce using rule 342 (AssignmentOperator) '-' reduce using rule 342 (AssignmentOperator) '~' reduce using rule 342 (AssignmentOperator) '!' reduce using rule 342 (AssignmentOperator)
343 AssignmentOperator → LTLTEQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 343 (AssignmentOperator) IntegerLiteral reduce using rule 343 (AssignmentOperator) FloatingPointLiteral reduce using rule 343 (AssignmentOperator) BooleanLiteral reduce using rule 343 (AssignmentOperator) CharacterLiteral reduce using rule 343 (AssignmentOperator) StringLiteral reduce using rule 343 (AssignmentOperator) NullLiteral reduce using rule 343 (AssignmentOperator) THIS reduce using rule 343 (AssignmentOperator) SUPER reduce using rule 343 (AssignmentOperator) NEW reduce using rule 343 (AssignmentOperator) PLUSPLUS reduce using rule 343 (AssignmentOperator) MINUSMINUS reduce using rule 343 (AssignmentOperator) '(' reduce using rule 343 (AssignmentOperator) '+' reduce using rule 343 (AssignmentOperator) '-' reduce using rule 343 (AssignmentOperator) '~' reduce using rule 343 (AssignmentOperator) '!' reduce using rule 343 (AssignmentOperator)
344 AssignmentOperator → GTGTEQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 344 (AssignmentOperator) IntegerLiteral reduce using rule 344 (AssignmentOperator) FloatingPointLiteral reduce using rule 344 (AssignmentOperator) BooleanLiteral reduce using rule 344 (AssignmentOperator) CharacterLiteral reduce using rule 344 (AssignmentOperator) StringLiteral reduce using rule 344 (AssignmentOperator) NullLiteral reduce using rule 344 (AssignmentOperator) THIS reduce using rule 344 (AssignmentOperator) SUPER reduce using rule 344 (AssignmentOperator) NEW reduce using rule 344 (AssignmentOperator) PLUSPLUS reduce using rule 344 (AssignmentOperator) MINUSMINUS reduce using rule 344 (AssignmentOperator) '(' reduce using rule 344 (AssignmentOperator) '+' reduce using rule 344 (AssignmentOperator) '-' reduce using rule 344 (AssignmentOperator) '~' reduce using rule 344 (AssignmentOperator) '!' reduce using rule 344 (AssignmentOperator)
345 AssignmentOperator → GTGTGTEQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 345 (AssignmentOperator) IntegerLiteral reduce using rule 345 (AssignmentOperator) FloatingPointLiteral reduce using rule 345 (AssignmentOperator) BooleanLiteral reduce using rule 345 (AssignmentOperator) CharacterLiteral reduce using rule 345 (AssignmentOperator) StringLiteral reduce using rule 345 (AssignmentOperator) NullLiteral reduce using rule 345 (AssignmentOperator) THIS reduce using rule 345 (AssignmentOperator) SUPER reduce using rule 345 (AssignmentOperator) NEW reduce using rule 345 (AssignmentOperator) PLUSPLUS reduce using rule 345 (AssignmentOperator) MINUSMINUS reduce using rule 345 (AssignmentOperator) '(' reduce using rule 345 (AssignmentOperator) '+' reduce using rule 345 (AssignmentOperator) '-' reduce using rule 345 (AssignmentOperator) '~' reduce using rule 345 (AssignmentOperator) '!' reduce using rule 345 (AssignmentOperator)
346 AssignmentOperator → ANDEQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 346 (AssignmentOperator) IntegerLiteral reduce using rule 346 (AssignmentOperator) FloatingPointLiteral reduce using rule 346 (AssignmentOperator) BooleanLiteral reduce using rule 346 (AssignmentOperator) CharacterLiteral reduce using rule 346 (AssignmentOperator) StringLiteral reduce using rule 346 (AssignmentOperator) NullLiteral reduce using rule 346 (AssignmentOperator) THIS reduce using rule 346 (AssignmentOperator) SUPER reduce using rule 346 (AssignmentOperator) NEW reduce using rule 346 (AssignmentOperator) PLUSPLUS reduce using rule 346 (AssignmentOperator) MINUSMINUS reduce using rule 346 (AssignmentOperator) '(' reduce using rule 346 (AssignmentOperator) '+' reduce using rule 346 (AssignmentOperator) '-' reduce using rule 346 (AssignmentOperator) '~' reduce using rule 346 (AssignmentOperator) '!' reduce using rule 346 (AssignmentOperator)
347 AssignmentOperator → XOREQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 347 (AssignmentOperator) IntegerLiteral reduce using rule 347 (AssignmentOperator) FloatingPointLiteral reduce using rule 347 (AssignmentOperator) BooleanLiteral reduce using rule 347 (AssignmentOperator) CharacterLiteral reduce using rule 347 (AssignmentOperator) StringLiteral reduce using rule 347 (AssignmentOperator) NullLiteral reduce using rule 347 (AssignmentOperator) THIS reduce using rule 347 (AssignmentOperator) SUPER reduce using rule 347 (AssignmentOperator) NEW reduce using rule 347 (AssignmentOperator) PLUSPLUS reduce using rule 347 (AssignmentOperator) MINUSMINUS reduce using rule 347 (AssignmentOperator) '(' reduce using rule 347 (AssignmentOperator) '+' reduce using rule 347 (AssignmentOperator) '-' reduce using rule 347 (AssignmentOperator) '~' reduce using rule 347 (AssignmentOperator) '!' reduce using rule 347 (AssignmentOperator)
348 AssignmentOperator → OREQ • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 348 (AssignmentOperator) IntegerLiteral reduce using rule 348 (AssignmentOperator) FloatingPointLiteral reduce using rule 348 (AssignmentOperator) BooleanLiteral reduce using rule 348 (AssignmentOperator) CharacterLiteral reduce using rule 348 (AssignmentOperator) StringLiteral reduce using rule 348 (AssignmentOperator) NullLiteral reduce using rule 348 (AssignmentOperator) THIS reduce using rule 348 (AssignmentOperator) SUPER reduce using rule 348 (AssignmentOperator) NEW reduce using rule 348 (AssignmentOperator) PLUSPLUS reduce using rule 348 (AssignmentOperator) MINUSMINUS reduce using rule 348 (AssignmentOperator) '(' reduce using rule 348 (AssignmentOperator) '+' reduce using rule 348 (AssignmentOperator) '-' reduce using rule 348 (AssignmentOperator) '~' reduce using rule 348 (AssignmentOperator) '!' reduce using rule 348 (AssignmentOperator)
337 AssignmentOperator → '=' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, THIS, SUPER, NEW, PLUSPLUS, MINUSMINUS, '(', '+', '-', '~', '!'] Identifier reduce using rule 337 (AssignmentOperator) IntegerLiteral reduce using rule 337 (AssignmentOperator) FloatingPointLiteral reduce using rule 337 (AssignmentOperator) BooleanLiteral reduce using rule 337 (AssignmentOperator) CharacterLiteral reduce using rule 337 (AssignmentOperator) StringLiteral reduce using rule 337 (AssignmentOperator) NullLiteral reduce using rule 337 (AssignmentOperator) THIS reduce using rule 337 (AssignmentOperator) SUPER reduce using rule 337 (AssignmentOperator) NEW reduce using rule 337 (AssignmentOperator) PLUSPLUS reduce using rule 337 (AssignmentOperator) MINUSMINUS reduce using rule 337 (AssignmentOperator) '(' reduce using rule 337 (AssignmentOperator) '+' reduce using rule 337 (AssignmentOperator) '-' reduce using rule 337 (AssignmentOperator) '~' reduce using rule 337 (AssignmentOperator) '!' reduce using rule 337 (AssignmentOperator)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 333 | LeftHandSide AssignmentOperator • AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 415 Assignment go to state 293 LeftHandSide go to state 222
106 MethodDeclarator → Identifier '(' ')' • [THROWS, '[', ';', '{'] THROWS reduce using rule 106 (MethodDeclarator) '[' reduce using rule 106 (MethodDeclarator) ';' reduce using rule 106 (MethodDeclarator) '{' reduce using rule 106 (MethodDeclarator)
105 MethodDeclarator → Identifier '(' FormalParameterList • ')' 109 FormalParameterList → FormalParameterList • ',' FormalParameter ',' shift, and go to state 341 ')' shift, and go to state 416
107 MethodDeclarator → MethodDeclarator '[' ']' • [THROWS, '[', ';', '{'] THROWS reduce using rule 107 (MethodDeclarator) '[' reduce using rule 107 (MethodDeclarator) ';' reduce using rule 107 (MethodDeclarator) '{' reduce using rule 107 (MethodDeclarator)
89 VariableDeclarators → VariableDeclarators ',' VariableDeclarator • [';', ','] ';' reduce using rule 89 (VariableDeclarators) ',' reduce using rule 89 (VariableDeclarators)
93 VariableDeclaratorId → VariableDeclaratorId '[' ']' • ['[', ';', ',', '=', ')'] '[' reduce using rule 93 (VariableDeclaratorId) ';' reduce using rule 93 (VariableDeclaratorId) ',' reduce using rule 93 (VariableDeclaratorId) '=' reduce using rule 93 (VariableDeclaratorId) ')' reduce using rule 93 (VariableDeclaratorId)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 94 VariableInitializer → • Expression 95 | • ArrayInitializer 145 ArrayInitializer → • '{' VariableInitializers ',' '}' 145 | '{' • VariableInitializers ',' '}' 146 | • '{' VariableInitializers '}' 146 | '{' • VariableInitializers '}' 147 | • '{' ',' '}' 147 | '{' • ',' '}' 148 | • '{' '}' 148 | '{' • '}' 149 VariableInitializers → • VariableInitializer 150 | • VariableInitializers ',' VariableInitializer 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ',' shift, and go to state 417 '{' shift, and go to state 336 '}' shift, and go to state 418 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 VariableInitializer go to state 419 ArrayInitializer go to state 338 VariableInitializers go to state 420 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 339
91 VariableDeclarator → VariableDeclaratorId '=' VariableInitializer • [';', ','] ';' reduce using rule 91 (VariableDeclarator) ',' reduce using rule 91 (VariableDeclarator)
95 VariableInitializer → ArrayInitializer • [';', ',', '}'] ';' reduce using rule 95 (VariableInitializer) ',' reduce using rule 95 (VariableInitializer) '}' reduce using rule 95 (VariableInitializer)
94 VariableInitializer → Expression • [';', ',', '}'] ';' reduce using rule 94 (VariableInitializer) ',' reduce using rule 94 (VariableInitializer) '}' reduce using rule 94 (VariableInitializer)
93 VariableDeclaratorId → VariableDeclaratorId • '[' ']' 110 FormalParameter → Type VariableDeclaratorId • [',', ')'] '[' shift, and go to state 228 ',' reduce using rule 110 (FormalParameter) ')' reduce using rule 110 (FormalParameter)
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 109 FormalParameterList → FormalParameterList ',' • FormalParameter 110 FormalParameter → • Type VariableDeclaratorId Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 Type go to state 235 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 31 QualifiedName go to state 32 FormalParameter go to state 421
121 ConstructorDeclarator → SimpleName '(' FormalParameterList ')' • [THROWS, '{'] THROWS reduce using rule 121 (ConstructorDeclarator) '{' reduce using rule 121 (ConstructorDeclarator)
101 MethodHeader → Modifiers VOID MethodDeclarator Throws • [';', '{'] ';' reduce using rule 101 (MethodHeader) '{' reduce using rule 101 (MethodHeader)
86 FieldDeclaration → Modifiers Type VariableDeclarators ';' • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 86 (FieldDeclaration) BOOLEAN reduce using rule 86 (FieldDeclaration) BYTE reduce using rule 86 (FieldDeclaration) SHORT reduce using rule 86 (FieldDeclaration) INT reduce using rule 86 (FieldDeclaration) LONG reduce using rule 86 (FieldDeclaration) CHAR reduce using rule 86 (FieldDeclaration) FLOAT reduce using rule 86 (FieldDeclaration) DOUBLE reduce using rule 86 (FieldDeclaration) PUBLIC reduce using rule 86 (FieldDeclaration) PROTECTED reduce using rule 86 (FieldDeclaration) PRIVATE reduce using rule 86 (FieldDeclaration) STATIC reduce using rule 86 (FieldDeclaration) ABSTRACT reduce using rule 86 (FieldDeclaration) FINAL reduce using rule 86 (FieldDeclaration) NATIVE reduce using rule 86 (FieldDeclaration) SYNCHRONIZED reduce using rule 86 (FieldDeclaration) TRANSIENT reduce using rule 86 (FieldDeclaration) VOLATILE reduce using rule 86 (FieldDeclaration) VOID reduce using rule 86 (FieldDeclaration) '}' reduce using rule 86 (FieldDeclaration)
97 MethodHeader → Modifiers Type MethodDeclarator Throws • [';', '{'] ';' reduce using rule 97 (MethodHeader) '{' reduce using rule 97 (MethodHeader)
117 ConstructorDeclaration → Modifiers ConstructorDeclarator Throws ConstructorBody • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 117 (ConstructorDeclaration) BOOLEAN reduce using rule 117 (ConstructorDeclaration) BYTE reduce using rule 117 (ConstructorDeclaration) SHORT reduce using rule 117 (ConstructorDeclaration) INT reduce using rule 117 (ConstructorDeclaration) LONG reduce using rule 117 (ConstructorDeclaration) CHAR reduce using rule 117 (ConstructorDeclaration) FLOAT reduce using rule 117 (ConstructorDeclaration) DOUBLE reduce using rule 117 (ConstructorDeclaration) PUBLIC reduce using rule 117 (ConstructorDeclaration) PROTECTED reduce using rule 117 (ConstructorDeclaration) PRIVATE reduce using rule 117 (ConstructorDeclaration) STATIC reduce using rule 117 (ConstructorDeclaration) ABSTRACT reduce using rule 117 (ConstructorDeclaration) FINAL reduce using rule 117 (ConstructorDeclaration) NATIVE reduce using rule 117 (ConstructorDeclaration) SYNCHRONIZED reduce using rule 117 (ConstructorDeclaration) TRANSIENT reduce using rule 117 (ConstructorDeclaration) VOLATILE reduce using rule 117 (ConstructorDeclaration) VOID reduce using rule 117 (ConstructorDeclaration) '}' reduce using rule 117 (ConstructorDeclaration)
23 ClassOrInterfaceType → • Name 24 ClassType → • ClassOrInterfaceType 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 113 ClassTypeList → ClassTypeList ',' • ClassType Identifier shift, and go to state 29 ClassOrInterfaceType go to state 64 ClassType go to state 422 Name go to state 66 SimpleName go to state 31 QualifiedName go to state 32
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 127 ExplicitConstructorInvocation → THIS '(' • ArgumentList ')' ';' 128 | THIS '(' • ')' ';' 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 257 ArgumentList → • Expression 258 | • ArgumentList ',' Expression 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 ')' shift, and go to state 423 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArgumentList go to state 424 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 412
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 129 ExplicitConstructorInvocation → SUPER '(' • ArgumentList ')' ';' 130 | SUPER '(' • ')' ';' 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 257 ArgumentList → • Expression 258 | • ArgumentList ',' Expression 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 ')' shift, and go to state 425 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArgumentList go to state 426 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 412
124 ConstructorBody → '{' ExplicitConstructorInvocation '}' • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 124 (ConstructorBody) BOOLEAN reduce using rule 124 (ConstructorBody) BYTE reduce using rule 124 (ConstructorBody) SHORT reduce using rule 124 (ConstructorBody) INT reduce using rule 124 (ConstructorBody) LONG reduce using rule 124 (ConstructorBody) CHAR reduce using rule 124 (ConstructorBody) FLOAT reduce using rule 124 (ConstructorBody) DOUBLE reduce using rule 124 (ConstructorBody) PUBLIC reduce using rule 124 (ConstructorBody) PROTECTED reduce using rule 124 (ConstructorBody) PRIVATE reduce using rule 124 (ConstructorBody) STATIC reduce using rule 124 (ConstructorBody) ABSTRACT reduce using rule 124 (ConstructorBody) FINAL reduce using rule 124 (ConstructorBody) NATIVE reduce using rule 124 (ConstructorBody) SYNCHRONIZED reduce using rule 124 (ConstructorBody) TRANSIENT reduce using rule 124 (ConstructorBody) VOLATILE reduce using rule 124 (ConstructorBody) VOID reduce using rule 124 (ConstructorBody) '}' reduce using rule 124 (ConstructorBody)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 123 ConstructorBody → '{' ExplicitConstructorInvocation BlockStatements • '}' 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 154 BlockStatements → BlockStatements • BlockStatement 155 BlockStatement → • LocalVariableDeclarationStatement 156 | • Statement 157 LocalVariableDeclarationStatement → • LocalVariableDeclaration ';' 158 LocalVariableDeclaration → • Type VariableDeclarators 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '}' shift, and go to state 427 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 BlockStatement go to state 311 LocalVariableDeclarationStatement go to state 189 LocalVariableDeclaration go to state 190 Statement go to state 191 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
125 ConstructorBody → '{' BlockStatements '}' • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 125 (ConstructorBody) BOOLEAN reduce using rule 125 (ConstructorBody) BYTE reduce using rule 125 (ConstructorBody) SHORT reduce using rule 125 (ConstructorBody) INT reduce using rule 125 (ConstructorBody) LONG reduce using rule 125 (ConstructorBody) CHAR reduce using rule 125 (ConstructorBody) FLOAT reduce using rule 125 (ConstructorBody) DOUBLE reduce using rule 125 (ConstructorBody) PUBLIC reduce using rule 125 (ConstructorBody) PROTECTED reduce using rule 125 (ConstructorBody) PRIVATE reduce using rule 125 (ConstructorBody) STATIC reduce using rule 125 (ConstructorBody) ABSTRACT reduce using rule 125 (ConstructorBody) FINAL reduce using rule 125 (ConstructorBody) NATIVE reduce using rule 125 (ConstructorBody) SYNCHRONIZED reduce using rule 125 (ConstructorBody) TRANSIENT reduce using rule 125 (ConstructorBody) VOLATILE reduce using rule 125 (ConstructorBody) VOID reduce using rule 125 (ConstructorBody) '}' reduce using rule 125 (ConstructorBody)
182 LabeledStatement → Identifier ':' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 182 (LabeledStatement) IntegerLiteral reduce using rule 182 (LabeledStatement) FloatingPointLiteral reduce using rule 182 (LabeledStatement) BooleanLiteral reduce using rule 182 (LabeledStatement) CharacterLiteral reduce using rule 182 (LabeledStatement) StringLiteral reduce using rule 182 (LabeledStatement) NullLiteral reduce using rule 182 (LabeledStatement) BOOLEAN reduce using rule 182 (LabeledStatement) BYTE reduce using rule 182 (LabeledStatement) SHORT reduce using rule 182 (LabeledStatement) INT reduce using rule 182 (LabeledStatement) LONG reduce using rule 182 (LabeledStatement) CHAR reduce using rule 182 (LabeledStatement) FLOAT reduce using rule 182 (LabeledStatement) DOUBLE reduce using rule 182 (LabeledStatement) SYNCHRONIZED reduce using rule 182 (LabeledStatement) THIS reduce using rule 182 (LabeledStatement) SUPER reduce using rule 182 (LabeledStatement) IF reduce using rule 182 (LabeledStatement) SWITCH reduce using rule 182 (LabeledStatement) CASE reduce using rule 182 (LabeledStatement) DEFAULT reduce using rule 182 (LabeledStatement) WHILE reduce using rule 182 (LabeledStatement) DO reduce using rule 182 (LabeledStatement) FOR reduce using rule 182 (LabeledStatement) BREAK reduce using rule 182 (LabeledStatement) CONTINUE reduce using rule 182 (LabeledStatement) RETURN reduce using rule 182 (LabeledStatement) THROW reduce using rule 182 (LabeledStatement) TRY reduce using rule 182 (LabeledStatement) NEW reduce using rule 182 (LabeledStatement) PLUSPLUS reduce using rule 182 (LabeledStatement) MINUSMINUS reduce using rule 182 (LabeledStatement) ';' reduce using rule 182 (LabeledStatement) '{' reduce using rule 182 (LabeledStatement) '}' reduce using rule 182 (LabeledStatement) '(' reduce using rule 182 (LabeledStatement)
238 SynchronizedStatement → SYNCHRONIZED '(' Expression • ')' Block ')' shift, and go to state 428
269 FieldAccess → SUPER '.' Identifier • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', ']', '.', ';', '*', ',', '}', '=', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 274 MethodInvocation → SUPER '.' Identifier • '(' ArgumentList ')' 275 | SUPER '.' Identifier • '(' ')' '(' shift, and go to state 429 INSTANCEOF reduce using rule 269 (FieldAccess) PLUSPLUS reduce using rule 269 (FieldAccess) MINUSMINUS reduce using rule 269 (FieldAccess) LTLT reduce using rule 269 (FieldAccess) GTGT reduce using rule 269 (FieldAccess) GTGTGT reduce using rule 269 (FieldAccess) LTEQ reduce using rule 269 (FieldAccess) GTEQ reduce using rule 269 (FieldAccess) EQEQ reduce using rule 269 (FieldAccess) BANGEQ reduce using rule 269 (FieldAccess) ANDAND reduce using rule 269 (FieldAccess) OROR reduce using rule 269 (FieldAccess) TIMESEQ reduce using rule 269 (FieldAccess) DIVEQ reduce using rule 269 (FieldAccess) MODEQ reduce using rule 269 (FieldAccess) PLUSEQ reduce using rule 269 (FieldAccess) MINUSEQ reduce using rule 269 (FieldAccess) LTLTEQ reduce using rule 269 (FieldAccess) GTGTEQ reduce using rule 269 (FieldAccess) GTGTGTEQ reduce using rule 269 (FieldAccess) ANDEQ reduce using rule 269 (FieldAccess) XOREQ reduce using rule 269 (FieldAccess) OREQ reduce using rule 269 (FieldAccess) '[' reduce using rule 269 (FieldAccess) ']' reduce using rule 269 (FieldAccess) '.' reduce using rule 269 (FieldAccess) ';' reduce using rule 269 (FieldAccess) '*' reduce using rule 269 (FieldAccess) ',' reduce using rule 269 (FieldAccess) '}' reduce using rule 269 (FieldAccess) '=' reduce using rule 269 (FieldAccess) ')' reduce using rule 269 (FieldAccess) ':' reduce using rule 269 (FieldAccess) '+' reduce using rule 269 (FieldAccess) '-' reduce using rule 269 (FieldAccess) '/' reduce using rule 269 (FieldAccess) '%' reduce using rule 269 (FieldAccess) '<' reduce using rule 269 (FieldAccess) '>' reduce using rule 269 (FieldAccess) '&' reduce using rule 269 (FieldAccess) '^' reduce using rule 269 (FieldAccess) '|' reduce using rule 269 (FieldAccess) '?' reduce using rule 269 (FieldAccess)
192 IfThenStatement → IF '(' Expression • ')' Statement 193 IfThenElseStatement → IF '(' Expression • ')' StatementNoShortIf ELSE Statement ')' shift, and go to state 430
195 SwitchStatement → SWITCH '(' Expression • ')' SwitchBlock ')' shift, and go to state 431
207 WhileStatement → WHILE '(' Expression • ')' Statement ')' shift, and go to state 432
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 276 | Name '[' • Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 409
209 DoStatement → DO Statement WHILE • '(' Expression ')' ';' '(' shift, and go to state 433
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 214 ForStatement → FOR '(' ';' • Expression ';' ForUpdate ')' Statement 215 | FOR '(' ';' • Expression ';' ')' Statement 216 | FOR '(' ';' • ';' ForUpdate ')' Statement 217 | FOR '(' ';' • ';' ')' Statement 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 434 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 435
227 ForInit → LocalVariableDeclaration • [';'] ';' reduce using rule 227 (ForInit)
229 StatementExpressionList → StatementExpression • [';', ',', ')'] ';' reduce using rule 229 (StatementExpressionList) ',' reduce using rule 229 (StatementExpressionList) ')' reduce using rule 229 (StatementExpressionList)
210 ForStatement → FOR '(' ForInit • ';' Expression ';' ForUpdate ')' Statement 211 | FOR '(' ForInit • ';' Expression ';' ')' Statement 212 | FOR '(' ForInit • ';' ';' ForUpdate ')' Statement 213 | FOR '(' ForInit • ';' ';' ')' Statement ';' shift, and go to state 436
226 ForInit → StatementExpressionList • [';'] 230 StatementExpressionList → StatementExpressionList • ',' StatementExpression ',' shift, and go to state 437 ';' reduce using rule 226 (ForInit)
231 BreakStatement → BREAK Identifier ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 231 (BreakStatement) IntegerLiteral reduce using rule 231 (BreakStatement) FloatingPointLiteral reduce using rule 231 (BreakStatement) BooleanLiteral reduce using rule 231 (BreakStatement) CharacterLiteral reduce using rule 231 (BreakStatement) StringLiteral reduce using rule 231 (BreakStatement) NullLiteral reduce using rule 231 (BreakStatement) BOOLEAN reduce using rule 231 (BreakStatement) BYTE reduce using rule 231 (BreakStatement) SHORT reduce using rule 231 (BreakStatement) INT reduce using rule 231 (BreakStatement) LONG reduce using rule 231 (BreakStatement) CHAR reduce using rule 231 (BreakStatement) FLOAT reduce using rule 231 (BreakStatement) DOUBLE reduce using rule 231 (BreakStatement) SYNCHRONIZED reduce using rule 231 (BreakStatement) THIS reduce using rule 231 (BreakStatement) SUPER reduce using rule 231 (BreakStatement) IF reduce using rule 231 (BreakStatement) ELSE reduce using rule 231 (BreakStatement) SWITCH reduce using rule 231 (BreakStatement) CASE reduce using rule 231 (BreakStatement) DEFAULT reduce using rule 231 (BreakStatement) WHILE reduce using rule 231 (BreakStatement) DO reduce using rule 231 (BreakStatement) FOR reduce using rule 231 (BreakStatement) BREAK reduce using rule 231 (BreakStatement) CONTINUE reduce using rule 231 (BreakStatement) RETURN reduce using rule 231 (BreakStatement) THROW reduce using rule 231 (BreakStatement) TRY reduce using rule 231 (BreakStatement) NEW reduce using rule 231 (BreakStatement) PLUSPLUS reduce using rule 231 (BreakStatement) MINUSMINUS reduce using rule 231 (BreakStatement) ';' reduce using rule 231 (BreakStatement) '{' reduce using rule 231 (BreakStatement) '}' reduce using rule 231 (BreakStatement) '(' reduce using rule 231 (BreakStatement)
233 ContinueStatement → CONTINUE Identifier ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 233 (ContinueStatement) IntegerLiteral reduce using rule 233 (ContinueStatement) FloatingPointLiteral reduce using rule 233 (ContinueStatement) BooleanLiteral reduce using rule 233 (ContinueStatement) CharacterLiteral reduce using rule 233 (ContinueStatement) StringLiteral reduce using rule 233 (ContinueStatement) NullLiteral reduce using rule 233 (ContinueStatement) BOOLEAN reduce using rule 233 (ContinueStatement) BYTE reduce using rule 233 (ContinueStatement) SHORT reduce using rule 233 (ContinueStatement) INT reduce using rule 233 (ContinueStatement) LONG reduce using rule 233 (ContinueStatement) CHAR reduce using rule 233 (ContinueStatement) FLOAT reduce using rule 233 (ContinueStatement) DOUBLE reduce using rule 233 (ContinueStatement) SYNCHRONIZED reduce using rule 233 (ContinueStatement) THIS reduce using rule 233 (ContinueStatement) SUPER reduce using rule 233 (ContinueStatement) IF reduce using rule 233 (ContinueStatement) ELSE reduce using rule 233 (ContinueStatement) SWITCH reduce using rule 233 (ContinueStatement) CASE reduce using rule 233 (ContinueStatement) DEFAULT reduce using rule 233 (ContinueStatement) WHILE reduce using rule 233 (ContinueStatement) DO reduce using rule 233 (ContinueStatement) FOR reduce using rule 233 (ContinueStatement) BREAK reduce using rule 233 (ContinueStatement) CONTINUE reduce using rule 233 (ContinueStatement) RETURN reduce using rule 233 (ContinueStatement) THROW reduce using rule 233 (ContinueStatement) TRY reduce using rule 233 (ContinueStatement) NEW reduce using rule 233 (ContinueStatement) PLUSPLUS reduce using rule 233 (ContinueStatement) MINUSMINUS reduce using rule 233 (ContinueStatement) ';' reduce using rule 233 (ContinueStatement) '{' reduce using rule 233 (ContinueStatement) '}' reduce using rule 233 (ContinueStatement) '(' reduce using rule 233 (ContinueStatement)
266 Dims → • '[' ']' 267 | • Dims '[' ']' 295 CastExpression → '(' PrimitiveType • Dims ')' UnaryExpression 296 | '(' PrimitiveType • ')' UnaryExpression '[' shift, and go to state 438 ')' shift, and go to state 439 Dims go to state 440
32 QualifiedName → Name • '.' Identifier 266 Dims → • '[' ']' 267 | • Dims '[' ']' 270 MethodInvocation → Name • '(' ArgumentList ')' 271 | Name • '(' ')' 276 ArrayAccess → Name • '[' Expression ']' 279 PostfixExpression → Name • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '*', ')', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 298 CastExpression → '(' Name • Dims ')' UnaryExpressionNotPlusMinus 334 LeftHandSide → Name • [TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '='] '[' shift, and go to state 441 '.' shift, and go to state 45 '(' shift, and go to state 309 INSTANCEOF reduce using rule 279 (PostfixExpression) PLUSPLUS reduce using rule 279 (PostfixExpression) MINUSMINUS reduce using rule 279 (PostfixExpression) LTLT reduce using rule 279 (PostfixExpression) GTGT reduce using rule 279 (PostfixExpression) GTGTGT reduce using rule 279 (PostfixExpression) LTEQ reduce using rule 279 (PostfixExpression) GTEQ reduce using rule 279 (PostfixExpression) EQEQ reduce using rule 279 (PostfixExpression) BANGEQ reduce using rule 279 (PostfixExpression) ANDAND reduce using rule 279 (PostfixExpression) OROR reduce using rule 279 (PostfixExpression) TIMESEQ reduce using rule 334 (LeftHandSide) DIVEQ reduce using rule 334 (LeftHandSide) MODEQ reduce using rule 334 (LeftHandSide) PLUSEQ reduce using rule 334 (LeftHandSide) MINUSEQ reduce using rule 334 (LeftHandSide) LTLTEQ reduce using rule 334 (LeftHandSide) GTGTEQ reduce using rule 334 (LeftHandSide) GTGTGTEQ reduce using rule 334 (LeftHandSide) ANDEQ reduce using rule 334 (LeftHandSide) XOREQ reduce using rule 334 (LeftHandSide) OREQ reduce using rule 334 (LeftHandSide) '*' reduce using rule 279 (PostfixExpression) '=' reduce using rule 334 (LeftHandSide) ')' reduce using rule 279 (PostfixExpression) '+' reduce using rule 279 (PostfixExpression) '-' reduce using rule 279 (PostfixExpression) '/' reduce using rule 279 (PostfixExpression) '%' reduce using rule 279 (PostfixExpression) '<' reduce using rule 279 (PostfixExpression) '>' reduce using rule 279 (PostfixExpression) '&' reduce using rule 279 (PostfixExpression) '^' reduce using rule 279 (PostfixExpression) '|' reduce using rule 279 (PostfixExpression) '?' reduce using rule 279 (PostfixExpression) Dims go to state 442
250 PrimaryNoNewArray → '(' Expression • ')' 297 CastExpression → '(' Expression • ')' UnaryExpressionNotPlusMinus ')' shift, and go to state 443
286 UnaryExpression → '+' UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 286 (UnaryExpression) LTLT reduce using rule 286 (UnaryExpression) GTGT reduce using rule 286 (UnaryExpression) GTGTGT reduce using rule 286 (UnaryExpression) LTEQ reduce using rule 286 (UnaryExpression) GTEQ reduce using rule 286 (UnaryExpression) EQEQ reduce using rule 286 (UnaryExpression) BANGEQ reduce using rule 286 (UnaryExpression) ANDAND reduce using rule 286 (UnaryExpression) OROR reduce using rule 286 (UnaryExpression) ']' reduce using rule 286 (UnaryExpression) ';' reduce using rule 286 (UnaryExpression) '*' reduce using rule 286 (UnaryExpression) ',' reduce using rule 286 (UnaryExpression) '}' reduce using rule 286 (UnaryExpression) ')' reduce using rule 286 (UnaryExpression) ':' reduce using rule 286 (UnaryExpression) '+' reduce using rule 286 (UnaryExpression) '-' reduce using rule 286 (UnaryExpression) '/' reduce using rule 286 (UnaryExpression) '%' reduce using rule 286 (UnaryExpression) '<' reduce using rule 286 (UnaryExpression) '>' reduce using rule 286 (UnaryExpression) '&' reduce using rule 286 (UnaryExpression) '^' reduce using rule 286 (UnaryExpression) '|' reduce using rule 286 (UnaryExpression) '?' reduce using rule 286 (UnaryExpression)
287 UnaryExpression → '-' UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 287 (UnaryExpression) LTLT reduce using rule 287 (UnaryExpression) GTGT reduce using rule 287 (UnaryExpression) GTGTGT reduce using rule 287 (UnaryExpression) LTEQ reduce using rule 287 (UnaryExpression) GTEQ reduce using rule 287 (UnaryExpression) EQEQ reduce using rule 287 (UnaryExpression) BANGEQ reduce using rule 287 (UnaryExpression) ANDAND reduce using rule 287 (UnaryExpression) OROR reduce using rule 287 (UnaryExpression) ']' reduce using rule 287 (UnaryExpression) ';' reduce using rule 287 (UnaryExpression) '*' reduce using rule 287 (UnaryExpression) ',' reduce using rule 287 (UnaryExpression) '}' reduce using rule 287 (UnaryExpression) ')' reduce using rule 287 (UnaryExpression) ':' reduce using rule 287 (UnaryExpression) '+' reduce using rule 287 (UnaryExpression) '-' reduce using rule 287 (UnaryExpression) '/' reduce using rule 287 (UnaryExpression) '%' reduce using rule 287 (UnaryExpression) '<' reduce using rule 287 (UnaryExpression) '>' reduce using rule 287 (UnaryExpression) '&' reduce using rule 287 (UnaryExpression) '^' reduce using rule 287 (UnaryExpression) '|' reduce using rule 287 (UnaryExpression) '?' reduce using rule 287 (UnaryExpression)
292 UnaryExpressionNotPlusMinus → '~' UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 292 (UnaryExpressionNotPlusMinus) LTLT reduce using rule 292 (UnaryExpressionNotPlusMinus) GTGT reduce using rule 292 (UnaryExpressionNotPlusMinus) GTGTGT reduce using rule 292 (UnaryExpressionNotPlusMinus) LTEQ reduce using rule 292 (UnaryExpressionNotPlusMinus) GTEQ reduce using rule 292 (UnaryExpressionNotPlusMinus) EQEQ reduce using rule 292 (UnaryExpressionNotPlusMinus) BANGEQ reduce using rule 292 (UnaryExpressionNotPlusMinus) ANDAND reduce using rule 292 (UnaryExpressionNotPlusMinus) OROR reduce using rule 292 (UnaryExpressionNotPlusMinus) ']' reduce using rule 292 (UnaryExpressionNotPlusMinus) ';' reduce using rule 292 (UnaryExpressionNotPlusMinus) '*' reduce using rule 292 (UnaryExpressionNotPlusMinus) ',' reduce using rule 292 (UnaryExpressionNotPlusMinus) '}' reduce using rule 292 (UnaryExpressionNotPlusMinus) ')' reduce using rule 292 (UnaryExpressionNotPlusMinus) ':' reduce using rule 292 (UnaryExpressionNotPlusMinus) '+' reduce using rule 292 (UnaryExpressionNotPlusMinus) '-' reduce using rule 292 (UnaryExpressionNotPlusMinus) '/' reduce using rule 292 (UnaryExpressionNotPlusMinus) '%' reduce using rule 292 (UnaryExpressionNotPlusMinus) '<' reduce using rule 292 (UnaryExpressionNotPlusMinus) '>' reduce using rule 292 (UnaryExpressionNotPlusMinus) '&' reduce using rule 292 (UnaryExpressionNotPlusMinus) '^' reduce using rule 292 (UnaryExpressionNotPlusMinus) '|' reduce using rule 292 (UnaryExpressionNotPlusMinus) '?' reduce using rule 292 (UnaryExpressionNotPlusMinus)
293 UnaryExpressionNotPlusMinus → '!' UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 293 (UnaryExpressionNotPlusMinus) LTLT reduce using rule 293 (UnaryExpressionNotPlusMinus) GTGT reduce using rule 293 (UnaryExpressionNotPlusMinus) GTGTGT reduce using rule 293 (UnaryExpressionNotPlusMinus) LTEQ reduce using rule 293 (UnaryExpressionNotPlusMinus) GTEQ reduce using rule 293 (UnaryExpressionNotPlusMinus) EQEQ reduce using rule 293 (UnaryExpressionNotPlusMinus) BANGEQ reduce using rule 293 (UnaryExpressionNotPlusMinus) ANDAND reduce using rule 293 (UnaryExpressionNotPlusMinus) OROR reduce using rule 293 (UnaryExpressionNotPlusMinus) ']' reduce using rule 293 (UnaryExpressionNotPlusMinus) ';' reduce using rule 293 (UnaryExpressionNotPlusMinus) '*' reduce using rule 293 (UnaryExpressionNotPlusMinus) ',' reduce using rule 293 (UnaryExpressionNotPlusMinus) '}' reduce using rule 293 (UnaryExpressionNotPlusMinus) ')' reduce using rule 293 (UnaryExpressionNotPlusMinus) ':' reduce using rule 293 (UnaryExpressionNotPlusMinus) '+' reduce using rule 293 (UnaryExpressionNotPlusMinus) '-' reduce using rule 293 (UnaryExpressionNotPlusMinus) '/' reduce using rule 293 (UnaryExpressionNotPlusMinus) '%' reduce using rule 293 (UnaryExpressionNotPlusMinus) '<' reduce using rule 293 (UnaryExpressionNotPlusMinus) '>' reduce using rule 293 (UnaryExpressionNotPlusMinus) '&' reduce using rule 293 (UnaryExpressionNotPlusMinus) '^' reduce using rule 293 (UnaryExpressionNotPlusMinus) '|' reduce using rule 293 (UnaryExpressionNotPlusMinus) '?' reduce using rule 293 (UnaryExpressionNotPlusMinus)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 300 MultiplicativeExpression → MultiplicativeExpression '*' • UnaryExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 444 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 301 MultiplicativeExpression → MultiplicativeExpression '/' • UnaryExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 445 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 302 MultiplicativeExpression → MultiplicativeExpression '%' • UnaryExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 446 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 304 AdditiveExpression → AdditiveExpression '+' • MultiplicativeExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 447
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 305 AdditiveExpression → AdditiveExpression '-' • MultiplicativeExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 448
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 307 ShiftExpression → ShiftExpression LTLT • AdditiveExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 449
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 308 ShiftExpression → ShiftExpression GTGT • AdditiveExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 450
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 309 ShiftExpression → ShiftExpression GTGTGT • AdditiveExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 451
10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 315 RelationalExpression → RelationalExpression INSTANCEOF • ReferenceType Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 PrimitiveType go to state 452 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 453 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 31 QualifiedName go to state 32
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 313 RelationalExpression → RelationalExpression LTEQ • ShiftExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 454
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 314 RelationalExpression → RelationalExpression GTEQ • ShiftExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 455
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 311 RelationalExpression → RelationalExpression '<' • ShiftExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 456
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 312 RelationalExpression → RelationalExpression '>' • ShiftExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 457
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 317 EqualityExpression → EqualityExpression EQEQ • RelationalExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 458
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 318 EqualityExpression → EqualityExpression BANGEQ • RelationalExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 459
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 320 AndExpression → AndExpression '&' • EqualityExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 460
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 322 ExclusiveOrExpression → ExclusiveOrExpression '^' • AndExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 461
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 324 InclusiveOrExpression → InclusiveOrExpression '|' • ExclusiveOrExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 462
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 326 ConditionalAndExpression → ConditionalAndExpression ANDAND • InclusiveOrExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 463
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 328 ConditionalOrExpression → ConditionalOrExpression OROR • ConditionalAndExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 464
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 330 | ConditionalOrExpression '?' • Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 465
235 ReturnStatement → RETURN Expression ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 235 (ReturnStatement) IntegerLiteral reduce using rule 235 (ReturnStatement) FloatingPointLiteral reduce using rule 235 (ReturnStatement) BooleanLiteral reduce using rule 235 (ReturnStatement) CharacterLiteral reduce using rule 235 (ReturnStatement) StringLiteral reduce using rule 235 (ReturnStatement) NullLiteral reduce using rule 235 (ReturnStatement) BOOLEAN reduce using rule 235 (ReturnStatement) BYTE reduce using rule 235 (ReturnStatement) SHORT reduce using rule 235 (ReturnStatement) INT reduce using rule 235 (ReturnStatement) LONG reduce using rule 235 (ReturnStatement) CHAR reduce using rule 235 (ReturnStatement) FLOAT reduce using rule 235 (ReturnStatement) DOUBLE reduce using rule 235 (ReturnStatement) SYNCHRONIZED reduce using rule 235 (ReturnStatement) THIS reduce using rule 235 (ReturnStatement) SUPER reduce using rule 235 (ReturnStatement) IF reduce using rule 235 (ReturnStatement) ELSE reduce using rule 235 (ReturnStatement) SWITCH reduce using rule 235 (ReturnStatement) CASE reduce using rule 235 (ReturnStatement) DEFAULT reduce using rule 235 (ReturnStatement) WHILE reduce using rule 235 (ReturnStatement) DO reduce using rule 235 (ReturnStatement) FOR reduce using rule 235 (ReturnStatement) BREAK reduce using rule 235 (ReturnStatement) CONTINUE reduce using rule 235 (ReturnStatement) RETURN reduce using rule 235 (ReturnStatement) THROW reduce using rule 235 (ReturnStatement) TRY reduce using rule 235 (ReturnStatement) NEW reduce using rule 235 (ReturnStatement) PLUSPLUS reduce using rule 235 (ReturnStatement) MINUSMINUS reduce using rule 235 (ReturnStatement) ';' reduce using rule 235 (ReturnStatement) '{' reduce using rule 235 (ReturnStatement) '}' reduce using rule 235 (ReturnStatement) '(' reduce using rule 235 (ReturnStatement)
237 ThrowStatement → THROW Expression ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 237 (ThrowStatement) IntegerLiteral reduce using rule 237 (ThrowStatement) FloatingPointLiteral reduce using rule 237 (ThrowStatement) BooleanLiteral reduce using rule 237 (ThrowStatement) CharacterLiteral reduce using rule 237 (ThrowStatement) StringLiteral reduce using rule 237 (ThrowStatement) NullLiteral reduce using rule 237 (ThrowStatement) BOOLEAN reduce using rule 237 (ThrowStatement) BYTE reduce using rule 237 (ThrowStatement) SHORT reduce using rule 237 (ThrowStatement) INT reduce using rule 237 (ThrowStatement) LONG reduce using rule 237 (ThrowStatement) CHAR reduce using rule 237 (ThrowStatement) FLOAT reduce using rule 237 (ThrowStatement) DOUBLE reduce using rule 237 (ThrowStatement) SYNCHRONIZED reduce using rule 237 (ThrowStatement) THIS reduce using rule 237 (ThrowStatement) SUPER reduce using rule 237 (ThrowStatement) IF reduce using rule 237 (ThrowStatement) ELSE reduce using rule 237 (ThrowStatement) SWITCH reduce using rule 237 (ThrowStatement) CASE reduce using rule 237 (ThrowStatement) DEFAULT reduce using rule 237 (ThrowStatement) WHILE reduce using rule 237 (ThrowStatement) DO reduce using rule 237 (ThrowStatement) FOR reduce using rule 237 (ThrowStatement) BREAK reduce using rule 237 (ThrowStatement) CONTINUE reduce using rule 237 (ThrowStatement) RETURN reduce using rule 237 (ThrowStatement) THROW reduce using rule 237 (ThrowStatement) TRY reduce using rule 237 (ThrowStatement) NEW reduce using rule 237 (ThrowStatement) PLUSPLUS reduce using rule 237 (ThrowStatement) MINUSMINUS reduce using rule 237 (ThrowStatement) ';' reduce using rule 237 (ThrowStatement) '{' reduce using rule 237 (ThrowStatement) '}' reduce using rule 237 (ThrowStatement) '(' reduce using rule 237 (ThrowStatement)
244 CatchClause → CATCH • '(' FormalParameter ')' Block '(' shift, and go to state 466
151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 245 Finally → FINALLY • Block '{' shift, and go to state 122 Block go to state 467
239 TryStatement → TRY Block Catches • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] 240 | TRY Block Catches • Finally 243 Catches → Catches • CatchClause 244 CatchClause → • CATCH '(' FormalParameter ')' Block 245 Finally → • FINALLY Block CATCH shift, and go to state 398 FINALLY shift, and go to state 399 Identifier reduce using rule 239 (TryStatement) IntegerLiteral reduce using rule 239 (TryStatement) FloatingPointLiteral reduce using rule 239 (TryStatement) BooleanLiteral reduce using rule 239 (TryStatement) CharacterLiteral reduce using rule 239 (TryStatement) StringLiteral reduce using rule 239 (TryStatement) NullLiteral reduce using rule 239 (TryStatement) BOOLEAN reduce using rule 239 (TryStatement) BYTE reduce using rule 239 (TryStatement) SHORT reduce using rule 239 (TryStatement) INT reduce using rule 239 (TryStatement) LONG reduce using rule 239 (TryStatement) CHAR reduce using rule 239 (TryStatement) FLOAT reduce using rule 239 (TryStatement) DOUBLE reduce using rule 239 (TryStatement) SYNCHRONIZED reduce using rule 239 (TryStatement) THIS reduce using rule 239 (TryStatement) SUPER reduce using rule 239 (TryStatement) IF reduce using rule 239 (TryStatement) ELSE reduce using rule 239 (TryStatement) SWITCH reduce using rule 239 (TryStatement) CASE reduce using rule 239 (TryStatement) DEFAULT reduce using rule 239 (TryStatement) WHILE reduce using rule 239 (TryStatement) DO reduce using rule 239 (TryStatement) FOR reduce using rule 239 (TryStatement) BREAK reduce using rule 239 (TryStatement) CONTINUE reduce using rule 239 (TryStatement) RETURN reduce using rule 239 (TryStatement) THROW reduce using rule 239 (TryStatement) TRY reduce using rule 239 (TryStatement) NEW reduce using rule 239 (TryStatement) PLUSPLUS reduce using rule 239 (TryStatement) MINUSMINUS reduce using rule 239 (TryStatement) ';' reduce using rule 239 (TryStatement) '{' reduce using rule 239 (TryStatement) '}' reduce using rule 239 (TryStatement) '(' reduce using rule 239 (TryStatement) CatchClause go to state 468 Finally go to state 469
242 Catches → CatchClause • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, CATCH, FINALLY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 242 (Catches) IntegerLiteral reduce using rule 242 (Catches) FloatingPointLiteral reduce using rule 242 (Catches) BooleanLiteral reduce using rule 242 (Catches) CharacterLiteral reduce using rule 242 (Catches) StringLiteral reduce using rule 242 (Catches) NullLiteral reduce using rule 242 (Catches) BOOLEAN reduce using rule 242 (Catches) BYTE reduce using rule 242 (Catches) SHORT reduce using rule 242 (Catches) INT reduce using rule 242 (Catches) LONG reduce using rule 242 (Catches) CHAR reduce using rule 242 (Catches) FLOAT reduce using rule 242 (Catches) DOUBLE reduce using rule 242 (Catches) SYNCHRONIZED reduce using rule 242 (Catches) THIS reduce using rule 242 (Catches) SUPER reduce using rule 242 (Catches) IF reduce using rule 242 (Catches) ELSE reduce using rule 242 (Catches) SWITCH reduce using rule 242 (Catches) CASE reduce using rule 242 (Catches) DEFAULT reduce using rule 242 (Catches) WHILE reduce using rule 242 (Catches) DO reduce using rule 242 (Catches) FOR reduce using rule 242 (Catches) BREAK reduce using rule 242 (Catches) CONTINUE reduce using rule 242 (Catches) RETURN reduce using rule 242 (Catches) THROW reduce using rule 242 (Catches) TRY reduce using rule 242 (Catches) CATCH reduce using rule 242 (Catches) FINALLY reduce using rule 242 (Catches) NEW reduce using rule 242 (Catches) PLUSPLUS reduce using rule 242 (Catches) MINUSMINUS reduce using rule 242 (Catches) ';' reduce using rule 242 (Catches) '{' reduce using rule 242 (Catches) '}' reduce using rule 242 (Catches) '(' reduce using rule 242 (Catches)
241 TryStatement → TRY Block Finally • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 241 (TryStatement) IntegerLiteral reduce using rule 241 (TryStatement) FloatingPointLiteral reduce using rule 241 (TryStatement) BooleanLiteral reduce using rule 241 (TryStatement) CharacterLiteral reduce using rule 241 (TryStatement) StringLiteral reduce using rule 241 (TryStatement) NullLiteral reduce using rule 241 (TryStatement) BOOLEAN reduce using rule 241 (TryStatement) BYTE reduce using rule 241 (TryStatement) SHORT reduce using rule 241 (TryStatement) INT reduce using rule 241 (TryStatement) LONG reduce using rule 241 (TryStatement) CHAR reduce using rule 241 (TryStatement) FLOAT reduce using rule 241 (TryStatement) DOUBLE reduce using rule 241 (TryStatement) SYNCHRONIZED reduce using rule 241 (TryStatement) THIS reduce using rule 241 (TryStatement) SUPER reduce using rule 241 (TryStatement) IF reduce using rule 241 (TryStatement) ELSE reduce using rule 241 (TryStatement) SWITCH reduce using rule 241 (TryStatement) CASE reduce using rule 241 (TryStatement) DEFAULT reduce using rule 241 (TryStatement) WHILE reduce using rule 241 (TryStatement) DO reduce using rule 241 (TryStatement) FOR reduce using rule 241 (TryStatement) BREAK reduce using rule 241 (TryStatement) CONTINUE reduce using rule 241 (TryStatement) RETURN reduce using rule 241 (TryStatement) THROW reduce using rule 241 (TryStatement) TRY reduce using rule 241 (TryStatement) NEW reduce using rule 241 (TryStatement) PLUSPLUS reduce using rule 241 (TryStatement) MINUSMINUS reduce using rule 241 (TryStatement) ';' reduce using rule 241 (TryStatement) '{' reduce using rule 241 (TryStatement) '}' reduce using rule 241 (TryStatement) '(' reduce using rule 241 (TryStatement)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 265 DimExpr → '[' • Expression ']' 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 470
259 ArrayCreationExpression → NEW PrimitiveType DimExprs • Dims 260 | NEW PrimitiveType DimExprs • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 264 DimExprs → DimExprs • DimExpr 265 DimExpr → • '[' Expression ']' 266 Dims → • '[' ']' 267 | • Dims '[' ']' '[' shift, and go to state 471 INSTANCEOF reduce using rule 260 (ArrayCreationExpression) PLUSPLUS reduce using rule 260 (ArrayCreationExpression) MINUSMINUS reduce using rule 260 (ArrayCreationExpression) LTLT reduce using rule 260 (ArrayCreationExpression) GTGT reduce using rule 260 (ArrayCreationExpression) GTGTGT reduce using rule 260 (ArrayCreationExpression) LTEQ reduce using rule 260 (ArrayCreationExpression) GTEQ reduce using rule 260 (ArrayCreationExpression) EQEQ reduce using rule 260 (ArrayCreationExpression) BANGEQ reduce using rule 260 (ArrayCreationExpression) ANDAND reduce using rule 260 (ArrayCreationExpression) OROR reduce using rule 260 (ArrayCreationExpression) ']' reduce using rule 260 (ArrayCreationExpression) '.' reduce using rule 260 (ArrayCreationExpression) ';' reduce using rule 260 (ArrayCreationExpression) '*' reduce using rule 260 (ArrayCreationExpression) ',' reduce using rule 260 (ArrayCreationExpression) '}' reduce using rule 260 (ArrayCreationExpression) ')' reduce using rule 260 (ArrayCreationExpression) ':' reduce using rule 260 (ArrayCreationExpression) '+' reduce using rule 260 (ArrayCreationExpression) '-' reduce using rule 260 (ArrayCreationExpression) '/' reduce using rule 260 (ArrayCreationExpression) '%' reduce using rule 260 (ArrayCreationExpression) '<' reduce using rule 260 (ArrayCreationExpression) '>' reduce using rule 260 (ArrayCreationExpression) '&' reduce using rule 260 (ArrayCreationExpression) '^' reduce using rule 260 (ArrayCreationExpression) '|' reduce using rule 260 (ArrayCreationExpression) '?' reduce using rule 260 (ArrayCreationExpression) DimExpr go to state 472 Dims go to state 473
263 DimExprs → DimExpr • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 263 (DimExprs) PLUSPLUS reduce using rule 263 (DimExprs) MINUSMINUS reduce using rule 263 (DimExprs) LTLT reduce using rule 263 (DimExprs) GTGT reduce using rule 263 (DimExprs) GTGTGT reduce using rule 263 (DimExprs) LTEQ reduce using rule 263 (DimExprs) GTEQ reduce using rule 263 (DimExprs) EQEQ reduce using rule 263 (DimExprs) BANGEQ reduce using rule 263 (DimExprs) ANDAND reduce using rule 263 (DimExprs) OROR reduce using rule 263 (DimExprs) '[' reduce using rule 263 (DimExprs) ']' reduce using rule 263 (DimExprs) '.' reduce using rule 263 (DimExprs) ';' reduce using rule 263 (DimExprs) '*' reduce using rule 263 (DimExprs) ',' reduce using rule 263 (DimExprs) '}' reduce using rule 263 (DimExprs) ')' reduce using rule 263 (DimExprs) ':' reduce using rule 263 (DimExprs) '+' reduce using rule 263 (DimExprs) '-' reduce using rule 263 (DimExprs) '/' reduce using rule 263 (DimExprs) '%' reduce using rule 263 (DimExprs) '<' reduce using rule 263 (DimExprs) '>' reduce using rule 263 (DimExprs) '&' reduce using rule 263 (DimExprs) '^' reduce using rule 263 (DimExprs) '|' reduce using rule 263 (DimExprs) '?' reduce using rule 263 (DimExprs)
261 ArrayCreationExpression → NEW ClassOrInterfaceType DimExprs • Dims 262 | NEW ClassOrInterfaceType DimExprs • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 264 DimExprs → DimExprs • DimExpr 265 DimExpr → • '[' Expression ']' 266 Dims → • '[' ']' 267 | • Dims '[' ']' '[' shift, and go to state 471 INSTANCEOF reduce using rule 262 (ArrayCreationExpression) PLUSPLUS reduce using rule 262 (ArrayCreationExpression) MINUSMINUS reduce using rule 262 (ArrayCreationExpression) LTLT reduce using rule 262 (ArrayCreationExpression) GTGT reduce using rule 262 (ArrayCreationExpression) GTGTGT reduce using rule 262 (ArrayCreationExpression) LTEQ reduce using rule 262 (ArrayCreationExpression) GTEQ reduce using rule 262 (ArrayCreationExpression) EQEQ reduce using rule 262 (ArrayCreationExpression) BANGEQ reduce using rule 262 (ArrayCreationExpression) ANDAND reduce using rule 262 (ArrayCreationExpression) OROR reduce using rule 262 (ArrayCreationExpression) ']' reduce using rule 262 (ArrayCreationExpression) '.' reduce using rule 262 (ArrayCreationExpression) ';' reduce using rule 262 (ArrayCreationExpression) '*' reduce using rule 262 (ArrayCreationExpression) ',' reduce using rule 262 (ArrayCreationExpression) '}' reduce using rule 262 (ArrayCreationExpression) ')' reduce using rule 262 (ArrayCreationExpression) ':' reduce using rule 262 (ArrayCreationExpression) '+' reduce using rule 262 (ArrayCreationExpression) '-' reduce using rule 262 (ArrayCreationExpression) '/' reduce using rule 262 (ArrayCreationExpression) '%' reduce using rule 262 (ArrayCreationExpression) '<' reduce using rule 262 (ArrayCreationExpression) '>' reduce using rule 262 (ArrayCreationExpression) '&' reduce using rule 262 (ArrayCreationExpression) '^' reduce using rule 262 (ArrayCreationExpression) '|' reduce using rule 262 (ArrayCreationExpression) '?' reduce using rule 262 (ArrayCreationExpression) DimExpr go to state 472 Dims go to state 474
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 255 | NEW ClassType '(' • ArgumentList ')' 256 | • NEW ClassType '(' ')' 256 | NEW ClassType '(' • ')' 257 ArgumentList → • Expression 258 | • ArgumentList ',' Expression 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 ')' shift, and go to state 475 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArgumentList go to state 476 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 412
250 PrimaryNoNewArray → '(' Expression ')' • [PLUSPLUS, MINUSMINUS, '[', '.'] PLUSPLUS reduce using rule 250 (PrimaryNoNewArray) MINUSMINUS reduce using rule 250 (PrimaryNoNewArray) '[' reduce using rule 250 (PrimaryNoNewArray) '.' reduce using rule 250 (PrimaryNoNewArray)
276 ArrayAccess → Name '[' Expression • ']' ']' shift, and go to state 477
271 MethodInvocation → Name '(' ')' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 271 (MethodInvocation) PLUSPLUS reduce using rule 271 (MethodInvocation) MINUSMINUS reduce using rule 271 (MethodInvocation) LTLT reduce using rule 271 (MethodInvocation) GTGT reduce using rule 271 (MethodInvocation) GTGTGT reduce using rule 271 (MethodInvocation) LTEQ reduce using rule 271 (MethodInvocation) GTEQ reduce using rule 271 (MethodInvocation) EQEQ reduce using rule 271 (MethodInvocation) BANGEQ reduce using rule 271 (MethodInvocation) ANDAND reduce using rule 271 (MethodInvocation) OROR reduce using rule 271 (MethodInvocation) '[' reduce using rule 271 (MethodInvocation) ']' reduce using rule 271 (MethodInvocation) '.' reduce using rule 271 (MethodInvocation) ';' reduce using rule 271 (MethodInvocation) '*' reduce using rule 271 (MethodInvocation) ',' reduce using rule 271 (MethodInvocation) '}' reduce using rule 271 (MethodInvocation) ')' reduce using rule 271 (MethodInvocation) ':' reduce using rule 271 (MethodInvocation) '+' reduce using rule 271 (MethodInvocation) '-' reduce using rule 271 (MethodInvocation) '/' reduce using rule 271 (MethodInvocation) '%' reduce using rule 271 (MethodInvocation) '<' reduce using rule 271 (MethodInvocation) '>' reduce using rule 271 (MethodInvocation) '&' reduce using rule 271 (MethodInvocation) '^' reduce using rule 271 (MethodInvocation) '|' reduce using rule 271 (MethodInvocation) '?' reduce using rule 271 (MethodInvocation)
258 ArgumentList → ArgumentList • ',' Expression 270 MethodInvocation → Name '(' ArgumentList • ')' ',' shift, and go to state 478 ')' shift, and go to state 479
257 ArgumentList → Expression • [',', ')'] ',' reduce using rule 257 (ArgumentList) ')' reduce using rule 257 (ArgumentList)
268 FieldAccess → Primary '.' Identifier • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', ']', '.', ';', '*', ',', '}', '=', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 272 MethodInvocation → Primary '.' Identifier • '(' ArgumentList ')' 273 | Primary '.' Identifier • '(' ')' '(' shift, and go to state 480 INSTANCEOF reduce using rule 268 (FieldAccess) PLUSPLUS reduce using rule 268 (FieldAccess) MINUSMINUS reduce using rule 268 (FieldAccess) LTLT reduce using rule 268 (FieldAccess) GTGT reduce using rule 268 (FieldAccess) GTGTGT reduce using rule 268 (FieldAccess) LTEQ reduce using rule 268 (FieldAccess) GTEQ reduce using rule 268 (FieldAccess) EQEQ reduce using rule 268 (FieldAccess) BANGEQ reduce using rule 268 (FieldAccess) ANDAND reduce using rule 268 (FieldAccess) OROR reduce using rule 268 (FieldAccess) TIMESEQ reduce using rule 268 (FieldAccess) DIVEQ reduce using rule 268 (FieldAccess) MODEQ reduce using rule 268 (FieldAccess) PLUSEQ reduce using rule 268 (FieldAccess) MINUSEQ reduce using rule 268 (FieldAccess) LTLTEQ reduce using rule 268 (FieldAccess) GTGTEQ reduce using rule 268 (FieldAccess) GTGTGTEQ reduce using rule 268 (FieldAccess) ANDEQ reduce using rule 268 (FieldAccess) XOREQ reduce using rule 268 (FieldAccess) OREQ reduce using rule 268 (FieldAccess) '[' reduce using rule 268 (FieldAccess) ']' reduce using rule 268 (FieldAccess) '.' reduce using rule 268 (FieldAccess) ';' reduce using rule 268 (FieldAccess) '*' reduce using rule 268 (FieldAccess) ',' reduce using rule 268 (FieldAccess) '}' reduce using rule 268 (FieldAccess) '=' reduce using rule 268 (FieldAccess) ')' reduce using rule 268 (FieldAccess) ':' reduce using rule 268 (FieldAccess) '+' reduce using rule 268 (FieldAccess) '-' reduce using rule 268 (FieldAccess) '/' reduce using rule 268 (FieldAccess) '%' reduce using rule 268 (FieldAccess) '<' reduce using rule 268 (FieldAccess) '>' reduce using rule 268 (FieldAccess) '&' reduce using rule 268 (FieldAccess) '^' reduce using rule 268 (FieldAccess) '|' reduce using rule 268 (FieldAccess) '?' reduce using rule 268 (FieldAccess)
277 ArrayAccess → PrimaryNoNewArray '[' Expression • ']' ']' shift, and go to state 481
333 Assignment → LeftHandSide AssignmentOperator AssignmentExpression • [']', ';', ',', '}', ')', ':'] ']' reduce using rule 333 (Assignment) ';' reduce using rule 333 (Assignment) ',' reduce using rule 333 (Assignment) '}' reduce using rule 333 (Assignment) ')' reduce using rule 333 (Assignment) ':' reduce using rule 333 (Assignment)
105 MethodDeclarator → Identifier '(' FormalParameterList ')' • [THROWS, '[', ';', '{'] THROWS reduce using rule 105 (MethodDeclarator) '[' reduce using rule 105 (MethodDeclarator) ';' reduce using rule 105 (MethodDeclarator) '{' reduce using rule 105 (MethodDeclarator)
147 ArrayInitializer → '{' ',' • '}' '}' shift, and go to state 482
148 ArrayInitializer → '{' '}' • [';', ',', '}'] ';' reduce using rule 148 (ArrayInitializer) ',' reduce using rule 148 (ArrayInitializer) '}' reduce using rule 148 (ArrayInitializer)
149 VariableInitializers → VariableInitializer • [',', '}'] ',' reduce using rule 149 (VariableInitializers) '}' reduce using rule 149 (VariableInitializers)
145 ArrayInitializer → '{' VariableInitializers • ',' '}' 146 | '{' VariableInitializers • '}' 150 VariableInitializers → VariableInitializers • ',' VariableInitializer ',' shift, and go to state 483 '}' shift, and go to state 484
109 FormalParameterList → FormalParameterList ',' FormalParameter • [',', ')'] ',' reduce using rule 109 (FormalParameterList) ')' reduce using rule 109 (FormalParameterList)
113 ClassTypeList → ClassTypeList ',' ClassType • [';', ',', '{'] ';' reduce using rule 113 (ClassTypeList) ',' reduce using rule 113 (ClassTypeList) '{' reduce using rule 113 (ClassTypeList)
128 ExplicitConstructorInvocation → THIS '(' ')' • ';' ';' shift, and go to state 485
127 ExplicitConstructorInvocation → THIS '(' ArgumentList • ')' ';' 258 ArgumentList → ArgumentList • ',' Expression ',' shift, and go to state 478 ')' shift, and go to state 486
130 ExplicitConstructorInvocation → SUPER '(' ')' • ';' ';' shift, and go to state 487
129 ExplicitConstructorInvocation → SUPER '(' ArgumentList • ')' ';' 258 ArgumentList → ArgumentList • ',' Expression ',' shift, and go to state 478 ')' shift, and go to state 488
123 ConstructorBody → '{' ExplicitConstructorInvocation BlockStatements '}' • [Identifier, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, TRANSIENT, VOLATILE, VOID, '}'] Identifier reduce using rule 123 (ConstructorBody) BOOLEAN reduce using rule 123 (ConstructorBody) BYTE reduce using rule 123 (ConstructorBody) SHORT reduce using rule 123 (ConstructorBody) INT reduce using rule 123 (ConstructorBody) LONG reduce using rule 123 (ConstructorBody) CHAR reduce using rule 123 (ConstructorBody) FLOAT reduce using rule 123 (ConstructorBody) DOUBLE reduce using rule 123 (ConstructorBody) PUBLIC reduce using rule 123 (ConstructorBody) PROTECTED reduce using rule 123 (ConstructorBody) PRIVATE reduce using rule 123 (ConstructorBody) STATIC reduce using rule 123 (ConstructorBody) ABSTRACT reduce using rule 123 (ConstructorBody) FINAL reduce using rule 123 (ConstructorBody) NATIVE reduce using rule 123 (ConstructorBody) SYNCHRONIZED reduce using rule 123 (ConstructorBody) TRANSIENT reduce using rule 123 (ConstructorBody) VOLATILE reduce using rule 123 (ConstructorBody) VOID reduce using rule 123 (ConstructorBody) '}' reduce using rule 123 (ConstructorBody)
151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 238 SynchronizedStatement → SYNCHRONIZED '(' Expression ')' • Block '{' shift, and go to state 122 Block go to state 489
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 257 ArgumentList → • Expression 258 | • ArgumentList ',' Expression 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 274 | SUPER '.' Identifier '(' • ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 275 | SUPER '.' Identifier '(' • ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 ')' shift, and go to state 490 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArgumentList go to state 491 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 412
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 192 | IF '(' Expression ')' • Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 193 | IF '(' Expression ')' • StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 496 StatementNoShortIf go to state 497 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
195 SwitchStatement → SWITCH '(' Expression ')' • SwitchBlock 196 SwitchBlock → • '{' SwitchBlockStatementGroups SwitchLabels '}' 197 | • '{' SwitchLabels '}' 198 | • '{' SwitchBlockStatementGroups '}' 199 | • '{' '}' '{' shift, and go to state 503 SwitchBlock go to state 504
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 207 | WHILE '(' Expression ')' • Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 505 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 209 DoStatement → DO Statement WHILE '(' • Expression ')' ';' 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 506
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 216 ForStatement → FOR '(' ';' ';' • ForUpdate ')' Statement 217 | FOR '(' ';' ';' • ')' Statement 228 ForUpdate → • StatementExpressionList 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 182 ')' shift, and go to state 507 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 StatementExpression go to state 363 ForUpdate go to state 508 StatementExpressionList go to state 509 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
214 ForStatement → FOR '(' ';' Expression • ';' ForUpdate ')' Statement 215 | FOR '(' ';' Expression • ';' ')' Statement ';' shift, and go to state 510
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 210 ForStatement → FOR '(' ForInit ';' • Expression ';' ForUpdate ')' Statement 211 | FOR '(' ForInit ';' • Expression ';' ')' Statement 212 | FOR '(' ForInit ';' • ';' ForUpdate ')' Statement 213 | FOR '(' ForInit ';' • ';' ')' Statement 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 511 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 512
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 230 StatementExpressionList → StatementExpressionList ',' • StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 StatementExpression go to state 513 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
266 Dims → '[' • ']' ']' shift, and go to state 514
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 296 | '(' PrimitiveType ')' • UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 515 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
267 Dims → Dims • '[' ']' 295 CastExpression → '(' PrimitiveType Dims • ')' UnaryExpression '[' shift, and go to state 516 ')' shift, and go to state 517
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 266 Dims → '[' • ']' 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 276 | Name '[' • Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ']' shift, and go to state 514 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 409
267 Dims → Dims • '[' ']' 298 CastExpression → '(' Name Dims • ')' UnaryExpressionNotPlusMinus '[' shift, and go to state 516 ')' shift, and go to state 518
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 250 | '(' Expression ')' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 297 | '(' Expression ')' • UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 '(' shift, and go to state 266 '~' shift, and go to state 269 '!' shift, and go to state 270 INSTANCEOF reduce using rule 250 (PrimaryNoNewArray) PLUSPLUS reduce using rule 250 (PrimaryNoNewArray) MINUSMINUS reduce using rule 250 (PrimaryNoNewArray) LTLT reduce using rule 250 (PrimaryNoNewArray) GTGT reduce using rule 250 (PrimaryNoNewArray) GTGTGT reduce using rule 250 (PrimaryNoNewArray) LTEQ reduce using rule 250 (PrimaryNoNewArray) GTEQ reduce using rule 250 (PrimaryNoNewArray) EQEQ reduce using rule 250 (PrimaryNoNewArray) BANGEQ reduce using rule 250 (PrimaryNoNewArray) ANDAND reduce using rule 250 (PrimaryNoNewArray) OROR reduce using rule 250 (PrimaryNoNewArray) '[' reduce using rule 250 (PrimaryNoNewArray) ']' reduce using rule 250 (PrimaryNoNewArray) '.' reduce using rule 250 (PrimaryNoNewArray) ';' reduce using rule 250 (PrimaryNoNewArray) '*' reduce using rule 250 (PrimaryNoNewArray) ',' reduce using rule 250 (PrimaryNoNewArray) '}' reduce using rule 250 (PrimaryNoNewArray) ')' reduce using rule 250 (PrimaryNoNewArray) ':' reduce using rule 250 (PrimaryNoNewArray) '+' reduce using rule 250 (PrimaryNoNewArray) '-' reduce using rule 250 (PrimaryNoNewArray) '/' reduce using rule 250 (PrimaryNoNewArray) '%' reduce using rule 250 (PrimaryNoNewArray) '<' reduce using rule 250 (PrimaryNoNewArray) '>' reduce using rule 250 (PrimaryNoNewArray) '&' reduce using rule 250 (PrimaryNoNewArray) '^' reduce using rule 250 (PrimaryNoNewArray) '|' reduce using rule 250 (PrimaryNoNewArray) '?' reduce using rule 250 (PrimaryNoNewArray) Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpressionNotPlusMinus go to state 519 CastExpression go to state 280
300 MultiplicativeExpression → MultiplicativeExpression '*' UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 300 (MultiplicativeExpression) LTLT reduce using rule 300 (MultiplicativeExpression) GTGT reduce using rule 300 (MultiplicativeExpression) GTGTGT reduce using rule 300 (MultiplicativeExpression) LTEQ reduce using rule 300 (MultiplicativeExpression) GTEQ reduce using rule 300 (MultiplicativeExpression) EQEQ reduce using rule 300 (MultiplicativeExpression) BANGEQ reduce using rule 300 (MultiplicativeExpression) ANDAND reduce using rule 300 (MultiplicativeExpression) OROR reduce using rule 300 (MultiplicativeExpression) ']' reduce using rule 300 (MultiplicativeExpression) ';' reduce using rule 300 (MultiplicativeExpression) '*' reduce using rule 300 (MultiplicativeExpression) ',' reduce using rule 300 (MultiplicativeExpression) '}' reduce using rule 300 (MultiplicativeExpression) ')' reduce using rule 300 (MultiplicativeExpression) ':' reduce using rule 300 (MultiplicativeExpression) '+' reduce using rule 300 (MultiplicativeExpression) '-' reduce using rule 300 (MultiplicativeExpression) '/' reduce using rule 300 (MultiplicativeExpression) '%' reduce using rule 300 (MultiplicativeExpression) '<' reduce using rule 300 (MultiplicativeExpression) '>' reduce using rule 300 (MultiplicativeExpression) '&' reduce using rule 300 (MultiplicativeExpression) '^' reduce using rule 300 (MultiplicativeExpression) '|' reduce using rule 300 (MultiplicativeExpression) '?' reduce using rule 300 (MultiplicativeExpression)
301 MultiplicativeExpression → MultiplicativeExpression '/' UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 301 (MultiplicativeExpression) LTLT reduce using rule 301 (MultiplicativeExpression) GTGT reduce using rule 301 (MultiplicativeExpression) GTGTGT reduce using rule 301 (MultiplicativeExpression) LTEQ reduce using rule 301 (MultiplicativeExpression) GTEQ reduce using rule 301 (MultiplicativeExpression) EQEQ reduce using rule 301 (MultiplicativeExpression) BANGEQ reduce using rule 301 (MultiplicativeExpression) ANDAND reduce using rule 301 (MultiplicativeExpression) OROR reduce using rule 301 (MultiplicativeExpression) ']' reduce using rule 301 (MultiplicativeExpression) ';' reduce using rule 301 (MultiplicativeExpression) '*' reduce using rule 301 (MultiplicativeExpression) ',' reduce using rule 301 (MultiplicativeExpression) '}' reduce using rule 301 (MultiplicativeExpression) ')' reduce using rule 301 (MultiplicativeExpression) ':' reduce using rule 301 (MultiplicativeExpression) '+' reduce using rule 301 (MultiplicativeExpression) '-' reduce using rule 301 (MultiplicativeExpression) '/' reduce using rule 301 (MultiplicativeExpression) '%' reduce using rule 301 (MultiplicativeExpression) '<' reduce using rule 301 (MultiplicativeExpression) '>' reduce using rule 301 (MultiplicativeExpression) '&' reduce using rule 301 (MultiplicativeExpression) '^' reduce using rule 301 (MultiplicativeExpression) '|' reduce using rule 301 (MultiplicativeExpression) '?' reduce using rule 301 (MultiplicativeExpression)
302 MultiplicativeExpression → MultiplicativeExpression '%' UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 302 (MultiplicativeExpression) LTLT reduce using rule 302 (MultiplicativeExpression) GTGT reduce using rule 302 (MultiplicativeExpression) GTGTGT reduce using rule 302 (MultiplicativeExpression) LTEQ reduce using rule 302 (MultiplicativeExpression) GTEQ reduce using rule 302 (MultiplicativeExpression) EQEQ reduce using rule 302 (MultiplicativeExpression) BANGEQ reduce using rule 302 (MultiplicativeExpression) ANDAND reduce using rule 302 (MultiplicativeExpression) OROR reduce using rule 302 (MultiplicativeExpression) ']' reduce using rule 302 (MultiplicativeExpression) ';' reduce using rule 302 (MultiplicativeExpression) '*' reduce using rule 302 (MultiplicativeExpression) ',' reduce using rule 302 (MultiplicativeExpression) '}' reduce using rule 302 (MultiplicativeExpression) ')' reduce using rule 302 (MultiplicativeExpression) ':' reduce using rule 302 (MultiplicativeExpression) '+' reduce using rule 302 (MultiplicativeExpression) '-' reduce using rule 302 (MultiplicativeExpression) '/' reduce using rule 302 (MultiplicativeExpression) '%' reduce using rule 302 (MultiplicativeExpression) '<' reduce using rule 302 (MultiplicativeExpression) '>' reduce using rule 302 (MultiplicativeExpression) '&' reduce using rule 302 (MultiplicativeExpression) '^' reduce using rule 302 (MultiplicativeExpression) '|' reduce using rule 302 (MultiplicativeExpression) '?' reduce using rule 302 (MultiplicativeExpression)
300 MultiplicativeExpression → MultiplicativeExpression • '*' UnaryExpression 301 | MultiplicativeExpression • '/' UnaryExpression 302 | MultiplicativeExpression • '%' UnaryExpression 304 AdditiveExpression → AdditiveExpression '+' MultiplicativeExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '+', '-', '<', '>', '&', '^', '|', '?'] '*' shift, and go to state 375 '/' shift, and go to state 376 '%' shift, and go to state 377 INSTANCEOF reduce using rule 304 (AdditiveExpression) LTLT reduce using rule 304 (AdditiveExpression) GTGT reduce using rule 304 (AdditiveExpression) GTGTGT reduce using rule 304 (AdditiveExpression) LTEQ reduce using rule 304 (AdditiveExpression) GTEQ reduce using rule 304 (AdditiveExpression) EQEQ reduce using rule 304 (AdditiveExpression) BANGEQ reduce using rule 304 (AdditiveExpression) ANDAND reduce using rule 304 (AdditiveExpression) OROR reduce using rule 304 (AdditiveExpression) ']' reduce using rule 304 (AdditiveExpression) ';' reduce using rule 304 (AdditiveExpression) ',' reduce using rule 304 (AdditiveExpression) '}' reduce using rule 304 (AdditiveExpression) ')' reduce using rule 304 (AdditiveExpression) ':' reduce using rule 304 (AdditiveExpression) '+' reduce using rule 304 (AdditiveExpression) '-' reduce using rule 304 (AdditiveExpression) '<' reduce using rule 304 (AdditiveExpression) '>' reduce using rule 304 (AdditiveExpression) '&' reduce using rule 304 (AdditiveExpression) '^' reduce using rule 304 (AdditiveExpression) '|' reduce using rule 304 (AdditiveExpression) '?' reduce using rule 304 (AdditiveExpression)
300 MultiplicativeExpression → MultiplicativeExpression • '*' UnaryExpression 301 | MultiplicativeExpression • '/' UnaryExpression 302 | MultiplicativeExpression • '%' UnaryExpression 305 AdditiveExpression → AdditiveExpression '-' MultiplicativeExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '+', '-', '<', '>', '&', '^', '|', '?'] '*' shift, and go to state 375 '/' shift, and go to state 376 '%' shift, and go to state 377 INSTANCEOF reduce using rule 305 (AdditiveExpression) LTLT reduce using rule 305 (AdditiveExpression) GTGT reduce using rule 305 (AdditiveExpression) GTGTGT reduce using rule 305 (AdditiveExpression) LTEQ reduce using rule 305 (AdditiveExpression) GTEQ reduce using rule 305 (AdditiveExpression) EQEQ reduce using rule 305 (AdditiveExpression) BANGEQ reduce using rule 305 (AdditiveExpression) ANDAND reduce using rule 305 (AdditiveExpression) OROR reduce using rule 305 (AdditiveExpression) ']' reduce using rule 305 (AdditiveExpression) ';' reduce using rule 305 (AdditiveExpression) ',' reduce using rule 305 (AdditiveExpression) '}' reduce using rule 305 (AdditiveExpression) ')' reduce using rule 305 (AdditiveExpression) ':' reduce using rule 305 (AdditiveExpression) '+' reduce using rule 305 (AdditiveExpression) '-' reduce using rule 305 (AdditiveExpression) '<' reduce using rule 305 (AdditiveExpression) '>' reduce using rule 305 (AdditiveExpression) '&' reduce using rule 305 (AdditiveExpression) '^' reduce using rule 305 (AdditiveExpression) '|' reduce using rule 305 (AdditiveExpression) '?' reduce using rule 305 (AdditiveExpression)
304 AdditiveExpression → AdditiveExpression • '+' MultiplicativeExpression 305 | AdditiveExpression • '-' MultiplicativeExpression 307 ShiftExpression → ShiftExpression LTLT AdditiveExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] '+' shift, and go to state 378 '-' shift, and go to state 379 INSTANCEOF reduce using rule 307 (ShiftExpression) LTLT reduce using rule 307 (ShiftExpression) GTGT reduce using rule 307 (ShiftExpression) GTGTGT reduce using rule 307 (ShiftExpression) LTEQ reduce using rule 307 (ShiftExpression) GTEQ reduce using rule 307 (ShiftExpression) EQEQ reduce using rule 307 (ShiftExpression) BANGEQ reduce using rule 307 (ShiftExpression) ANDAND reduce using rule 307 (ShiftExpression) OROR reduce using rule 307 (ShiftExpression) ']' reduce using rule 307 (ShiftExpression) ';' reduce using rule 307 (ShiftExpression) ',' reduce using rule 307 (ShiftExpression) '}' reduce using rule 307 (ShiftExpression) ')' reduce using rule 307 (ShiftExpression) ':' reduce using rule 307 (ShiftExpression) '<' reduce using rule 307 (ShiftExpression) '>' reduce using rule 307 (ShiftExpression) '&' reduce using rule 307 (ShiftExpression) '^' reduce using rule 307 (ShiftExpression) '|' reduce using rule 307 (ShiftExpression) '?' reduce using rule 307 (ShiftExpression)
304 AdditiveExpression → AdditiveExpression • '+' MultiplicativeExpression 305 | AdditiveExpression • '-' MultiplicativeExpression 308 ShiftExpression → ShiftExpression GTGT AdditiveExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] '+' shift, and go to state 378 '-' shift, and go to state 379 INSTANCEOF reduce using rule 308 (ShiftExpression) LTLT reduce using rule 308 (ShiftExpression) GTGT reduce using rule 308 (ShiftExpression) GTGTGT reduce using rule 308 (ShiftExpression) LTEQ reduce using rule 308 (ShiftExpression) GTEQ reduce using rule 308 (ShiftExpression) EQEQ reduce using rule 308 (ShiftExpression) BANGEQ reduce using rule 308 (ShiftExpression) ANDAND reduce using rule 308 (ShiftExpression) OROR reduce using rule 308 (ShiftExpression) ']' reduce using rule 308 (ShiftExpression) ';' reduce using rule 308 (ShiftExpression) ',' reduce using rule 308 (ShiftExpression) '}' reduce using rule 308 (ShiftExpression) ')' reduce using rule 308 (ShiftExpression) ':' reduce using rule 308 (ShiftExpression) '<' reduce using rule 308 (ShiftExpression) '>' reduce using rule 308 (ShiftExpression) '&' reduce using rule 308 (ShiftExpression) '^' reduce using rule 308 (ShiftExpression) '|' reduce using rule 308 (ShiftExpression) '?' reduce using rule 308 (ShiftExpression)
304 AdditiveExpression → AdditiveExpression • '+' MultiplicativeExpression 305 | AdditiveExpression • '-' MultiplicativeExpression 309 ShiftExpression → ShiftExpression GTGTGT AdditiveExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] '+' shift, and go to state 378 '-' shift, and go to state 379 INSTANCEOF reduce using rule 309 (ShiftExpression) LTLT reduce using rule 309 (ShiftExpression) GTGT reduce using rule 309 (ShiftExpression) GTGTGT reduce using rule 309 (ShiftExpression) LTEQ reduce using rule 309 (ShiftExpression) GTEQ reduce using rule 309 (ShiftExpression) EQEQ reduce using rule 309 (ShiftExpression) BANGEQ reduce using rule 309 (ShiftExpression) ANDAND reduce using rule 309 (ShiftExpression) OROR reduce using rule 309 (ShiftExpression) ']' reduce using rule 309 (ShiftExpression) ';' reduce using rule 309 (ShiftExpression) ',' reduce using rule 309 (ShiftExpression) '}' reduce using rule 309 (ShiftExpression) ')' reduce using rule 309 (ShiftExpression) ':' reduce using rule 309 (ShiftExpression) '<' reduce using rule 309 (ShiftExpression) '>' reduce using rule 309 (ShiftExpression) '&' reduce using rule 309 (ShiftExpression) '^' reduce using rule 309 (ShiftExpression) '|' reduce using rule 309 (ShiftExpression) '?' reduce using rule 309 (ShiftExpression)
26 ArrayType → PrimitiveType • '[' ']' '[' shift, and go to state 131
315 RelationalExpression → RelationalExpression INSTANCEOF ReferenceType • [INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 315 (RelationalExpression) LTEQ reduce using rule 315 (RelationalExpression) GTEQ reduce using rule 315 (RelationalExpression) EQEQ reduce using rule 315 (RelationalExpression) BANGEQ reduce using rule 315 (RelationalExpression) ANDAND reduce using rule 315 (RelationalExpression) OROR reduce using rule 315 (RelationalExpression) ']' reduce using rule 315 (RelationalExpression) ';' reduce using rule 315 (RelationalExpression) ',' reduce using rule 315 (RelationalExpression) '}' reduce using rule 315 (RelationalExpression) ')' reduce using rule 315 (RelationalExpression) ':' reduce using rule 315 (RelationalExpression) '<' reduce using rule 315 (RelationalExpression) '>' reduce using rule 315 (RelationalExpression) '&' reduce using rule 315 (RelationalExpression) '^' reduce using rule 315 (RelationalExpression) '|' reduce using rule 315 (RelationalExpression) '?' reduce using rule 315 (RelationalExpression)
307 ShiftExpression → ShiftExpression • LTLT AdditiveExpression 308 | ShiftExpression • GTGT AdditiveExpression 309 | ShiftExpression • GTGTGT AdditiveExpression 313 RelationalExpression → RelationalExpression LTEQ ShiftExpression • [INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] LTLT shift, and go to state 380 GTGT shift, and go to state 381 GTGTGT shift, and go to state 382 INSTANCEOF reduce using rule 313 (RelationalExpression) LTEQ reduce using rule 313 (RelationalExpression) GTEQ reduce using rule 313 (RelationalExpression) EQEQ reduce using rule 313 (RelationalExpression) BANGEQ reduce using rule 313 (RelationalExpression) ANDAND reduce using rule 313 (RelationalExpression) OROR reduce using rule 313 (RelationalExpression) ']' reduce using rule 313 (RelationalExpression) ';' reduce using rule 313 (RelationalExpression) ',' reduce using rule 313 (RelationalExpression) '}' reduce using rule 313 (RelationalExpression) ')' reduce using rule 313 (RelationalExpression) ':' reduce using rule 313 (RelationalExpression) '<' reduce using rule 313 (RelationalExpression) '>' reduce using rule 313 (RelationalExpression) '&' reduce using rule 313 (RelationalExpression) '^' reduce using rule 313 (RelationalExpression) '|' reduce using rule 313 (RelationalExpression) '?' reduce using rule 313 (RelationalExpression)
307 ShiftExpression → ShiftExpression • LTLT AdditiveExpression 308 | ShiftExpression • GTGT AdditiveExpression 309 | ShiftExpression • GTGTGT AdditiveExpression 314 RelationalExpression → RelationalExpression GTEQ ShiftExpression • [INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] LTLT shift, and go to state 380 GTGT shift, and go to state 381 GTGTGT shift, and go to state 382 INSTANCEOF reduce using rule 314 (RelationalExpression) LTEQ reduce using rule 314 (RelationalExpression) GTEQ reduce using rule 314 (RelationalExpression) EQEQ reduce using rule 314 (RelationalExpression) BANGEQ reduce using rule 314 (RelationalExpression) ANDAND reduce using rule 314 (RelationalExpression) OROR reduce using rule 314 (RelationalExpression) ']' reduce using rule 314 (RelationalExpression) ';' reduce using rule 314 (RelationalExpression) ',' reduce using rule 314 (RelationalExpression) '}' reduce using rule 314 (RelationalExpression) ')' reduce using rule 314 (RelationalExpression) ':' reduce using rule 314 (RelationalExpression) '<' reduce using rule 314 (RelationalExpression) '>' reduce using rule 314 (RelationalExpression) '&' reduce using rule 314 (RelationalExpression) '^' reduce using rule 314 (RelationalExpression) '|' reduce using rule 314 (RelationalExpression) '?' reduce using rule 314 (RelationalExpression)
307 ShiftExpression → ShiftExpression • LTLT AdditiveExpression 308 | ShiftExpression • GTGT AdditiveExpression 309 | ShiftExpression • GTGTGT AdditiveExpression 311 RelationalExpression → RelationalExpression '<' ShiftExpression • [INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] LTLT shift, and go to state 380 GTGT shift, and go to state 381 GTGTGT shift, and go to state 382 INSTANCEOF reduce using rule 311 (RelationalExpression) LTEQ reduce using rule 311 (RelationalExpression) GTEQ reduce using rule 311 (RelationalExpression) EQEQ reduce using rule 311 (RelationalExpression) BANGEQ reduce using rule 311 (RelationalExpression) ANDAND reduce using rule 311 (RelationalExpression) OROR reduce using rule 311 (RelationalExpression) ']' reduce using rule 311 (RelationalExpression) ';' reduce using rule 311 (RelationalExpression) ',' reduce using rule 311 (RelationalExpression) '}' reduce using rule 311 (RelationalExpression) ')' reduce using rule 311 (RelationalExpression) ':' reduce using rule 311 (RelationalExpression) '<' reduce using rule 311 (RelationalExpression) '>' reduce using rule 311 (RelationalExpression) '&' reduce using rule 311 (RelationalExpression) '^' reduce using rule 311 (RelationalExpression) '|' reduce using rule 311 (RelationalExpression) '?' reduce using rule 311 (RelationalExpression)
307 ShiftExpression → ShiftExpression • LTLT AdditiveExpression 308 | ShiftExpression • GTGT AdditiveExpression 309 | ShiftExpression • GTGTGT AdditiveExpression 312 RelationalExpression → RelationalExpression '>' ShiftExpression • [INSTANCEOF, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '<', '>', '&', '^', '|', '?'] LTLT shift, and go to state 380 GTGT shift, and go to state 381 GTGTGT shift, and go to state 382 INSTANCEOF reduce using rule 312 (RelationalExpression) LTEQ reduce using rule 312 (RelationalExpression) GTEQ reduce using rule 312 (RelationalExpression) EQEQ reduce using rule 312 (RelationalExpression) BANGEQ reduce using rule 312 (RelationalExpression) ANDAND reduce using rule 312 (RelationalExpression) OROR reduce using rule 312 (RelationalExpression) ']' reduce using rule 312 (RelationalExpression) ';' reduce using rule 312 (RelationalExpression) ',' reduce using rule 312 (RelationalExpression) '}' reduce using rule 312 (RelationalExpression) ')' reduce using rule 312 (RelationalExpression) ':' reduce using rule 312 (RelationalExpression) '<' reduce using rule 312 (RelationalExpression) '>' reduce using rule 312 (RelationalExpression) '&' reduce using rule 312 (RelationalExpression) '^' reduce using rule 312 (RelationalExpression) '|' reduce using rule 312 (RelationalExpression) '?' reduce using rule 312 (RelationalExpression)
311 RelationalExpression → RelationalExpression • '<' ShiftExpression 312 | RelationalExpression • '>' ShiftExpression 313 | RelationalExpression • LTEQ ShiftExpression 314 | RelationalExpression • GTEQ ShiftExpression 315 | RelationalExpression • INSTANCEOF ReferenceType 317 EqualityExpression → EqualityExpression EQEQ RelationalExpression • [EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '&', '^', '|', '?'] INSTANCEOF shift, and go to state 383 LTEQ shift, and go to state 384 GTEQ shift, and go to state 385 '<' shift, and go to state 386 '>' shift, and go to state 387 EQEQ reduce using rule 317 (EqualityExpression) BANGEQ reduce using rule 317 (EqualityExpression) ANDAND reduce using rule 317 (EqualityExpression) OROR reduce using rule 317 (EqualityExpression) ']' reduce using rule 317 (EqualityExpression) ';' reduce using rule 317 (EqualityExpression) ',' reduce using rule 317 (EqualityExpression) '}' reduce using rule 317 (EqualityExpression) ')' reduce using rule 317 (EqualityExpression) ':' reduce using rule 317 (EqualityExpression) '&' reduce using rule 317 (EqualityExpression) '^' reduce using rule 317 (EqualityExpression) '|' reduce using rule 317 (EqualityExpression) '?' reduce using rule 317 (EqualityExpression)
311 RelationalExpression → RelationalExpression • '<' ShiftExpression 312 | RelationalExpression • '>' ShiftExpression 313 | RelationalExpression • LTEQ ShiftExpression 314 | RelationalExpression • GTEQ ShiftExpression 315 | RelationalExpression • INSTANCEOF ReferenceType 318 EqualityExpression → EqualityExpression BANGEQ RelationalExpression • [EQEQ, BANGEQ, ANDAND, OROR, ']', ';', ',', '}', ')', ':', '&', '^', '|', '?'] INSTANCEOF shift, and go to state 383 LTEQ shift, and go to state 384 GTEQ shift, and go to state 385 '<' shift, and go to state 386 '>' shift, and go to state 387 EQEQ reduce using rule 318 (EqualityExpression) BANGEQ reduce using rule 318 (EqualityExpression) ANDAND reduce using rule 318 (EqualityExpression) OROR reduce using rule 318 (EqualityExpression) ']' reduce using rule 318 (EqualityExpression) ';' reduce using rule 318 (EqualityExpression) ',' reduce using rule 318 (EqualityExpression) '}' reduce using rule 318 (EqualityExpression) ')' reduce using rule 318 (EqualityExpression) ':' reduce using rule 318 (EqualityExpression) '&' reduce using rule 318 (EqualityExpression) '^' reduce using rule 318 (EqualityExpression) '|' reduce using rule 318 (EqualityExpression) '?' reduce using rule 318 (EqualityExpression)
317 EqualityExpression → EqualityExpression • EQEQ RelationalExpression 318 | EqualityExpression • BANGEQ RelationalExpression 320 AndExpression → AndExpression '&' EqualityExpression • [ANDAND, OROR, ']', ';', ',', '}', ')', ':', '&', '^', '|', '?'] EQEQ shift, and go to state 388 BANGEQ shift, and go to state 389 ANDAND reduce using rule 320 (AndExpression) OROR reduce using rule 320 (AndExpression) ']' reduce using rule 320 (AndExpression) ';' reduce using rule 320 (AndExpression) ',' reduce using rule 320 (AndExpression) '}' reduce using rule 320 (AndExpression) ')' reduce using rule 320 (AndExpression) ':' reduce using rule 320 (AndExpression) '&' reduce using rule 320 (AndExpression) '^' reduce using rule 320 (AndExpression) '|' reduce using rule 320 (AndExpression) '?' reduce using rule 320 (AndExpression)
320 AndExpression → AndExpression • '&' EqualityExpression 322 ExclusiveOrExpression → ExclusiveOrExpression '^' AndExpression • [ANDAND, OROR, ']', ';', ',', '}', ')', ':', '^', '|', '?'] '&' shift, and go to state 390 ANDAND reduce using rule 322 (ExclusiveOrExpression) OROR reduce using rule 322 (ExclusiveOrExpression) ']' reduce using rule 322 (ExclusiveOrExpression) ';' reduce using rule 322 (ExclusiveOrExpression) ',' reduce using rule 322 (ExclusiveOrExpression) '}' reduce using rule 322 (ExclusiveOrExpression) ')' reduce using rule 322 (ExclusiveOrExpression) ':' reduce using rule 322 (ExclusiveOrExpression) '^' reduce using rule 322 (ExclusiveOrExpression) '|' reduce using rule 322 (ExclusiveOrExpression) '?' reduce using rule 322 (ExclusiveOrExpression)
322 ExclusiveOrExpression → ExclusiveOrExpression • '^' AndExpression 324 InclusiveOrExpression → InclusiveOrExpression '|' ExclusiveOrExpression • [ANDAND, OROR, ']', ';', ',', '}', ')', ':', '|', '?'] '^' shift, and go to state 391 ANDAND reduce using rule 324 (InclusiveOrExpression) OROR reduce using rule 324 (InclusiveOrExpression) ']' reduce using rule 324 (InclusiveOrExpression) ';' reduce using rule 324 (InclusiveOrExpression) ',' reduce using rule 324 (InclusiveOrExpression) '}' reduce using rule 324 (InclusiveOrExpression) ')' reduce using rule 324 (InclusiveOrExpression) ':' reduce using rule 324 (InclusiveOrExpression) '|' reduce using rule 324 (InclusiveOrExpression) '?' reduce using rule 324 (InclusiveOrExpression)
324 InclusiveOrExpression → InclusiveOrExpression • '|' ExclusiveOrExpression 326 ConditionalAndExpression → ConditionalAndExpression ANDAND InclusiveOrExpression • [ANDAND, OROR, ']', ';', ',', '}', ')', ':', '?'] '|' shift, and go to state 392 ANDAND reduce using rule 326 (ConditionalAndExpression) OROR reduce using rule 326 (ConditionalAndExpression) ']' reduce using rule 326 (ConditionalAndExpression) ';' reduce using rule 326 (ConditionalAndExpression) ',' reduce using rule 326 (ConditionalAndExpression) '}' reduce using rule 326 (ConditionalAndExpression) ')' reduce using rule 326 (ConditionalAndExpression) ':' reduce using rule 326 (ConditionalAndExpression) '?' reduce using rule 326 (ConditionalAndExpression)
326 ConditionalAndExpression → ConditionalAndExpression • ANDAND InclusiveOrExpression 328 ConditionalOrExpression → ConditionalOrExpression OROR ConditionalAndExpression • [OROR, ']', ';', ',', '}', ')', ':', '?'] ANDAND shift, and go to state 393 OROR reduce using rule 328 (ConditionalOrExpression) ']' reduce using rule 328 (ConditionalOrExpression) ';' reduce using rule 328 (ConditionalOrExpression) ',' reduce using rule 328 (ConditionalOrExpression) '}' reduce using rule 328 (ConditionalOrExpression) ')' reduce using rule 328 (ConditionalOrExpression) ':' reduce using rule 328 (ConditionalOrExpression) '?' reduce using rule 328 (ConditionalOrExpression)
330 ConditionalExpression → ConditionalOrExpression '?' Expression • ':' ConditionalExpression ':' shift, and go to state 520
8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 110 FormalParameter → • Type VariableDeclaratorId 244 CatchClause → CATCH '(' • FormalParameter ')' Block Identifier shift, and go to state 29 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 Type go to state 235 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 89 SimpleName go to state 31 QualifiedName go to state 32 FormalParameter go to state 521
245 Finally → FINALLY Block • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 245 (Finally) IntegerLiteral reduce using rule 245 (Finally) FloatingPointLiteral reduce using rule 245 (Finally) BooleanLiteral reduce using rule 245 (Finally) CharacterLiteral reduce using rule 245 (Finally) StringLiteral reduce using rule 245 (Finally) NullLiteral reduce using rule 245 (Finally) BOOLEAN reduce using rule 245 (Finally) BYTE reduce using rule 245 (Finally) SHORT reduce using rule 245 (Finally) INT reduce using rule 245 (Finally) LONG reduce using rule 245 (Finally) CHAR reduce using rule 245 (Finally) FLOAT reduce using rule 245 (Finally) DOUBLE reduce using rule 245 (Finally) SYNCHRONIZED reduce using rule 245 (Finally) THIS reduce using rule 245 (Finally) SUPER reduce using rule 245 (Finally) IF reduce using rule 245 (Finally) ELSE reduce using rule 245 (Finally) SWITCH reduce using rule 245 (Finally) CASE reduce using rule 245 (Finally) DEFAULT reduce using rule 245 (Finally) WHILE reduce using rule 245 (Finally) DO reduce using rule 245 (Finally) FOR reduce using rule 245 (Finally) BREAK reduce using rule 245 (Finally) CONTINUE reduce using rule 245 (Finally) RETURN reduce using rule 245 (Finally) THROW reduce using rule 245 (Finally) TRY reduce using rule 245 (Finally) NEW reduce using rule 245 (Finally) PLUSPLUS reduce using rule 245 (Finally) MINUSMINUS reduce using rule 245 (Finally) ';' reduce using rule 245 (Finally) '{' reduce using rule 245 (Finally) '}' reduce using rule 245 (Finally) '(' reduce using rule 245 (Finally)
243 Catches → Catches CatchClause • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, CATCH, FINALLY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 243 (Catches) IntegerLiteral reduce using rule 243 (Catches) FloatingPointLiteral reduce using rule 243 (Catches) BooleanLiteral reduce using rule 243 (Catches) CharacterLiteral reduce using rule 243 (Catches) StringLiteral reduce using rule 243 (Catches) NullLiteral reduce using rule 243 (Catches) BOOLEAN reduce using rule 243 (Catches) BYTE reduce using rule 243 (Catches) SHORT reduce using rule 243 (Catches) INT reduce using rule 243 (Catches) LONG reduce using rule 243 (Catches) CHAR reduce using rule 243 (Catches) FLOAT reduce using rule 243 (Catches) DOUBLE reduce using rule 243 (Catches) SYNCHRONIZED reduce using rule 243 (Catches) THIS reduce using rule 243 (Catches) SUPER reduce using rule 243 (Catches) IF reduce using rule 243 (Catches) ELSE reduce using rule 243 (Catches) SWITCH reduce using rule 243 (Catches) CASE reduce using rule 243 (Catches) DEFAULT reduce using rule 243 (Catches) WHILE reduce using rule 243 (Catches) DO reduce using rule 243 (Catches) FOR reduce using rule 243 (Catches) BREAK reduce using rule 243 (Catches) CONTINUE reduce using rule 243 (Catches) RETURN reduce using rule 243 (Catches) THROW reduce using rule 243 (Catches) TRY reduce using rule 243 (Catches) CATCH reduce using rule 243 (Catches) FINALLY reduce using rule 243 (Catches) NEW reduce using rule 243 (Catches) PLUSPLUS reduce using rule 243 (Catches) MINUSMINUS reduce using rule 243 (Catches) ';' reduce using rule 243 (Catches) '{' reduce using rule 243 (Catches) '}' reduce using rule 243 (Catches) '(' reduce using rule 243 (Catches)
240 TryStatement → TRY Block Catches Finally • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 240 (TryStatement) IntegerLiteral reduce using rule 240 (TryStatement) FloatingPointLiteral reduce using rule 240 (TryStatement) BooleanLiteral reduce using rule 240 (TryStatement) CharacterLiteral reduce using rule 240 (TryStatement) StringLiteral reduce using rule 240 (TryStatement) NullLiteral reduce using rule 240 (TryStatement) BOOLEAN reduce using rule 240 (TryStatement) BYTE reduce using rule 240 (TryStatement) SHORT reduce using rule 240 (TryStatement) INT reduce using rule 240 (TryStatement) LONG reduce using rule 240 (TryStatement) CHAR reduce using rule 240 (TryStatement) FLOAT reduce using rule 240 (TryStatement) DOUBLE reduce using rule 240 (TryStatement) SYNCHRONIZED reduce using rule 240 (TryStatement) THIS reduce using rule 240 (TryStatement) SUPER reduce using rule 240 (TryStatement) IF reduce using rule 240 (TryStatement) ELSE reduce using rule 240 (TryStatement) SWITCH reduce using rule 240 (TryStatement) CASE reduce using rule 240 (TryStatement) DEFAULT reduce using rule 240 (TryStatement) WHILE reduce using rule 240 (TryStatement) DO reduce using rule 240 (TryStatement) FOR reduce using rule 240 (TryStatement) BREAK reduce using rule 240 (TryStatement) CONTINUE reduce using rule 240 (TryStatement) RETURN reduce using rule 240 (TryStatement) THROW reduce using rule 240 (TryStatement) TRY reduce using rule 240 (TryStatement) NEW reduce using rule 240 (TryStatement) PLUSPLUS reduce using rule 240 (TryStatement) MINUSMINUS reduce using rule 240 (TryStatement) ';' reduce using rule 240 (TryStatement) '{' reduce using rule 240 (TryStatement) '}' reduce using rule 240 (TryStatement) '(' reduce using rule 240 (TryStatement)
265 DimExpr → '[' Expression • ']' ']' shift, and go to state 522
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 265 DimExpr → '[' • Expression ']' 266 Dims → '[' • ']' 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ']' shift, and go to state 514 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 470
264 DimExprs → DimExprs DimExpr • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 264 (DimExprs) PLUSPLUS reduce using rule 264 (DimExprs) MINUSMINUS reduce using rule 264 (DimExprs) LTLT reduce using rule 264 (DimExprs) GTGT reduce using rule 264 (DimExprs) GTGTGT reduce using rule 264 (DimExprs) LTEQ reduce using rule 264 (DimExprs) GTEQ reduce using rule 264 (DimExprs) EQEQ reduce using rule 264 (DimExprs) BANGEQ reduce using rule 264 (DimExprs) ANDAND reduce using rule 264 (DimExprs) OROR reduce using rule 264 (DimExprs) '[' reduce using rule 264 (DimExprs) ']' reduce using rule 264 (DimExprs) '.' reduce using rule 264 (DimExprs) ';' reduce using rule 264 (DimExprs) '*' reduce using rule 264 (DimExprs) ',' reduce using rule 264 (DimExprs) '}' reduce using rule 264 (DimExprs) ')' reduce using rule 264 (DimExprs) ':' reduce using rule 264 (DimExprs) '+' reduce using rule 264 (DimExprs) '-' reduce using rule 264 (DimExprs) '/' reduce using rule 264 (DimExprs) '%' reduce using rule 264 (DimExprs) '<' reduce using rule 264 (DimExprs) '>' reduce using rule 264 (DimExprs) '&' reduce using rule 264 (DimExprs) '^' reduce using rule 264 (DimExprs) '|' reduce using rule 264 (DimExprs) '?' reduce using rule 264 (DimExprs)
259 ArrayCreationExpression → NEW PrimitiveType DimExprs Dims • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 267 Dims → Dims • '[' ']' '[' shift, and go to state 516 INSTANCEOF reduce using rule 259 (ArrayCreationExpression) PLUSPLUS reduce using rule 259 (ArrayCreationExpression) MINUSMINUS reduce using rule 259 (ArrayCreationExpression) LTLT reduce using rule 259 (ArrayCreationExpression) GTGT reduce using rule 259 (ArrayCreationExpression) GTGTGT reduce using rule 259 (ArrayCreationExpression) LTEQ reduce using rule 259 (ArrayCreationExpression) GTEQ reduce using rule 259 (ArrayCreationExpression) EQEQ reduce using rule 259 (ArrayCreationExpression) BANGEQ reduce using rule 259 (ArrayCreationExpression) ANDAND reduce using rule 259 (ArrayCreationExpression) OROR reduce using rule 259 (ArrayCreationExpression) ']' reduce using rule 259 (ArrayCreationExpression) '.' reduce using rule 259 (ArrayCreationExpression) ';' reduce using rule 259 (ArrayCreationExpression) '*' reduce using rule 259 (ArrayCreationExpression) ',' reduce using rule 259 (ArrayCreationExpression) '}' reduce using rule 259 (ArrayCreationExpression) ')' reduce using rule 259 (ArrayCreationExpression) ':' reduce using rule 259 (ArrayCreationExpression) '+' reduce using rule 259 (ArrayCreationExpression) '-' reduce using rule 259 (ArrayCreationExpression) '/' reduce using rule 259 (ArrayCreationExpression) '%' reduce using rule 259 (ArrayCreationExpression) '<' reduce using rule 259 (ArrayCreationExpression) '>' reduce using rule 259 (ArrayCreationExpression) '&' reduce using rule 259 (ArrayCreationExpression) '^' reduce using rule 259 (ArrayCreationExpression) '|' reduce using rule 259 (ArrayCreationExpression) '?' reduce using rule 259 (ArrayCreationExpression)
261 ArrayCreationExpression → NEW ClassOrInterfaceType DimExprs Dims • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] 267 Dims → Dims • '[' ']' '[' shift, and go to state 516 INSTANCEOF reduce using rule 261 (ArrayCreationExpression) PLUSPLUS reduce using rule 261 (ArrayCreationExpression) MINUSMINUS reduce using rule 261 (ArrayCreationExpression) LTLT reduce using rule 261 (ArrayCreationExpression) GTGT reduce using rule 261 (ArrayCreationExpression) GTGTGT reduce using rule 261 (ArrayCreationExpression) LTEQ reduce using rule 261 (ArrayCreationExpression) GTEQ reduce using rule 261 (ArrayCreationExpression) EQEQ reduce using rule 261 (ArrayCreationExpression) BANGEQ reduce using rule 261 (ArrayCreationExpression) ANDAND reduce using rule 261 (ArrayCreationExpression) OROR reduce using rule 261 (ArrayCreationExpression) ']' reduce using rule 261 (ArrayCreationExpression) '.' reduce using rule 261 (ArrayCreationExpression) ';' reduce using rule 261 (ArrayCreationExpression) '*' reduce using rule 261 (ArrayCreationExpression) ',' reduce using rule 261 (ArrayCreationExpression) '}' reduce using rule 261 (ArrayCreationExpression) ')' reduce using rule 261 (ArrayCreationExpression) ':' reduce using rule 261 (ArrayCreationExpression) '+' reduce using rule 261 (ArrayCreationExpression) '-' reduce using rule 261 (ArrayCreationExpression) '/' reduce using rule 261 (ArrayCreationExpression) '%' reduce using rule 261 (ArrayCreationExpression) '<' reduce using rule 261 (ArrayCreationExpression) '>' reduce using rule 261 (ArrayCreationExpression) '&' reduce using rule 261 (ArrayCreationExpression) '^' reduce using rule 261 (ArrayCreationExpression) '|' reduce using rule 261 (ArrayCreationExpression) '?' reduce using rule 261 (ArrayCreationExpression)
256 ClassInstanceCreationExpression → NEW ClassType '(' ')' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 256 (ClassInstanceCreationExpression) PLUSPLUS reduce using rule 256 (ClassInstanceCreationExpression) MINUSMINUS reduce using rule 256 (ClassInstanceCreationExpression) LTLT reduce using rule 256 (ClassInstanceCreationExpression) GTGT reduce using rule 256 (ClassInstanceCreationExpression) GTGTGT reduce using rule 256 (ClassInstanceCreationExpression) LTEQ reduce using rule 256 (ClassInstanceCreationExpression) GTEQ reduce using rule 256 (ClassInstanceCreationExpression) EQEQ reduce using rule 256 (ClassInstanceCreationExpression) BANGEQ reduce using rule 256 (ClassInstanceCreationExpression) ANDAND reduce using rule 256 (ClassInstanceCreationExpression) OROR reduce using rule 256 (ClassInstanceCreationExpression) '[' reduce using rule 256 (ClassInstanceCreationExpression) ']' reduce using rule 256 (ClassInstanceCreationExpression) '.' reduce using rule 256 (ClassInstanceCreationExpression) ';' reduce using rule 256 (ClassInstanceCreationExpression) '*' reduce using rule 256 (ClassInstanceCreationExpression) ',' reduce using rule 256 (ClassInstanceCreationExpression) '}' reduce using rule 256 (ClassInstanceCreationExpression) ')' reduce using rule 256 (ClassInstanceCreationExpression) ':' reduce using rule 256 (ClassInstanceCreationExpression) '+' reduce using rule 256 (ClassInstanceCreationExpression) '-' reduce using rule 256 (ClassInstanceCreationExpression) '/' reduce using rule 256 (ClassInstanceCreationExpression) '%' reduce using rule 256 (ClassInstanceCreationExpression) '<' reduce using rule 256 (ClassInstanceCreationExpression) '>' reduce using rule 256 (ClassInstanceCreationExpression) '&' reduce using rule 256 (ClassInstanceCreationExpression) '^' reduce using rule 256 (ClassInstanceCreationExpression) '|' reduce using rule 256 (ClassInstanceCreationExpression) '?' reduce using rule 256 (ClassInstanceCreationExpression)
255 ClassInstanceCreationExpression → NEW ClassType '(' ArgumentList • ')' 258 ArgumentList → ArgumentList • ',' Expression ',' shift, and go to state 478 ')' shift, and go to state 523
276 ArrayAccess → Name '[' Expression ']' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', ']', '.', ';', '*', ',', '}', '=', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 276 (ArrayAccess) PLUSPLUS reduce using rule 276 (ArrayAccess) MINUSMINUS reduce using rule 276 (ArrayAccess) LTLT reduce using rule 276 (ArrayAccess) GTGT reduce using rule 276 (ArrayAccess) GTGTGT reduce using rule 276 (ArrayAccess) LTEQ reduce using rule 276 (ArrayAccess) GTEQ reduce using rule 276 (ArrayAccess) EQEQ reduce using rule 276 (ArrayAccess) BANGEQ reduce using rule 276 (ArrayAccess) ANDAND reduce using rule 276 (ArrayAccess) OROR reduce using rule 276 (ArrayAccess) TIMESEQ reduce using rule 276 (ArrayAccess) DIVEQ reduce using rule 276 (ArrayAccess) MODEQ reduce using rule 276 (ArrayAccess) PLUSEQ reduce using rule 276 (ArrayAccess) MINUSEQ reduce using rule 276 (ArrayAccess) LTLTEQ reduce using rule 276 (ArrayAccess) GTGTEQ reduce using rule 276 (ArrayAccess) GTGTGTEQ reduce using rule 276 (ArrayAccess) ANDEQ reduce using rule 276 (ArrayAccess) XOREQ reduce using rule 276 (ArrayAccess) OREQ reduce using rule 276 (ArrayAccess) '[' reduce using rule 276 (ArrayAccess) ']' reduce using rule 276 (ArrayAccess) '.' reduce using rule 276 (ArrayAccess) ';' reduce using rule 276 (ArrayAccess) '*' reduce using rule 276 (ArrayAccess) ',' reduce using rule 276 (ArrayAccess) '}' reduce using rule 276 (ArrayAccess) '=' reduce using rule 276 (ArrayAccess) ')' reduce using rule 276 (ArrayAccess) ':' reduce using rule 276 (ArrayAccess) '+' reduce using rule 276 (ArrayAccess) '-' reduce using rule 276 (ArrayAccess) '/' reduce using rule 276 (ArrayAccess) '%' reduce using rule 276 (ArrayAccess) '<' reduce using rule 276 (ArrayAccess) '>' reduce using rule 276 (ArrayAccess) '&' reduce using rule 276 (ArrayAccess) '^' reduce using rule 276 (ArrayAccess) '|' reduce using rule 276 (ArrayAccess) '?' reduce using rule 276 (ArrayAccess)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 258 ArgumentList → ArgumentList ',' • Expression 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 524
270 MethodInvocation → Name '(' ArgumentList ')' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 270 (MethodInvocation) PLUSPLUS reduce using rule 270 (MethodInvocation) MINUSMINUS reduce using rule 270 (MethodInvocation) LTLT reduce using rule 270 (MethodInvocation) GTGT reduce using rule 270 (MethodInvocation) GTGTGT reduce using rule 270 (MethodInvocation) LTEQ reduce using rule 270 (MethodInvocation) GTEQ reduce using rule 270 (MethodInvocation) EQEQ reduce using rule 270 (MethodInvocation) BANGEQ reduce using rule 270 (MethodInvocation) ANDAND reduce using rule 270 (MethodInvocation) OROR reduce using rule 270 (MethodInvocation) '[' reduce using rule 270 (MethodInvocation) ']' reduce using rule 270 (MethodInvocation) '.' reduce using rule 270 (MethodInvocation) ';' reduce using rule 270 (MethodInvocation) '*' reduce using rule 270 (MethodInvocation) ',' reduce using rule 270 (MethodInvocation) '}' reduce using rule 270 (MethodInvocation) ')' reduce using rule 270 (MethodInvocation) ':' reduce using rule 270 (MethodInvocation) '+' reduce using rule 270 (MethodInvocation) '-' reduce using rule 270 (MethodInvocation) '/' reduce using rule 270 (MethodInvocation) '%' reduce using rule 270 (MethodInvocation) '<' reduce using rule 270 (MethodInvocation) '>' reduce using rule 270 (MethodInvocation) '&' reduce using rule 270 (MethodInvocation) '^' reduce using rule 270 (MethodInvocation) '|' reduce using rule 270 (MethodInvocation) '?' reduce using rule 270 (MethodInvocation)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 257 ArgumentList → • Expression 258 | • ArgumentList ',' Expression 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 272 | Primary '.' Identifier '(' • ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 273 | Primary '.' Identifier '(' • ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 ')' shift, and go to state 525 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArgumentList go to state 526 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 412
277 ArrayAccess → PrimaryNoNewArray '[' Expression ']' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', ']', '.', ';', '*', ',', '}', '=', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 277 (ArrayAccess) PLUSPLUS reduce using rule 277 (ArrayAccess) MINUSMINUS reduce using rule 277 (ArrayAccess) LTLT reduce using rule 277 (ArrayAccess) GTGT reduce using rule 277 (ArrayAccess) GTGTGT reduce using rule 277 (ArrayAccess) LTEQ reduce using rule 277 (ArrayAccess) GTEQ reduce using rule 277 (ArrayAccess) EQEQ reduce using rule 277 (ArrayAccess) BANGEQ reduce using rule 277 (ArrayAccess) ANDAND reduce using rule 277 (ArrayAccess) OROR reduce using rule 277 (ArrayAccess) TIMESEQ reduce using rule 277 (ArrayAccess) DIVEQ reduce using rule 277 (ArrayAccess) MODEQ reduce using rule 277 (ArrayAccess) PLUSEQ reduce using rule 277 (ArrayAccess) MINUSEQ reduce using rule 277 (ArrayAccess) LTLTEQ reduce using rule 277 (ArrayAccess) GTGTEQ reduce using rule 277 (ArrayAccess) GTGTGTEQ reduce using rule 277 (ArrayAccess) ANDEQ reduce using rule 277 (ArrayAccess) XOREQ reduce using rule 277 (ArrayAccess) OREQ reduce using rule 277 (ArrayAccess) '[' reduce using rule 277 (ArrayAccess) ']' reduce using rule 277 (ArrayAccess) '.' reduce using rule 277 (ArrayAccess) ';' reduce using rule 277 (ArrayAccess) '*' reduce using rule 277 (ArrayAccess) ',' reduce using rule 277 (ArrayAccess) '}' reduce using rule 277 (ArrayAccess) '=' reduce using rule 277 (ArrayAccess) ')' reduce using rule 277 (ArrayAccess) ':' reduce using rule 277 (ArrayAccess) '+' reduce using rule 277 (ArrayAccess) '-' reduce using rule 277 (ArrayAccess) '/' reduce using rule 277 (ArrayAccess) '%' reduce using rule 277 (ArrayAccess) '<' reduce using rule 277 (ArrayAccess) '>' reduce using rule 277 (ArrayAccess) '&' reduce using rule 277 (ArrayAccess) '^' reduce using rule 277 (ArrayAccess) '|' reduce using rule 277 (ArrayAccess) '?' reduce using rule 277 (ArrayAccess)
147 ArrayInitializer → '{' ',' '}' • [';', ',', '}'] ';' reduce using rule 147 (ArrayInitializer) ',' reduce using rule 147 (ArrayInitializer) '}' reduce using rule 147 (ArrayInitializer)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 94 VariableInitializer → • Expression 95 | • ArrayInitializer 145 ArrayInitializer → • '{' VariableInitializers ',' '}' 145 | '{' VariableInitializers ',' • '}' 146 | • '{' VariableInitializers '}' 147 | • '{' ',' '}' 148 | • '{' '}' 150 VariableInitializers → VariableInitializers ',' • VariableInitializer 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '{' shift, and go to state 336 '}' shift, and go to state 527 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 VariableInitializer go to state 528 ArrayInitializer go to state 338 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 339
146 ArrayInitializer → '{' VariableInitializers '}' • [';', ',', '}'] ';' reduce using rule 146 (ArrayInitializer) ',' reduce using rule 146 (ArrayInitializer) '}' reduce using rule 146 (ArrayInitializer)
128 ExplicitConstructorInvocation → THIS '(' ')' ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 128 (ExplicitConstructorInvocation) IntegerLiteral reduce using rule 128 (ExplicitConstructorInvocation) FloatingPointLiteral reduce using rule 128 (ExplicitConstructorInvocation) BooleanLiteral reduce using rule 128 (ExplicitConstructorInvocation) CharacterLiteral reduce using rule 128 (ExplicitConstructorInvocation) StringLiteral reduce using rule 128 (ExplicitConstructorInvocation) NullLiteral reduce using rule 128 (ExplicitConstructorInvocation) BOOLEAN reduce using rule 128 (ExplicitConstructorInvocation) BYTE reduce using rule 128 (ExplicitConstructorInvocation) SHORT reduce using rule 128 (ExplicitConstructorInvocation) INT reduce using rule 128 (ExplicitConstructorInvocation) LONG reduce using rule 128 (ExplicitConstructorInvocation) CHAR reduce using rule 128 (ExplicitConstructorInvocation) FLOAT reduce using rule 128 (ExplicitConstructorInvocation) DOUBLE reduce using rule 128 (ExplicitConstructorInvocation) SYNCHRONIZED reduce using rule 128 (ExplicitConstructorInvocation) THIS reduce using rule 128 (ExplicitConstructorInvocation) SUPER reduce using rule 128 (ExplicitConstructorInvocation) IF reduce using rule 128 (ExplicitConstructorInvocation) SWITCH reduce using rule 128 (ExplicitConstructorInvocation) WHILE reduce using rule 128 (ExplicitConstructorInvocation) DO reduce using rule 128 (ExplicitConstructorInvocation) FOR reduce using rule 128 (ExplicitConstructorInvocation) BREAK reduce using rule 128 (ExplicitConstructorInvocation) CONTINUE reduce using rule 128 (ExplicitConstructorInvocation) RETURN reduce using rule 128 (ExplicitConstructorInvocation) THROW reduce using rule 128 (ExplicitConstructorInvocation) TRY reduce using rule 128 (ExplicitConstructorInvocation) NEW reduce using rule 128 (ExplicitConstructorInvocation) PLUSPLUS reduce using rule 128 (ExplicitConstructorInvocation) MINUSMINUS reduce using rule 128 (ExplicitConstructorInvocation) ';' reduce using rule 128 (ExplicitConstructorInvocation) '{' reduce using rule 128 (ExplicitConstructorInvocation) '}' reduce using rule 128 (ExplicitConstructorInvocation) '(' reduce using rule 128 (ExplicitConstructorInvocation)
127 ExplicitConstructorInvocation → THIS '(' ArgumentList ')' • ';' ';' shift, and go to state 529
130 ExplicitConstructorInvocation → SUPER '(' ')' ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 130 (ExplicitConstructorInvocation) IntegerLiteral reduce using rule 130 (ExplicitConstructorInvocation) FloatingPointLiteral reduce using rule 130 (ExplicitConstructorInvocation) BooleanLiteral reduce using rule 130 (ExplicitConstructorInvocation) CharacterLiteral reduce using rule 130 (ExplicitConstructorInvocation) StringLiteral reduce using rule 130 (ExplicitConstructorInvocation) NullLiteral reduce using rule 130 (ExplicitConstructorInvocation) BOOLEAN reduce using rule 130 (ExplicitConstructorInvocation) BYTE reduce using rule 130 (ExplicitConstructorInvocation) SHORT reduce using rule 130 (ExplicitConstructorInvocation) INT reduce using rule 130 (ExplicitConstructorInvocation) LONG reduce using rule 130 (ExplicitConstructorInvocation) CHAR reduce using rule 130 (ExplicitConstructorInvocation) FLOAT reduce using rule 130 (ExplicitConstructorInvocation) DOUBLE reduce using rule 130 (ExplicitConstructorInvocation) SYNCHRONIZED reduce using rule 130 (ExplicitConstructorInvocation) THIS reduce using rule 130 (ExplicitConstructorInvocation) SUPER reduce using rule 130 (ExplicitConstructorInvocation) IF reduce using rule 130 (ExplicitConstructorInvocation) SWITCH reduce using rule 130 (ExplicitConstructorInvocation) WHILE reduce using rule 130 (ExplicitConstructorInvocation) DO reduce using rule 130 (ExplicitConstructorInvocation) FOR reduce using rule 130 (ExplicitConstructorInvocation) BREAK reduce using rule 130 (ExplicitConstructorInvocation) CONTINUE reduce using rule 130 (ExplicitConstructorInvocation) RETURN reduce using rule 130 (ExplicitConstructorInvocation) THROW reduce using rule 130 (ExplicitConstructorInvocation) TRY reduce using rule 130 (ExplicitConstructorInvocation) NEW reduce using rule 130 (ExplicitConstructorInvocation) PLUSPLUS reduce using rule 130 (ExplicitConstructorInvocation) MINUSMINUS reduce using rule 130 (ExplicitConstructorInvocation) ';' reduce using rule 130 (ExplicitConstructorInvocation) '{' reduce using rule 130 (ExplicitConstructorInvocation) '}' reduce using rule 130 (ExplicitConstructorInvocation) '(' reduce using rule 130 (ExplicitConstructorInvocation)
129 ExplicitConstructorInvocation → SUPER '(' ArgumentList ')' • ';' ';' shift, and go to state 530
238 SynchronizedStatement → SYNCHRONIZED '(' Expression ')' Block • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 238 (SynchronizedStatement) IntegerLiteral reduce using rule 238 (SynchronizedStatement) FloatingPointLiteral reduce using rule 238 (SynchronizedStatement) BooleanLiteral reduce using rule 238 (SynchronizedStatement) CharacterLiteral reduce using rule 238 (SynchronizedStatement) StringLiteral reduce using rule 238 (SynchronizedStatement) NullLiteral reduce using rule 238 (SynchronizedStatement) BOOLEAN reduce using rule 238 (SynchronizedStatement) BYTE reduce using rule 238 (SynchronizedStatement) SHORT reduce using rule 238 (SynchronizedStatement) INT reduce using rule 238 (SynchronizedStatement) LONG reduce using rule 238 (SynchronizedStatement) CHAR reduce using rule 238 (SynchronizedStatement) FLOAT reduce using rule 238 (SynchronizedStatement) DOUBLE reduce using rule 238 (SynchronizedStatement) SYNCHRONIZED reduce using rule 238 (SynchronizedStatement) THIS reduce using rule 238 (SynchronizedStatement) SUPER reduce using rule 238 (SynchronizedStatement) IF reduce using rule 238 (SynchronizedStatement) ELSE reduce using rule 238 (SynchronizedStatement) SWITCH reduce using rule 238 (SynchronizedStatement) CASE reduce using rule 238 (SynchronizedStatement) DEFAULT reduce using rule 238 (SynchronizedStatement) WHILE reduce using rule 238 (SynchronizedStatement) DO reduce using rule 238 (SynchronizedStatement) FOR reduce using rule 238 (SynchronizedStatement) BREAK reduce using rule 238 (SynchronizedStatement) CONTINUE reduce using rule 238 (SynchronizedStatement) RETURN reduce using rule 238 (SynchronizedStatement) THROW reduce using rule 238 (SynchronizedStatement) TRY reduce using rule 238 (SynchronizedStatement) NEW reduce using rule 238 (SynchronizedStatement) PLUSPLUS reduce using rule 238 (SynchronizedStatement) MINUSMINUS reduce using rule 238 (SynchronizedStatement) ';' reduce using rule 238 (SynchronizedStatement) '{' reduce using rule 238 (SynchronizedStatement) '}' reduce using rule 238 (SynchronizedStatement) '(' reduce using rule 238 (SynchronizedStatement)
275 MethodInvocation → SUPER '.' Identifier '(' ')' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 275 (MethodInvocation) PLUSPLUS reduce using rule 275 (MethodInvocation) MINUSMINUS reduce using rule 275 (MethodInvocation) LTLT reduce using rule 275 (MethodInvocation) GTGT reduce using rule 275 (MethodInvocation) GTGTGT reduce using rule 275 (MethodInvocation) LTEQ reduce using rule 275 (MethodInvocation) GTEQ reduce using rule 275 (MethodInvocation) EQEQ reduce using rule 275 (MethodInvocation) BANGEQ reduce using rule 275 (MethodInvocation) ANDAND reduce using rule 275 (MethodInvocation) OROR reduce using rule 275 (MethodInvocation) '[' reduce using rule 275 (MethodInvocation) ']' reduce using rule 275 (MethodInvocation) '.' reduce using rule 275 (MethodInvocation) ';' reduce using rule 275 (MethodInvocation) '*' reduce using rule 275 (MethodInvocation) ',' reduce using rule 275 (MethodInvocation) '}' reduce using rule 275 (MethodInvocation) ')' reduce using rule 275 (MethodInvocation) ':' reduce using rule 275 (MethodInvocation) '+' reduce using rule 275 (MethodInvocation) '-' reduce using rule 275 (MethodInvocation) '/' reduce using rule 275 (MethodInvocation) '%' reduce using rule 275 (MethodInvocation) '<' reduce using rule 275 (MethodInvocation) '>' reduce using rule 275 (MethodInvocation) '&' reduce using rule 275 (MethodInvocation) '^' reduce using rule 275 (MethodInvocation) '|' reduce using rule 275 (MethodInvocation) '?' reduce using rule 275 (MethodInvocation)
258 ArgumentList → ArgumentList • ',' Expression 274 MethodInvocation → SUPER '.' Identifier '(' ArgumentList • ')' ',' shift, and go to state 478 ')' shift, and go to state 531
31 SimpleName → Identifier • [PLUSPLUS, MINUSMINUS, TIMESEQ, DIVEQ, MODEQ, PLUSEQ, MINUSEQ, LTLTEQ, GTGTEQ, GTGTGTEQ, ANDEQ, XOREQ, OREQ, '[', '.', '=', '('] 182 LabeledStatement → Identifier • ':' Statement 183 LabeledStatementNoShortIf → Identifier • ':' StatementNoShortIf ':' shift, and go to state 532 PLUSPLUS reduce using rule 31 (SimpleName) MINUSMINUS reduce using rule 31 (SimpleName) TIMESEQ reduce using rule 31 (SimpleName) DIVEQ reduce using rule 31 (SimpleName) MODEQ reduce using rule 31 (SimpleName) PLUSEQ reduce using rule 31 (SimpleName) MINUSEQ reduce using rule 31 (SimpleName) LTLTEQ reduce using rule 31 (SimpleName) GTGTEQ reduce using rule 31 (SimpleName) GTGTGTEQ reduce using rule 31 (SimpleName) ANDEQ reduce using rule 31 (SimpleName) XOREQ reduce using rule 31 (SimpleName) OREQ reduce using rule 31 (SimpleName) '[' reduce using rule 31 (SimpleName) '.' reduce using rule 31 (SimpleName) '=' reduce using rule 31 (SimpleName) '(' reduce using rule 31 (SimpleName)
192 IfThenStatement → IF • '(' Expression ')' Statement 193 IfThenElseStatement → IF • '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → IF • '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf '(' shift, and go to state 533
207 WhileStatement → WHILE • '(' Expression ')' Statement 208 WhileStatementNoShortIf → WHILE • '(' Expression ')' StatementNoShortIf '(' shift, and go to state 534
210 ForStatement → FOR • '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | FOR • '(' ForInit ';' Expression ';' ')' Statement 212 | FOR • '(' ForInit ';' ';' ForUpdate ')' Statement 213 | FOR • '(' ForInit ';' ';' ')' Statement 214 | FOR • '(' ';' Expression ';' ForUpdate ')' Statement 215 | FOR • '(' ';' Expression ';' ')' Statement 216 | FOR • '(' ';' ';' ForUpdate ')' Statement 217 | FOR • '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → FOR • '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | FOR • '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | FOR • '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | FOR • '(' ForInit ';' ';' ')' StatementNoShortIf 222 | FOR • '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | FOR • '(' ';' Expression ';' ')' StatementNoShortIf 224 | FOR • '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | FOR • '(' ';' ';' ')' StatementNoShortIf '(' shift, and go to state 535
192 IfThenStatement → IF '(' Expression ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 192 (IfThenStatement) IntegerLiteral reduce using rule 192 (IfThenStatement) FloatingPointLiteral reduce using rule 192 (IfThenStatement) BooleanLiteral reduce using rule 192 (IfThenStatement) CharacterLiteral reduce using rule 192 (IfThenStatement) StringLiteral reduce using rule 192 (IfThenStatement) NullLiteral reduce using rule 192 (IfThenStatement) BOOLEAN reduce using rule 192 (IfThenStatement) BYTE reduce using rule 192 (IfThenStatement) SHORT reduce using rule 192 (IfThenStatement) INT reduce using rule 192 (IfThenStatement) LONG reduce using rule 192 (IfThenStatement) CHAR reduce using rule 192 (IfThenStatement) FLOAT reduce using rule 192 (IfThenStatement) DOUBLE reduce using rule 192 (IfThenStatement) SYNCHRONIZED reduce using rule 192 (IfThenStatement) THIS reduce using rule 192 (IfThenStatement) SUPER reduce using rule 192 (IfThenStatement) IF reduce using rule 192 (IfThenStatement) SWITCH reduce using rule 192 (IfThenStatement) CASE reduce using rule 192 (IfThenStatement) DEFAULT reduce using rule 192 (IfThenStatement) WHILE reduce using rule 192 (IfThenStatement) DO reduce using rule 192 (IfThenStatement) FOR reduce using rule 192 (IfThenStatement) BREAK reduce using rule 192 (IfThenStatement) CONTINUE reduce using rule 192 (IfThenStatement) RETURN reduce using rule 192 (IfThenStatement) THROW reduce using rule 192 (IfThenStatement) TRY reduce using rule 192 (IfThenStatement) NEW reduce using rule 192 (IfThenStatement) PLUSPLUS reduce using rule 192 (IfThenStatement) MINUSMINUS reduce using rule 192 (IfThenStatement) ';' reduce using rule 192 (IfThenStatement) '{' reduce using rule 192 (IfThenStatement) '}' reduce using rule 192 (IfThenStatement) '(' reduce using rule 192 (IfThenStatement)
193 IfThenElseStatement → IF '(' Expression ')' StatementNoShortIf • ELSE Statement ELSE shift, and go to state 536
159 Statement → StatementWithoutTrailingSubstatement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] 165 StatementNoShortIf → StatementWithoutTrailingSubstatement • [ELSE] Identifier reduce using rule 159 (Statement) IntegerLiteral reduce using rule 159 (Statement) FloatingPointLiteral reduce using rule 159 (Statement) BooleanLiteral reduce using rule 159 (Statement) CharacterLiteral reduce using rule 159 (Statement) StringLiteral reduce using rule 159 (Statement) NullLiteral reduce using rule 159 (Statement) BOOLEAN reduce using rule 159 (Statement) BYTE reduce using rule 159 (Statement) SHORT reduce using rule 159 (Statement) INT reduce using rule 159 (Statement) LONG reduce using rule 159 (Statement) CHAR reduce using rule 159 (Statement) FLOAT reduce using rule 159 (Statement) DOUBLE reduce using rule 159 (Statement) SYNCHRONIZED reduce using rule 159 (Statement) THIS reduce using rule 159 (Statement) SUPER reduce using rule 159 (Statement) IF reduce using rule 159 (Statement) ELSE reduce using rule 165 (StatementNoShortIf) SWITCH reduce using rule 159 (Statement) CASE reduce using rule 159 (Statement) DEFAULT reduce using rule 159 (Statement) WHILE reduce using rule 159 (Statement) DO reduce using rule 159 (Statement) FOR reduce using rule 159 (Statement) BREAK reduce using rule 159 (Statement) CONTINUE reduce using rule 159 (Statement) RETURN reduce using rule 159 (Statement) THROW reduce using rule 159 (Statement) TRY reduce using rule 159 (Statement) NEW reduce using rule 159 (Statement) PLUSPLUS reduce using rule 159 (Statement) MINUSMINUS reduce using rule 159 (Statement) ';' reduce using rule 159 (Statement) '{' reduce using rule 159 (Statement) '}' reduce using rule 159 (Statement) '(' reduce using rule 159 (Statement)
166 StatementNoShortIf → LabeledStatementNoShortIf • [ELSE] ELSE reduce using rule 166 (StatementNoShortIf)
167 StatementNoShortIf → IfThenElseStatementNoShortIf • [ELSE] ELSE reduce using rule 167 (StatementNoShortIf)
168 StatementNoShortIf → WhileStatementNoShortIf • [ELSE] ELSE reduce using rule 168 (StatementNoShortIf)
169 StatementNoShortIf → ForStatementNoShortIf • [ELSE] ELSE reduce using rule 169 (StatementNoShortIf)
196 SwitchBlock → '{' • SwitchBlockStatementGroups SwitchLabels '}' 197 | '{' • SwitchLabels '}' 198 | '{' • SwitchBlockStatementGroups '}' 199 | '{' • '}' 200 SwitchBlockStatementGroups → • SwitchBlockStatementGroup 201 | • SwitchBlockStatementGroups SwitchBlockStatementGroup 202 SwitchBlockStatementGroup → • SwitchLabels BlockStatements 203 SwitchLabels → • SwitchLabel 204 | • SwitchLabels SwitchLabel 205 SwitchLabel → • CASE ConstantExpression ':' 206 | • DEFAULT ':' CASE shift, and go to state 537 DEFAULT shift, and go to state 538 '}' shift, and go to state 539 SwitchBlockStatementGroups go to state 540 SwitchBlockStatementGroup go to state 541 SwitchLabels go to state 542 SwitchLabel go to state 543
195 SwitchStatement → SWITCH '(' Expression ')' SwitchBlock • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 195 (SwitchStatement) IntegerLiteral reduce using rule 195 (SwitchStatement) FloatingPointLiteral reduce using rule 195 (SwitchStatement) BooleanLiteral reduce using rule 195 (SwitchStatement) CharacterLiteral reduce using rule 195 (SwitchStatement) StringLiteral reduce using rule 195 (SwitchStatement) NullLiteral reduce using rule 195 (SwitchStatement) BOOLEAN reduce using rule 195 (SwitchStatement) BYTE reduce using rule 195 (SwitchStatement) SHORT reduce using rule 195 (SwitchStatement) INT reduce using rule 195 (SwitchStatement) LONG reduce using rule 195 (SwitchStatement) CHAR reduce using rule 195 (SwitchStatement) FLOAT reduce using rule 195 (SwitchStatement) DOUBLE reduce using rule 195 (SwitchStatement) SYNCHRONIZED reduce using rule 195 (SwitchStatement) THIS reduce using rule 195 (SwitchStatement) SUPER reduce using rule 195 (SwitchStatement) IF reduce using rule 195 (SwitchStatement) ELSE reduce using rule 195 (SwitchStatement) SWITCH reduce using rule 195 (SwitchStatement) CASE reduce using rule 195 (SwitchStatement) DEFAULT reduce using rule 195 (SwitchStatement) WHILE reduce using rule 195 (SwitchStatement) DO reduce using rule 195 (SwitchStatement) FOR reduce using rule 195 (SwitchStatement) BREAK reduce using rule 195 (SwitchStatement) CONTINUE reduce using rule 195 (SwitchStatement) RETURN reduce using rule 195 (SwitchStatement) THROW reduce using rule 195 (SwitchStatement) TRY reduce using rule 195 (SwitchStatement) NEW reduce using rule 195 (SwitchStatement) PLUSPLUS reduce using rule 195 (SwitchStatement) MINUSMINUS reduce using rule 195 (SwitchStatement) ';' reduce using rule 195 (SwitchStatement) '{' reduce using rule 195 (SwitchStatement) '}' reduce using rule 195 (SwitchStatement) '(' reduce using rule 195 (SwitchStatement)
207 WhileStatement → WHILE '(' Expression ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 207 (WhileStatement) IntegerLiteral reduce using rule 207 (WhileStatement) FloatingPointLiteral reduce using rule 207 (WhileStatement) BooleanLiteral reduce using rule 207 (WhileStatement) CharacterLiteral reduce using rule 207 (WhileStatement) StringLiteral reduce using rule 207 (WhileStatement) NullLiteral reduce using rule 207 (WhileStatement) BOOLEAN reduce using rule 207 (WhileStatement) BYTE reduce using rule 207 (WhileStatement) SHORT reduce using rule 207 (WhileStatement) INT reduce using rule 207 (WhileStatement) LONG reduce using rule 207 (WhileStatement) CHAR reduce using rule 207 (WhileStatement) FLOAT reduce using rule 207 (WhileStatement) DOUBLE reduce using rule 207 (WhileStatement) SYNCHRONIZED reduce using rule 207 (WhileStatement) THIS reduce using rule 207 (WhileStatement) SUPER reduce using rule 207 (WhileStatement) IF reduce using rule 207 (WhileStatement) SWITCH reduce using rule 207 (WhileStatement) CASE reduce using rule 207 (WhileStatement) DEFAULT reduce using rule 207 (WhileStatement) WHILE reduce using rule 207 (WhileStatement) DO reduce using rule 207 (WhileStatement) FOR reduce using rule 207 (WhileStatement) BREAK reduce using rule 207 (WhileStatement) CONTINUE reduce using rule 207 (WhileStatement) RETURN reduce using rule 207 (WhileStatement) THROW reduce using rule 207 (WhileStatement) TRY reduce using rule 207 (WhileStatement) NEW reduce using rule 207 (WhileStatement) PLUSPLUS reduce using rule 207 (WhileStatement) MINUSMINUS reduce using rule 207 (WhileStatement) ';' reduce using rule 207 (WhileStatement) '{' reduce using rule 207 (WhileStatement) '}' reduce using rule 207 (WhileStatement) '(' reduce using rule 207 (WhileStatement)
209 DoStatement → DO Statement WHILE '(' Expression • ')' ';' ')' shift, and go to state 544
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 217 | FOR '(' ';' ';' ')' • Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 545 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
216 ForStatement → FOR '(' ';' ';' ForUpdate • ')' Statement ')' shift, and go to state 546
228 ForUpdate → StatementExpressionList • [')'] 230 StatementExpressionList → StatementExpressionList • ',' StatementExpression ',' shift, and go to state 437 ')' reduce using rule 228 (ForUpdate)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 214 ForStatement → FOR '(' ';' Expression ';' • ForUpdate ')' Statement 215 | FOR '(' ';' Expression ';' • ')' Statement 228 ForUpdate → • StatementExpressionList 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 182 ')' shift, and go to state 547 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 StatementExpression go to state 363 ForUpdate go to state 548 StatementExpressionList go to state 509 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 212 ForStatement → FOR '(' ForInit ';' ';' • ForUpdate ')' Statement 213 | FOR '(' ForInit ';' ';' • ')' Statement 228 ForUpdate → • StatementExpressionList 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 182 ')' shift, and go to state 549 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 StatementExpression go to state 363 ForUpdate go to state 550 StatementExpressionList go to state 509 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
210 ForStatement → FOR '(' ForInit ';' Expression • ';' ForUpdate ')' Statement 211 | FOR '(' ForInit ';' Expression • ';' ')' Statement ';' shift, and go to state 551
230 StatementExpressionList → StatementExpressionList ',' StatementExpression • [';', ',', ')'] ';' reduce using rule 230 (StatementExpressionList) ',' reduce using rule 230 (StatementExpressionList) ')' reduce using rule 230 (StatementExpressionList)
266 Dims → '[' ']' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 266 (Dims) PLUSPLUS reduce using rule 266 (Dims) MINUSMINUS reduce using rule 266 (Dims) LTLT reduce using rule 266 (Dims) GTGT reduce using rule 266 (Dims) GTGTGT reduce using rule 266 (Dims) LTEQ reduce using rule 266 (Dims) GTEQ reduce using rule 266 (Dims) EQEQ reduce using rule 266 (Dims) BANGEQ reduce using rule 266 (Dims) ANDAND reduce using rule 266 (Dims) OROR reduce using rule 266 (Dims) '[' reduce using rule 266 (Dims) ']' reduce using rule 266 (Dims) '.' reduce using rule 266 (Dims) ';' reduce using rule 266 (Dims) '*' reduce using rule 266 (Dims) ',' reduce using rule 266 (Dims) '}' reduce using rule 266 (Dims) ')' reduce using rule 266 (Dims) ':' reduce using rule 266 (Dims) '+' reduce using rule 266 (Dims) '-' reduce using rule 266 (Dims) '/' reduce using rule 266 (Dims) '%' reduce using rule 266 (Dims) '<' reduce using rule 266 (Dims) '>' reduce using rule 266 (Dims) '&' reduce using rule 266 (Dims) '^' reduce using rule 266 (Dims) '|' reduce using rule 266 (Dims) '?' reduce using rule 266 (Dims)
296 CastExpression → '(' PrimitiveType ')' UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 296 (CastExpression) LTLT reduce using rule 296 (CastExpression) GTGT reduce using rule 296 (CastExpression) GTGTGT reduce using rule 296 (CastExpression) LTEQ reduce using rule 296 (CastExpression) GTEQ reduce using rule 296 (CastExpression) EQEQ reduce using rule 296 (CastExpression) BANGEQ reduce using rule 296 (CastExpression) ANDAND reduce using rule 296 (CastExpression) OROR reduce using rule 296 (CastExpression) ']' reduce using rule 296 (CastExpression) ';' reduce using rule 296 (CastExpression) '*' reduce using rule 296 (CastExpression) ',' reduce using rule 296 (CastExpression) '}' reduce using rule 296 (CastExpression) ')' reduce using rule 296 (CastExpression) ':' reduce using rule 296 (CastExpression) '+' reduce using rule 296 (CastExpression) '-' reduce using rule 296 (CastExpression) '/' reduce using rule 296 (CastExpression) '%' reduce using rule 296 (CastExpression) '<' reduce using rule 296 (CastExpression) '>' reduce using rule 296 (CastExpression) '&' reduce using rule 296 (CastExpression) '^' reduce using rule 296 (CastExpression) '|' reduce using rule 296 (CastExpression) '?' reduce using rule 296 (CastExpression)
267 Dims → Dims '[' • ']' ']' shift, and go to state 552
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 295 | '(' PrimitiveType Dims ')' • UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 553 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 298 | '(' Name Dims ')' • UnaryExpressionNotPlusMinus Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 '(' shift, and go to state 266 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpressionNotPlusMinus go to state 554 CastExpression go to state 280
297 CastExpression → '(' Expression ')' UnaryExpressionNotPlusMinus • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 297 (CastExpression) LTLT reduce using rule 297 (CastExpression) GTGT reduce using rule 297 (CastExpression) GTGTGT reduce using rule 297 (CastExpression) LTEQ reduce using rule 297 (CastExpression) GTEQ reduce using rule 297 (CastExpression) EQEQ reduce using rule 297 (CastExpression) BANGEQ reduce using rule 297 (CastExpression) ANDAND reduce using rule 297 (CastExpression) OROR reduce using rule 297 (CastExpression) ']' reduce using rule 297 (CastExpression) ';' reduce using rule 297 (CastExpression) '*' reduce using rule 297 (CastExpression) ',' reduce using rule 297 (CastExpression) '}' reduce using rule 297 (CastExpression) ')' reduce using rule 297 (CastExpression) ':' reduce using rule 297 (CastExpression) '+' reduce using rule 297 (CastExpression) '-' reduce using rule 297 (CastExpression) '/' reduce using rule 297 (CastExpression) '%' reduce using rule 297 (CastExpression) '<' reduce using rule 297 (CastExpression) '>' reduce using rule 297 (CastExpression) '&' reduce using rule 297 (CastExpression) '^' reduce using rule 297 (CastExpression) '|' reduce using rule 297 (CastExpression) '?' reduce using rule 297 (CastExpression)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 330 | ConditionalOrExpression '?' Expression ':' • ConditionalExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 300 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 301 MethodInvocation go to state 272 ArrayAccess go to state 302 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 555
244 CatchClause → CATCH '(' FormalParameter • ')' Block ')' shift, and go to state 556
265 DimExpr → '[' Expression ']' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 265 (DimExpr) PLUSPLUS reduce using rule 265 (DimExpr) MINUSMINUS reduce using rule 265 (DimExpr) LTLT reduce using rule 265 (DimExpr) GTGT reduce using rule 265 (DimExpr) GTGTGT reduce using rule 265 (DimExpr) LTEQ reduce using rule 265 (DimExpr) GTEQ reduce using rule 265 (DimExpr) EQEQ reduce using rule 265 (DimExpr) BANGEQ reduce using rule 265 (DimExpr) ANDAND reduce using rule 265 (DimExpr) OROR reduce using rule 265 (DimExpr) '[' reduce using rule 265 (DimExpr) ']' reduce using rule 265 (DimExpr) '.' reduce using rule 265 (DimExpr) ';' reduce using rule 265 (DimExpr) '*' reduce using rule 265 (DimExpr) ',' reduce using rule 265 (DimExpr) '}' reduce using rule 265 (DimExpr) ')' reduce using rule 265 (DimExpr) ':' reduce using rule 265 (DimExpr) '+' reduce using rule 265 (DimExpr) '-' reduce using rule 265 (DimExpr) '/' reduce using rule 265 (DimExpr) '%' reduce using rule 265 (DimExpr) '<' reduce using rule 265 (DimExpr) '>' reduce using rule 265 (DimExpr) '&' reduce using rule 265 (DimExpr) '^' reduce using rule 265 (DimExpr) '|' reduce using rule 265 (DimExpr) '?' reduce using rule 265 (DimExpr)
255 ClassInstanceCreationExpression → NEW ClassType '(' ArgumentList ')' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 255 (ClassInstanceCreationExpression) PLUSPLUS reduce using rule 255 (ClassInstanceCreationExpression) MINUSMINUS reduce using rule 255 (ClassInstanceCreationExpression) LTLT reduce using rule 255 (ClassInstanceCreationExpression) GTGT reduce using rule 255 (ClassInstanceCreationExpression) GTGTGT reduce using rule 255 (ClassInstanceCreationExpression) LTEQ reduce using rule 255 (ClassInstanceCreationExpression) GTEQ reduce using rule 255 (ClassInstanceCreationExpression) EQEQ reduce using rule 255 (ClassInstanceCreationExpression) BANGEQ reduce using rule 255 (ClassInstanceCreationExpression) ANDAND reduce using rule 255 (ClassInstanceCreationExpression) OROR reduce using rule 255 (ClassInstanceCreationExpression) '[' reduce using rule 255 (ClassInstanceCreationExpression) ']' reduce using rule 255 (ClassInstanceCreationExpression) '.' reduce using rule 255 (ClassInstanceCreationExpression) ';' reduce using rule 255 (ClassInstanceCreationExpression) '*' reduce using rule 255 (ClassInstanceCreationExpression) ',' reduce using rule 255 (ClassInstanceCreationExpression) '}' reduce using rule 255 (ClassInstanceCreationExpression) ')' reduce using rule 255 (ClassInstanceCreationExpression) ':' reduce using rule 255 (ClassInstanceCreationExpression) '+' reduce using rule 255 (ClassInstanceCreationExpression) '-' reduce using rule 255 (ClassInstanceCreationExpression) '/' reduce using rule 255 (ClassInstanceCreationExpression) '%' reduce using rule 255 (ClassInstanceCreationExpression) '<' reduce using rule 255 (ClassInstanceCreationExpression) '>' reduce using rule 255 (ClassInstanceCreationExpression) '&' reduce using rule 255 (ClassInstanceCreationExpression) '^' reduce using rule 255 (ClassInstanceCreationExpression) '|' reduce using rule 255 (ClassInstanceCreationExpression) '?' reduce using rule 255 (ClassInstanceCreationExpression)
258 ArgumentList → ArgumentList ',' Expression • [',', ')'] ',' reduce using rule 258 (ArgumentList) ')' reduce using rule 258 (ArgumentList)
273 MethodInvocation → Primary '.' Identifier '(' ')' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 273 (MethodInvocation) PLUSPLUS reduce using rule 273 (MethodInvocation) MINUSMINUS reduce using rule 273 (MethodInvocation) LTLT reduce using rule 273 (MethodInvocation) GTGT reduce using rule 273 (MethodInvocation) GTGTGT reduce using rule 273 (MethodInvocation) LTEQ reduce using rule 273 (MethodInvocation) GTEQ reduce using rule 273 (MethodInvocation) EQEQ reduce using rule 273 (MethodInvocation) BANGEQ reduce using rule 273 (MethodInvocation) ANDAND reduce using rule 273 (MethodInvocation) OROR reduce using rule 273 (MethodInvocation) '[' reduce using rule 273 (MethodInvocation) ']' reduce using rule 273 (MethodInvocation) '.' reduce using rule 273 (MethodInvocation) ';' reduce using rule 273 (MethodInvocation) '*' reduce using rule 273 (MethodInvocation) ',' reduce using rule 273 (MethodInvocation) '}' reduce using rule 273 (MethodInvocation) ')' reduce using rule 273 (MethodInvocation) ':' reduce using rule 273 (MethodInvocation) '+' reduce using rule 273 (MethodInvocation) '-' reduce using rule 273 (MethodInvocation) '/' reduce using rule 273 (MethodInvocation) '%' reduce using rule 273 (MethodInvocation) '<' reduce using rule 273 (MethodInvocation) '>' reduce using rule 273 (MethodInvocation) '&' reduce using rule 273 (MethodInvocation) '^' reduce using rule 273 (MethodInvocation) '|' reduce using rule 273 (MethodInvocation) '?' reduce using rule 273 (MethodInvocation)
258 ArgumentList → ArgumentList • ',' Expression 272 MethodInvocation → Primary '.' Identifier '(' ArgumentList • ')' ',' shift, and go to state 478 ')' shift, and go to state 557
145 ArrayInitializer → '{' VariableInitializers ',' '}' • [';', ',', '}'] ';' reduce using rule 145 (ArrayInitializer) ',' reduce using rule 145 (ArrayInitializer) '}' reduce using rule 145 (ArrayInitializer)
150 VariableInitializers → VariableInitializers ',' VariableInitializer • [',', '}'] ',' reduce using rule 150 (VariableInitializers) '}' reduce using rule 150 (VariableInitializers)
127 ExplicitConstructorInvocation → THIS '(' ArgumentList ')' ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 127 (ExplicitConstructorInvocation) IntegerLiteral reduce using rule 127 (ExplicitConstructorInvocation) FloatingPointLiteral reduce using rule 127 (ExplicitConstructorInvocation) BooleanLiteral reduce using rule 127 (ExplicitConstructorInvocation) CharacterLiteral reduce using rule 127 (ExplicitConstructorInvocation) StringLiteral reduce using rule 127 (ExplicitConstructorInvocation) NullLiteral reduce using rule 127 (ExplicitConstructorInvocation) BOOLEAN reduce using rule 127 (ExplicitConstructorInvocation) BYTE reduce using rule 127 (ExplicitConstructorInvocation) SHORT reduce using rule 127 (ExplicitConstructorInvocation) INT reduce using rule 127 (ExplicitConstructorInvocation) LONG reduce using rule 127 (ExplicitConstructorInvocation) CHAR reduce using rule 127 (ExplicitConstructorInvocation) FLOAT reduce using rule 127 (ExplicitConstructorInvocation) DOUBLE reduce using rule 127 (ExplicitConstructorInvocation) SYNCHRONIZED reduce using rule 127 (ExplicitConstructorInvocation) THIS reduce using rule 127 (ExplicitConstructorInvocation) SUPER reduce using rule 127 (ExplicitConstructorInvocation) IF reduce using rule 127 (ExplicitConstructorInvocation) SWITCH reduce using rule 127 (ExplicitConstructorInvocation) WHILE reduce using rule 127 (ExplicitConstructorInvocation) DO reduce using rule 127 (ExplicitConstructorInvocation) FOR reduce using rule 127 (ExplicitConstructorInvocation) BREAK reduce using rule 127 (ExplicitConstructorInvocation) CONTINUE reduce using rule 127 (ExplicitConstructorInvocation) RETURN reduce using rule 127 (ExplicitConstructorInvocation) THROW reduce using rule 127 (ExplicitConstructorInvocation) TRY reduce using rule 127 (ExplicitConstructorInvocation) NEW reduce using rule 127 (ExplicitConstructorInvocation) PLUSPLUS reduce using rule 127 (ExplicitConstructorInvocation) MINUSMINUS reduce using rule 127 (ExplicitConstructorInvocation) ';' reduce using rule 127 (ExplicitConstructorInvocation) '{' reduce using rule 127 (ExplicitConstructorInvocation) '}' reduce using rule 127 (ExplicitConstructorInvocation) '(' reduce using rule 127 (ExplicitConstructorInvocation)
129 ExplicitConstructorInvocation → SUPER '(' ArgumentList ')' ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 129 (ExplicitConstructorInvocation) IntegerLiteral reduce using rule 129 (ExplicitConstructorInvocation) FloatingPointLiteral reduce using rule 129 (ExplicitConstructorInvocation) BooleanLiteral reduce using rule 129 (ExplicitConstructorInvocation) CharacterLiteral reduce using rule 129 (ExplicitConstructorInvocation) StringLiteral reduce using rule 129 (ExplicitConstructorInvocation) NullLiteral reduce using rule 129 (ExplicitConstructorInvocation) BOOLEAN reduce using rule 129 (ExplicitConstructorInvocation) BYTE reduce using rule 129 (ExplicitConstructorInvocation) SHORT reduce using rule 129 (ExplicitConstructorInvocation) INT reduce using rule 129 (ExplicitConstructorInvocation) LONG reduce using rule 129 (ExplicitConstructorInvocation) CHAR reduce using rule 129 (ExplicitConstructorInvocation) FLOAT reduce using rule 129 (ExplicitConstructorInvocation) DOUBLE reduce using rule 129 (ExplicitConstructorInvocation) SYNCHRONIZED reduce using rule 129 (ExplicitConstructorInvocation) THIS reduce using rule 129 (ExplicitConstructorInvocation) SUPER reduce using rule 129 (ExplicitConstructorInvocation) IF reduce using rule 129 (ExplicitConstructorInvocation) SWITCH reduce using rule 129 (ExplicitConstructorInvocation) WHILE reduce using rule 129 (ExplicitConstructorInvocation) DO reduce using rule 129 (ExplicitConstructorInvocation) FOR reduce using rule 129 (ExplicitConstructorInvocation) BREAK reduce using rule 129 (ExplicitConstructorInvocation) CONTINUE reduce using rule 129 (ExplicitConstructorInvocation) RETURN reduce using rule 129 (ExplicitConstructorInvocation) THROW reduce using rule 129 (ExplicitConstructorInvocation) TRY reduce using rule 129 (ExplicitConstructorInvocation) NEW reduce using rule 129 (ExplicitConstructorInvocation) PLUSPLUS reduce using rule 129 (ExplicitConstructorInvocation) MINUSMINUS reduce using rule 129 (ExplicitConstructorInvocation) ';' reduce using rule 129 (ExplicitConstructorInvocation) '{' reduce using rule 129 (ExplicitConstructorInvocation) '}' reduce using rule 129 (ExplicitConstructorInvocation) '(' reduce using rule 129 (ExplicitConstructorInvocation)
274 MethodInvocation → SUPER '.' Identifier '(' ArgumentList ')' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 274 (MethodInvocation) PLUSPLUS reduce using rule 274 (MethodInvocation) MINUSMINUS reduce using rule 274 (MethodInvocation) LTLT reduce using rule 274 (MethodInvocation) GTGT reduce using rule 274 (MethodInvocation) GTGTGT reduce using rule 274 (MethodInvocation) LTEQ reduce using rule 274 (MethodInvocation) GTEQ reduce using rule 274 (MethodInvocation) EQEQ reduce using rule 274 (MethodInvocation) BANGEQ reduce using rule 274 (MethodInvocation) ANDAND reduce using rule 274 (MethodInvocation) OROR reduce using rule 274 (MethodInvocation) '[' reduce using rule 274 (MethodInvocation) ']' reduce using rule 274 (MethodInvocation) '.' reduce using rule 274 (MethodInvocation) ';' reduce using rule 274 (MethodInvocation) '*' reduce using rule 274 (MethodInvocation) ',' reduce using rule 274 (MethodInvocation) '}' reduce using rule 274 (MethodInvocation) ')' reduce using rule 274 (MethodInvocation) ':' reduce using rule 274 (MethodInvocation) '+' reduce using rule 274 (MethodInvocation) '-' reduce using rule 274 (MethodInvocation) '/' reduce using rule 274 (MethodInvocation) '%' reduce using rule 274 (MethodInvocation) '<' reduce using rule 274 (MethodInvocation) '>' reduce using rule 274 (MethodInvocation) '&' reduce using rule 274 (MethodInvocation) '^' reduce using rule 274 (MethodInvocation) '|' reduce using rule 274 (MethodInvocation) '?' reduce using rule 274 (MethodInvocation)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 182 | Identifier ':' • Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 183 | Identifier ':' • StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 353 StatementNoShortIf go to state 558 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 192 IfThenStatement → IF '(' • Expression ')' Statement 193 IfThenElseStatement → IF '(' • Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → IF '(' • Expression ')' StatementNoShortIf ELSE StatementNoShortIf 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 559
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 207 WhileStatement → WHILE '(' • Expression ')' Statement 208 WhileStatementNoShortIf → WHILE '(' • Expression ')' StatementNoShortIf 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 560
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 158 LocalVariableDeclaration → • Type VariableDeclarators 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 210 ForStatement → FOR '(' • ForInit ';' Expression ';' ForUpdate ')' Statement 211 | FOR '(' • ForInit ';' Expression ';' ')' Statement 212 | FOR '(' • ForInit ';' ';' ForUpdate ')' Statement 213 | FOR '(' • ForInit ';' ';' ')' Statement 214 | FOR '(' • ';' Expression ';' ForUpdate ')' Statement 215 | FOR '(' • ';' Expression ';' ')' Statement 216 | FOR '(' • ';' ';' ForUpdate ')' Statement 217 | FOR '(' • ';' ';' ')' Statement 218 ForStatementNoShortIf → FOR '(' • ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | FOR '(' • ForInit ';' Expression ';' ')' StatementNoShortIf 220 | FOR '(' • ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | FOR '(' • ForInit ';' ';' ')' StatementNoShortIf 222 | FOR '(' • ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | FOR '(' • ';' Expression ';' ')' StatementNoShortIf 224 | FOR '(' • ';' ';' ForUpdate ')' StatementNoShortIf 225 | FOR '(' • ';' ';' ')' StatementNoShortIf 226 ForInit → • StatementExpressionList 227 | • LocalVariableDeclaration 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 561 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 LocalVariableDeclaration go to state 362 StatementExpression go to state 363 ForInit go to state 562 StatementExpressionList go to state 365 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 193 | IF '(' Expression ')' StatementNoShortIf ELSE • Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 563 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 205 SwitchLabel → CASE • ConstantExpression ':' 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression 350 ConstantExpression → • Expression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 564 ConstantExpression go to state 565
206 SwitchLabel → DEFAULT • ':' ':' shift, and go to state 566
199 SwitchBlock → '{' '}' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 199 (SwitchBlock) IntegerLiteral reduce using rule 199 (SwitchBlock) FloatingPointLiteral reduce using rule 199 (SwitchBlock) BooleanLiteral reduce using rule 199 (SwitchBlock) CharacterLiteral reduce using rule 199 (SwitchBlock) StringLiteral reduce using rule 199 (SwitchBlock) NullLiteral reduce using rule 199 (SwitchBlock) BOOLEAN reduce using rule 199 (SwitchBlock) BYTE reduce using rule 199 (SwitchBlock) SHORT reduce using rule 199 (SwitchBlock) INT reduce using rule 199 (SwitchBlock) LONG reduce using rule 199 (SwitchBlock) CHAR reduce using rule 199 (SwitchBlock) FLOAT reduce using rule 199 (SwitchBlock) DOUBLE reduce using rule 199 (SwitchBlock) SYNCHRONIZED reduce using rule 199 (SwitchBlock) THIS reduce using rule 199 (SwitchBlock) SUPER reduce using rule 199 (SwitchBlock) IF reduce using rule 199 (SwitchBlock) ELSE reduce using rule 199 (SwitchBlock) SWITCH reduce using rule 199 (SwitchBlock) CASE reduce using rule 199 (SwitchBlock) DEFAULT reduce using rule 199 (SwitchBlock) WHILE reduce using rule 199 (SwitchBlock) DO reduce using rule 199 (SwitchBlock) FOR reduce using rule 199 (SwitchBlock) BREAK reduce using rule 199 (SwitchBlock) CONTINUE reduce using rule 199 (SwitchBlock) RETURN reduce using rule 199 (SwitchBlock) THROW reduce using rule 199 (SwitchBlock) TRY reduce using rule 199 (SwitchBlock) NEW reduce using rule 199 (SwitchBlock) PLUSPLUS reduce using rule 199 (SwitchBlock) MINUSMINUS reduce using rule 199 (SwitchBlock) ';' reduce using rule 199 (SwitchBlock) '{' reduce using rule 199 (SwitchBlock) '}' reduce using rule 199 (SwitchBlock) '(' reduce using rule 199 (SwitchBlock)
196 SwitchBlock → '{' SwitchBlockStatementGroups • SwitchLabels '}' 198 | '{' SwitchBlockStatementGroups • '}' 201 SwitchBlockStatementGroups → SwitchBlockStatementGroups • SwitchBlockStatementGroup 202 SwitchBlockStatementGroup → • SwitchLabels BlockStatements 203 SwitchLabels → • SwitchLabel 204 | • SwitchLabels SwitchLabel 205 SwitchLabel → • CASE ConstantExpression ':' 206 | • DEFAULT ':' CASE shift, and go to state 537 DEFAULT shift, and go to state 538 '}' shift, and go to state 567 SwitchBlockStatementGroup go to state 568 SwitchLabels go to state 569 SwitchLabel go to state 543
200 SwitchBlockStatementGroups → SwitchBlockStatementGroup • [CASE, DEFAULT, '}'] CASE reduce using rule 200 (SwitchBlockStatementGroups) DEFAULT reduce using rule 200 (SwitchBlockStatementGroups) '}' reduce using rule 200 (SwitchBlockStatementGroups)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 153 BlockStatements → • BlockStatement 154 | • BlockStatements BlockStatement 155 BlockStatement → • LocalVariableDeclarationStatement 156 | • Statement 157 LocalVariableDeclarationStatement → • LocalVariableDeclaration ';' 158 LocalVariableDeclaration → • Type VariableDeclarators 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 197 SwitchBlock → '{' SwitchLabels • '}' 202 SwitchBlockStatementGroup → SwitchLabels • BlockStatements 204 SwitchLabels → SwitchLabels • SwitchLabel 205 SwitchLabel → • CASE ConstantExpression ':' 206 | • DEFAULT ':' 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 CASE shift, and go to state 537 DEFAULT shift, and go to state 538 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '}' shift, and go to state 570 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 BlockStatements go to state 571 BlockStatement go to state 188 LocalVariableDeclarationStatement go to state 189 LocalVariableDeclaration go to state 190 Statement go to state 191 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 SwitchLabel go to state 572 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
203 SwitchLabels → SwitchLabel • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 203 (SwitchLabels) IntegerLiteral reduce using rule 203 (SwitchLabels) FloatingPointLiteral reduce using rule 203 (SwitchLabels) BooleanLiteral reduce using rule 203 (SwitchLabels) CharacterLiteral reduce using rule 203 (SwitchLabels) StringLiteral reduce using rule 203 (SwitchLabels) NullLiteral reduce using rule 203 (SwitchLabels) BOOLEAN reduce using rule 203 (SwitchLabels) BYTE reduce using rule 203 (SwitchLabels) SHORT reduce using rule 203 (SwitchLabels) INT reduce using rule 203 (SwitchLabels) LONG reduce using rule 203 (SwitchLabels) CHAR reduce using rule 203 (SwitchLabels) FLOAT reduce using rule 203 (SwitchLabels) DOUBLE reduce using rule 203 (SwitchLabels) SYNCHRONIZED reduce using rule 203 (SwitchLabels) THIS reduce using rule 203 (SwitchLabels) SUPER reduce using rule 203 (SwitchLabels) IF reduce using rule 203 (SwitchLabels) SWITCH reduce using rule 203 (SwitchLabels) CASE reduce using rule 203 (SwitchLabels) DEFAULT reduce using rule 203 (SwitchLabels) WHILE reduce using rule 203 (SwitchLabels) DO reduce using rule 203 (SwitchLabels) FOR reduce using rule 203 (SwitchLabels) BREAK reduce using rule 203 (SwitchLabels) CONTINUE reduce using rule 203 (SwitchLabels) RETURN reduce using rule 203 (SwitchLabels) THROW reduce using rule 203 (SwitchLabels) TRY reduce using rule 203 (SwitchLabels) NEW reduce using rule 203 (SwitchLabels) PLUSPLUS reduce using rule 203 (SwitchLabels) MINUSMINUS reduce using rule 203 (SwitchLabels) ';' reduce using rule 203 (SwitchLabels) '{' reduce using rule 203 (SwitchLabels) '}' reduce using rule 203 (SwitchLabels) '(' reduce using rule 203 (SwitchLabels)
209 DoStatement → DO Statement WHILE '(' Expression ')' • ';' ';' shift, and go to state 573
217 ForStatement → FOR '(' ';' ';' ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 217 (ForStatement) IntegerLiteral reduce using rule 217 (ForStatement) FloatingPointLiteral reduce using rule 217 (ForStatement) BooleanLiteral reduce using rule 217 (ForStatement) CharacterLiteral reduce using rule 217 (ForStatement) StringLiteral reduce using rule 217 (ForStatement) NullLiteral reduce using rule 217 (ForStatement) BOOLEAN reduce using rule 217 (ForStatement) BYTE reduce using rule 217 (ForStatement) SHORT reduce using rule 217 (ForStatement) INT reduce using rule 217 (ForStatement) LONG reduce using rule 217 (ForStatement) CHAR reduce using rule 217 (ForStatement) FLOAT reduce using rule 217 (ForStatement) DOUBLE reduce using rule 217 (ForStatement) SYNCHRONIZED reduce using rule 217 (ForStatement) THIS reduce using rule 217 (ForStatement) SUPER reduce using rule 217 (ForStatement) IF reduce using rule 217 (ForStatement) SWITCH reduce using rule 217 (ForStatement) CASE reduce using rule 217 (ForStatement) DEFAULT reduce using rule 217 (ForStatement) WHILE reduce using rule 217 (ForStatement) DO reduce using rule 217 (ForStatement) FOR reduce using rule 217 (ForStatement) BREAK reduce using rule 217 (ForStatement) CONTINUE reduce using rule 217 (ForStatement) RETURN reduce using rule 217 (ForStatement) THROW reduce using rule 217 (ForStatement) TRY reduce using rule 217 (ForStatement) NEW reduce using rule 217 (ForStatement) PLUSPLUS reduce using rule 217 (ForStatement) MINUSMINUS reduce using rule 217 (ForStatement) ';' reduce using rule 217 (ForStatement) '{' reduce using rule 217 (ForStatement) '}' reduce using rule 217 (ForStatement) '(' reduce using rule 217 (ForStatement)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 216 | FOR '(' ';' ';' ForUpdate ')' • Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 574 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 215 | FOR '(' ';' Expression ';' ')' • Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 575 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
214 ForStatement → FOR '(' ';' Expression ';' ForUpdate • ')' Statement ')' shift, and go to state 576
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 213 | FOR '(' ForInit ';' ';' ')' • Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 577 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
212 ForStatement → FOR '(' ForInit ';' ';' ForUpdate • ')' Statement ')' shift, and go to state 578
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 210 ForStatement → FOR '(' ForInit ';' Expression ';' • ForUpdate ')' Statement 211 | FOR '(' ForInit ';' Expression ';' • ')' Statement 228 ForUpdate → • StatementExpressionList 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 182 ')' shift, and go to state 579 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 StatementExpression go to state 363 ForUpdate go to state 580 StatementExpressionList go to state 509 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
267 Dims → Dims '[' ']' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 267 (Dims) PLUSPLUS reduce using rule 267 (Dims) MINUSMINUS reduce using rule 267 (Dims) LTLT reduce using rule 267 (Dims) GTGT reduce using rule 267 (Dims) GTGTGT reduce using rule 267 (Dims) LTEQ reduce using rule 267 (Dims) GTEQ reduce using rule 267 (Dims) EQEQ reduce using rule 267 (Dims) BANGEQ reduce using rule 267 (Dims) ANDAND reduce using rule 267 (Dims) OROR reduce using rule 267 (Dims) '[' reduce using rule 267 (Dims) ']' reduce using rule 267 (Dims) '.' reduce using rule 267 (Dims) ';' reduce using rule 267 (Dims) '*' reduce using rule 267 (Dims) ',' reduce using rule 267 (Dims) '}' reduce using rule 267 (Dims) ')' reduce using rule 267 (Dims) ':' reduce using rule 267 (Dims) '+' reduce using rule 267 (Dims) '-' reduce using rule 267 (Dims) '/' reduce using rule 267 (Dims) '%' reduce using rule 267 (Dims) '<' reduce using rule 267 (Dims) '>' reduce using rule 267 (Dims) '&' reduce using rule 267 (Dims) '^' reduce using rule 267 (Dims) '|' reduce using rule 267 (Dims) '?' reduce using rule 267 (Dims)
295 CastExpression → '(' PrimitiveType Dims ')' UnaryExpression • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 295 (CastExpression) LTLT reduce using rule 295 (CastExpression) GTGT reduce using rule 295 (CastExpression) GTGTGT reduce using rule 295 (CastExpression) LTEQ reduce using rule 295 (CastExpression) GTEQ reduce using rule 295 (CastExpression) EQEQ reduce using rule 295 (CastExpression) BANGEQ reduce using rule 295 (CastExpression) ANDAND reduce using rule 295 (CastExpression) OROR reduce using rule 295 (CastExpression) ']' reduce using rule 295 (CastExpression) ';' reduce using rule 295 (CastExpression) '*' reduce using rule 295 (CastExpression) ',' reduce using rule 295 (CastExpression) '}' reduce using rule 295 (CastExpression) ')' reduce using rule 295 (CastExpression) ':' reduce using rule 295 (CastExpression) '+' reduce using rule 295 (CastExpression) '-' reduce using rule 295 (CastExpression) '/' reduce using rule 295 (CastExpression) '%' reduce using rule 295 (CastExpression) '<' reduce using rule 295 (CastExpression) '>' reduce using rule 295 (CastExpression) '&' reduce using rule 295 (CastExpression) '^' reduce using rule 295 (CastExpression) '|' reduce using rule 295 (CastExpression) '?' reduce using rule 295 (CastExpression)
298 CastExpression → '(' Name Dims ')' UnaryExpressionNotPlusMinus • [INSTANCEOF, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, ']', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 298 (CastExpression) LTLT reduce using rule 298 (CastExpression) GTGT reduce using rule 298 (CastExpression) GTGTGT reduce using rule 298 (CastExpression) LTEQ reduce using rule 298 (CastExpression) GTEQ reduce using rule 298 (CastExpression) EQEQ reduce using rule 298 (CastExpression) BANGEQ reduce using rule 298 (CastExpression) ANDAND reduce using rule 298 (CastExpression) OROR reduce using rule 298 (CastExpression) ']' reduce using rule 298 (CastExpression) ';' reduce using rule 298 (CastExpression) '*' reduce using rule 298 (CastExpression) ',' reduce using rule 298 (CastExpression) '}' reduce using rule 298 (CastExpression) ')' reduce using rule 298 (CastExpression) ':' reduce using rule 298 (CastExpression) '+' reduce using rule 298 (CastExpression) '-' reduce using rule 298 (CastExpression) '/' reduce using rule 298 (CastExpression) '%' reduce using rule 298 (CastExpression) '<' reduce using rule 298 (CastExpression) '>' reduce using rule 298 (CastExpression) '&' reduce using rule 298 (CastExpression) '^' reduce using rule 298 (CastExpression) '|' reduce using rule 298 (CastExpression) '?' reduce using rule 298 (CastExpression)
330 ConditionalExpression → ConditionalOrExpression '?' Expression ':' ConditionalExpression • [']', ';', ',', '}', ')', ':'] ']' reduce using rule 330 (ConditionalExpression) ';' reduce using rule 330 (ConditionalExpression) ',' reduce using rule 330 (ConditionalExpression) '}' reduce using rule 330 (ConditionalExpression) ')' reduce using rule 330 (ConditionalExpression) ':' reduce using rule 330 (ConditionalExpression)
151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 244 CatchClause → CATCH '(' FormalParameter ')' • Block '{' shift, and go to state 122 Block go to state 581
272 MethodInvocation → Primary '.' Identifier '(' ArgumentList ')' • [INSTANCEOF, PLUSPLUS, MINUSMINUS, LTLT, GTGT, GTGTGT, LTEQ, GTEQ, EQEQ, BANGEQ, ANDAND, OROR, '[', ']', '.', ';', '*', ',', '}', ')', ':', '+', '-', '/', '%', '<', '>', '&', '^', '|', '?'] INSTANCEOF reduce using rule 272 (MethodInvocation) PLUSPLUS reduce using rule 272 (MethodInvocation) MINUSMINUS reduce using rule 272 (MethodInvocation) LTLT reduce using rule 272 (MethodInvocation) GTGT reduce using rule 272 (MethodInvocation) GTGTGT reduce using rule 272 (MethodInvocation) LTEQ reduce using rule 272 (MethodInvocation) GTEQ reduce using rule 272 (MethodInvocation) EQEQ reduce using rule 272 (MethodInvocation) BANGEQ reduce using rule 272 (MethodInvocation) ANDAND reduce using rule 272 (MethodInvocation) OROR reduce using rule 272 (MethodInvocation) '[' reduce using rule 272 (MethodInvocation) ']' reduce using rule 272 (MethodInvocation) '.' reduce using rule 272 (MethodInvocation) ';' reduce using rule 272 (MethodInvocation) '*' reduce using rule 272 (MethodInvocation) ',' reduce using rule 272 (MethodInvocation) '}' reduce using rule 272 (MethodInvocation) ')' reduce using rule 272 (MethodInvocation) ':' reduce using rule 272 (MethodInvocation) '+' reduce using rule 272 (MethodInvocation) '-' reduce using rule 272 (MethodInvocation) '/' reduce using rule 272 (MethodInvocation) '%' reduce using rule 272 (MethodInvocation) '<' reduce using rule 272 (MethodInvocation) '>' reduce using rule 272 (MethodInvocation) '&' reduce using rule 272 (MethodInvocation) '^' reduce using rule 272 (MethodInvocation) '|' reduce using rule 272 (MethodInvocation) '?' reduce using rule 272 (MethodInvocation)
183 LabeledStatementNoShortIf → Identifier ':' StatementNoShortIf • [ELSE] ELSE reduce using rule 183 (LabeledStatementNoShortIf)
192 IfThenStatement → IF '(' Expression • ')' Statement 193 IfThenElseStatement → IF '(' Expression • ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → IF '(' Expression • ')' StatementNoShortIf ELSE StatementNoShortIf ')' shift, and go to state 582
207 WhileStatement → WHILE '(' Expression • ')' Statement 208 WhileStatementNoShortIf → WHILE '(' Expression • ')' StatementNoShortIf ')' shift, and go to state 583
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 214 ForStatement → FOR '(' ';' • Expression ';' ForUpdate ')' Statement 215 | FOR '(' ';' • Expression ';' ')' Statement 216 | FOR '(' ';' • ';' ForUpdate ')' Statement 217 | FOR '(' ';' • ';' ')' Statement 222 ForStatementNoShortIf → FOR '(' ';' • Expression ';' ForUpdate ')' StatementNoShortIf 223 | FOR '(' ';' • Expression ';' ')' StatementNoShortIf 224 | FOR '(' ';' • ';' ForUpdate ')' StatementNoShortIf 225 | FOR '(' ';' • ';' ')' StatementNoShortIf 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 584 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 585
210 ForStatement → FOR '(' ForInit • ';' Expression ';' ForUpdate ')' Statement 211 | FOR '(' ForInit • ';' Expression ';' ')' Statement 212 | FOR '(' ForInit • ';' ';' ForUpdate ')' Statement 213 | FOR '(' ForInit • ';' ';' ')' Statement 218 ForStatementNoShortIf → FOR '(' ForInit • ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | FOR '(' ForInit • ';' Expression ';' ')' StatementNoShortIf 220 | FOR '(' ForInit • ';' ';' ForUpdate ')' StatementNoShortIf 221 | FOR '(' ForInit • ';' ';' ')' StatementNoShortIf ';' shift, and go to state 586
193 IfThenElseStatement → IF '(' Expression ')' StatementNoShortIf ELSE Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 193 (IfThenElseStatement) IntegerLiteral reduce using rule 193 (IfThenElseStatement) FloatingPointLiteral reduce using rule 193 (IfThenElseStatement) BooleanLiteral reduce using rule 193 (IfThenElseStatement) CharacterLiteral reduce using rule 193 (IfThenElseStatement) StringLiteral reduce using rule 193 (IfThenElseStatement) NullLiteral reduce using rule 193 (IfThenElseStatement) BOOLEAN reduce using rule 193 (IfThenElseStatement) BYTE reduce using rule 193 (IfThenElseStatement) SHORT reduce using rule 193 (IfThenElseStatement) INT reduce using rule 193 (IfThenElseStatement) LONG reduce using rule 193 (IfThenElseStatement) CHAR reduce using rule 193 (IfThenElseStatement) FLOAT reduce using rule 193 (IfThenElseStatement) DOUBLE reduce using rule 193 (IfThenElseStatement) SYNCHRONIZED reduce using rule 193 (IfThenElseStatement) THIS reduce using rule 193 (IfThenElseStatement) SUPER reduce using rule 193 (IfThenElseStatement) IF reduce using rule 193 (IfThenElseStatement) SWITCH reduce using rule 193 (IfThenElseStatement) CASE reduce using rule 193 (IfThenElseStatement) DEFAULT reduce using rule 193 (IfThenElseStatement) WHILE reduce using rule 193 (IfThenElseStatement) DO reduce using rule 193 (IfThenElseStatement) FOR reduce using rule 193 (IfThenElseStatement) BREAK reduce using rule 193 (IfThenElseStatement) CONTINUE reduce using rule 193 (IfThenElseStatement) RETURN reduce using rule 193 (IfThenElseStatement) THROW reduce using rule 193 (IfThenElseStatement) TRY reduce using rule 193 (IfThenElseStatement) NEW reduce using rule 193 (IfThenElseStatement) PLUSPLUS reduce using rule 193 (IfThenElseStatement) MINUSMINUS reduce using rule 193 (IfThenElseStatement) ';' reduce using rule 193 (IfThenElseStatement) '{' reduce using rule 193 (IfThenElseStatement) '}' reduce using rule 193 (IfThenElseStatement) '(' reduce using rule 193 (IfThenElseStatement)
350 ConstantExpression → Expression • [':'] ':' reduce using rule 350 (ConstantExpression)
205 SwitchLabel → CASE ConstantExpression • ':' ':' shift, and go to state 587
206 SwitchLabel → DEFAULT ':' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 206 (SwitchLabel) IntegerLiteral reduce using rule 206 (SwitchLabel) FloatingPointLiteral reduce using rule 206 (SwitchLabel) BooleanLiteral reduce using rule 206 (SwitchLabel) CharacterLiteral reduce using rule 206 (SwitchLabel) StringLiteral reduce using rule 206 (SwitchLabel) NullLiteral reduce using rule 206 (SwitchLabel) BOOLEAN reduce using rule 206 (SwitchLabel) BYTE reduce using rule 206 (SwitchLabel) SHORT reduce using rule 206 (SwitchLabel) INT reduce using rule 206 (SwitchLabel) LONG reduce using rule 206 (SwitchLabel) CHAR reduce using rule 206 (SwitchLabel) FLOAT reduce using rule 206 (SwitchLabel) DOUBLE reduce using rule 206 (SwitchLabel) SYNCHRONIZED reduce using rule 206 (SwitchLabel) THIS reduce using rule 206 (SwitchLabel) SUPER reduce using rule 206 (SwitchLabel) IF reduce using rule 206 (SwitchLabel) SWITCH reduce using rule 206 (SwitchLabel) CASE reduce using rule 206 (SwitchLabel) DEFAULT reduce using rule 206 (SwitchLabel) WHILE reduce using rule 206 (SwitchLabel) DO reduce using rule 206 (SwitchLabel) FOR reduce using rule 206 (SwitchLabel) BREAK reduce using rule 206 (SwitchLabel) CONTINUE reduce using rule 206 (SwitchLabel) RETURN reduce using rule 206 (SwitchLabel) THROW reduce using rule 206 (SwitchLabel) TRY reduce using rule 206 (SwitchLabel) NEW reduce using rule 206 (SwitchLabel) PLUSPLUS reduce using rule 206 (SwitchLabel) MINUSMINUS reduce using rule 206 (SwitchLabel) ';' reduce using rule 206 (SwitchLabel) '{' reduce using rule 206 (SwitchLabel) '}' reduce using rule 206 (SwitchLabel) '(' reduce using rule 206 (SwitchLabel)
198 SwitchBlock → '{' SwitchBlockStatementGroups '}' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 198 (SwitchBlock) IntegerLiteral reduce using rule 198 (SwitchBlock) FloatingPointLiteral reduce using rule 198 (SwitchBlock) BooleanLiteral reduce using rule 198 (SwitchBlock) CharacterLiteral reduce using rule 198 (SwitchBlock) StringLiteral reduce using rule 198 (SwitchBlock) NullLiteral reduce using rule 198 (SwitchBlock) BOOLEAN reduce using rule 198 (SwitchBlock) BYTE reduce using rule 198 (SwitchBlock) SHORT reduce using rule 198 (SwitchBlock) INT reduce using rule 198 (SwitchBlock) LONG reduce using rule 198 (SwitchBlock) CHAR reduce using rule 198 (SwitchBlock) FLOAT reduce using rule 198 (SwitchBlock) DOUBLE reduce using rule 198 (SwitchBlock) SYNCHRONIZED reduce using rule 198 (SwitchBlock) THIS reduce using rule 198 (SwitchBlock) SUPER reduce using rule 198 (SwitchBlock) IF reduce using rule 198 (SwitchBlock) ELSE reduce using rule 198 (SwitchBlock) SWITCH reduce using rule 198 (SwitchBlock) CASE reduce using rule 198 (SwitchBlock) DEFAULT reduce using rule 198 (SwitchBlock) WHILE reduce using rule 198 (SwitchBlock) DO reduce using rule 198 (SwitchBlock) FOR reduce using rule 198 (SwitchBlock) BREAK reduce using rule 198 (SwitchBlock) CONTINUE reduce using rule 198 (SwitchBlock) RETURN reduce using rule 198 (SwitchBlock) THROW reduce using rule 198 (SwitchBlock) TRY reduce using rule 198 (SwitchBlock) NEW reduce using rule 198 (SwitchBlock) PLUSPLUS reduce using rule 198 (SwitchBlock) MINUSMINUS reduce using rule 198 (SwitchBlock) ';' reduce using rule 198 (SwitchBlock) '{' reduce using rule 198 (SwitchBlock) '}' reduce using rule 198 (SwitchBlock) '(' reduce using rule 198 (SwitchBlock)
201 SwitchBlockStatementGroups → SwitchBlockStatementGroups SwitchBlockStatementGroup • [CASE, DEFAULT, '}'] CASE reduce using rule 201 (SwitchBlockStatementGroups) DEFAULT reduce using rule 201 (SwitchBlockStatementGroups) '}' reduce using rule 201 (SwitchBlockStatementGroups)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 153 BlockStatements → • BlockStatement 154 | • BlockStatements BlockStatement 155 BlockStatement → • LocalVariableDeclarationStatement 156 | • Statement 157 LocalVariableDeclarationStatement → • LocalVariableDeclaration ';' 158 LocalVariableDeclaration → • Type VariableDeclarators 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 196 SwitchBlock → '{' SwitchBlockStatementGroups SwitchLabels • '}' 202 SwitchBlockStatementGroup → SwitchLabels • BlockStatements 204 SwitchLabels → SwitchLabels • SwitchLabel 205 SwitchLabel → • CASE ConstantExpression ':' 206 | • DEFAULT ':' 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 CASE shift, and go to state 537 DEFAULT shift, and go to state 538 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '}' shift, and go to state 588 '(' shift, and go to state 182 Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 BlockStatements go to state 571 BlockStatement go to state 188 LocalVariableDeclarationStatement go to state 189 LocalVariableDeclaration go to state 190 Statement go to state 191 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 SwitchLabel go to state 572 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
197 SwitchBlock → '{' SwitchLabels '}' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 197 (SwitchBlock) IntegerLiteral reduce using rule 197 (SwitchBlock) FloatingPointLiteral reduce using rule 197 (SwitchBlock) BooleanLiteral reduce using rule 197 (SwitchBlock) CharacterLiteral reduce using rule 197 (SwitchBlock) StringLiteral reduce using rule 197 (SwitchBlock) NullLiteral reduce using rule 197 (SwitchBlock) BOOLEAN reduce using rule 197 (SwitchBlock) BYTE reduce using rule 197 (SwitchBlock) SHORT reduce using rule 197 (SwitchBlock) INT reduce using rule 197 (SwitchBlock) LONG reduce using rule 197 (SwitchBlock) CHAR reduce using rule 197 (SwitchBlock) FLOAT reduce using rule 197 (SwitchBlock) DOUBLE reduce using rule 197 (SwitchBlock) SYNCHRONIZED reduce using rule 197 (SwitchBlock) THIS reduce using rule 197 (SwitchBlock) SUPER reduce using rule 197 (SwitchBlock) IF reduce using rule 197 (SwitchBlock) ELSE reduce using rule 197 (SwitchBlock) SWITCH reduce using rule 197 (SwitchBlock) CASE reduce using rule 197 (SwitchBlock) DEFAULT reduce using rule 197 (SwitchBlock) WHILE reduce using rule 197 (SwitchBlock) DO reduce using rule 197 (SwitchBlock) FOR reduce using rule 197 (SwitchBlock) BREAK reduce using rule 197 (SwitchBlock) CONTINUE reduce using rule 197 (SwitchBlock) RETURN reduce using rule 197 (SwitchBlock) THROW reduce using rule 197 (SwitchBlock) TRY reduce using rule 197 (SwitchBlock) NEW reduce using rule 197 (SwitchBlock) PLUSPLUS reduce using rule 197 (SwitchBlock) MINUSMINUS reduce using rule 197 (SwitchBlock) ';' reduce using rule 197 (SwitchBlock) '{' reduce using rule 197 (SwitchBlock) '}' reduce using rule 197 (SwitchBlock) '(' reduce using rule 197 (SwitchBlock)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 8 Type → • PrimitiveType 9 | • ReferenceType 10 PrimitiveType → • NumericType 11 | • BOOLEAN 12 NumericType → • IntegralType 13 | • FloatingPointType 14 IntegralType → • BYTE 15 | • SHORT 16 | • INT 17 | • LONG 18 | • CHAR 19 FloatingPointType → • FLOAT 20 | • DOUBLE 21 ReferenceType → • ClassOrInterfaceType 22 | • ArrayType 23 ClassOrInterfaceType → • Name 26 ArrayType → • PrimitiveType '[' ']' 27 | • Name '[' ']' 28 | • ArrayType '[' ']' 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 154 BlockStatements → BlockStatements • BlockStatement 155 BlockStatement → • LocalVariableDeclarationStatement 156 | • Statement 157 LocalVariableDeclarationStatement → • LocalVariableDeclaration ';' 158 LocalVariableDeclaration → • Type VariableDeclarators 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 202 SwitchBlockStatementGroup → SwitchLabels BlockStatements • [CASE, DEFAULT, '}'] 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 BOOLEAN shift, and go to state 70 BYTE shift, and go to state 71 SHORT shift, and go to state 72 INT shift, and go to state 73 LONG shift, and go to state 74 CHAR shift, and go to state 75 FLOAT shift, and go to state 76 DOUBLE shift, and go to state 77 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 CASE reduce using rule 202 (SwitchBlockStatementGroup) DEFAULT reduce using rule 202 (SwitchBlockStatementGroup) '}' reduce using rule 202 (SwitchBlockStatementGroup) Literal go to state 183 Type go to state 184 PrimitiveType go to state 82 NumericType go to state 83 IntegralType go to state 84 FloatingPointType go to state 85 ReferenceType go to state 86 ClassOrInterfaceType go to state 87 ArrayType go to state 88 Name go to state 185 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 BlockStatement go to state 311 LocalVariableDeclarationStatement go to state 189 LocalVariableDeclaration go to state 190 Statement go to state 191 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
204 SwitchLabels → SwitchLabels SwitchLabel • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 204 (SwitchLabels) IntegerLiteral reduce using rule 204 (SwitchLabels) FloatingPointLiteral reduce using rule 204 (SwitchLabels) BooleanLiteral reduce using rule 204 (SwitchLabels) CharacterLiteral reduce using rule 204 (SwitchLabels) StringLiteral reduce using rule 204 (SwitchLabels) NullLiteral reduce using rule 204 (SwitchLabels) BOOLEAN reduce using rule 204 (SwitchLabels) BYTE reduce using rule 204 (SwitchLabels) SHORT reduce using rule 204 (SwitchLabels) INT reduce using rule 204 (SwitchLabels) LONG reduce using rule 204 (SwitchLabels) CHAR reduce using rule 204 (SwitchLabels) FLOAT reduce using rule 204 (SwitchLabels) DOUBLE reduce using rule 204 (SwitchLabels) SYNCHRONIZED reduce using rule 204 (SwitchLabels) THIS reduce using rule 204 (SwitchLabels) SUPER reduce using rule 204 (SwitchLabels) IF reduce using rule 204 (SwitchLabels) SWITCH reduce using rule 204 (SwitchLabels) CASE reduce using rule 204 (SwitchLabels) DEFAULT reduce using rule 204 (SwitchLabels) WHILE reduce using rule 204 (SwitchLabels) DO reduce using rule 204 (SwitchLabels) FOR reduce using rule 204 (SwitchLabels) BREAK reduce using rule 204 (SwitchLabels) CONTINUE reduce using rule 204 (SwitchLabels) RETURN reduce using rule 204 (SwitchLabels) THROW reduce using rule 204 (SwitchLabels) TRY reduce using rule 204 (SwitchLabels) NEW reduce using rule 204 (SwitchLabels) PLUSPLUS reduce using rule 204 (SwitchLabels) MINUSMINUS reduce using rule 204 (SwitchLabels) ';' reduce using rule 204 (SwitchLabels) '{' reduce using rule 204 (SwitchLabels) '}' reduce using rule 204 (SwitchLabels) '(' reduce using rule 204 (SwitchLabels)
209 DoStatement → DO Statement WHILE '(' Expression ')' ';' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 209 (DoStatement) IntegerLiteral reduce using rule 209 (DoStatement) FloatingPointLiteral reduce using rule 209 (DoStatement) BooleanLiteral reduce using rule 209 (DoStatement) CharacterLiteral reduce using rule 209 (DoStatement) StringLiteral reduce using rule 209 (DoStatement) NullLiteral reduce using rule 209 (DoStatement) BOOLEAN reduce using rule 209 (DoStatement) BYTE reduce using rule 209 (DoStatement) SHORT reduce using rule 209 (DoStatement) INT reduce using rule 209 (DoStatement) LONG reduce using rule 209 (DoStatement) CHAR reduce using rule 209 (DoStatement) FLOAT reduce using rule 209 (DoStatement) DOUBLE reduce using rule 209 (DoStatement) SYNCHRONIZED reduce using rule 209 (DoStatement) THIS reduce using rule 209 (DoStatement) SUPER reduce using rule 209 (DoStatement) IF reduce using rule 209 (DoStatement) ELSE reduce using rule 209 (DoStatement) SWITCH reduce using rule 209 (DoStatement) CASE reduce using rule 209 (DoStatement) DEFAULT reduce using rule 209 (DoStatement) WHILE reduce using rule 209 (DoStatement) DO reduce using rule 209 (DoStatement) FOR reduce using rule 209 (DoStatement) BREAK reduce using rule 209 (DoStatement) CONTINUE reduce using rule 209 (DoStatement) RETURN reduce using rule 209 (DoStatement) THROW reduce using rule 209 (DoStatement) TRY reduce using rule 209 (DoStatement) NEW reduce using rule 209 (DoStatement) PLUSPLUS reduce using rule 209 (DoStatement) MINUSMINUS reduce using rule 209 (DoStatement) ';' reduce using rule 209 (DoStatement) '{' reduce using rule 209 (DoStatement) '}' reduce using rule 209 (DoStatement) '(' reduce using rule 209 (DoStatement)
216 ForStatement → FOR '(' ';' ';' ForUpdate ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 216 (ForStatement) IntegerLiteral reduce using rule 216 (ForStatement) FloatingPointLiteral reduce using rule 216 (ForStatement) BooleanLiteral reduce using rule 216 (ForStatement) CharacterLiteral reduce using rule 216 (ForStatement) StringLiteral reduce using rule 216 (ForStatement) NullLiteral reduce using rule 216 (ForStatement) BOOLEAN reduce using rule 216 (ForStatement) BYTE reduce using rule 216 (ForStatement) SHORT reduce using rule 216 (ForStatement) INT reduce using rule 216 (ForStatement) LONG reduce using rule 216 (ForStatement) CHAR reduce using rule 216 (ForStatement) FLOAT reduce using rule 216 (ForStatement) DOUBLE reduce using rule 216 (ForStatement) SYNCHRONIZED reduce using rule 216 (ForStatement) THIS reduce using rule 216 (ForStatement) SUPER reduce using rule 216 (ForStatement) IF reduce using rule 216 (ForStatement) SWITCH reduce using rule 216 (ForStatement) CASE reduce using rule 216 (ForStatement) DEFAULT reduce using rule 216 (ForStatement) WHILE reduce using rule 216 (ForStatement) DO reduce using rule 216 (ForStatement) FOR reduce using rule 216 (ForStatement) BREAK reduce using rule 216 (ForStatement) CONTINUE reduce using rule 216 (ForStatement) RETURN reduce using rule 216 (ForStatement) THROW reduce using rule 216 (ForStatement) TRY reduce using rule 216 (ForStatement) NEW reduce using rule 216 (ForStatement) PLUSPLUS reduce using rule 216 (ForStatement) MINUSMINUS reduce using rule 216 (ForStatement) ';' reduce using rule 216 (ForStatement) '{' reduce using rule 216 (ForStatement) '}' reduce using rule 216 (ForStatement) '(' reduce using rule 216 (ForStatement)
215 ForStatement → FOR '(' ';' Expression ';' ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 215 (ForStatement) IntegerLiteral reduce using rule 215 (ForStatement) FloatingPointLiteral reduce using rule 215 (ForStatement) BooleanLiteral reduce using rule 215 (ForStatement) CharacterLiteral reduce using rule 215 (ForStatement) StringLiteral reduce using rule 215 (ForStatement) NullLiteral reduce using rule 215 (ForStatement) BOOLEAN reduce using rule 215 (ForStatement) BYTE reduce using rule 215 (ForStatement) SHORT reduce using rule 215 (ForStatement) INT reduce using rule 215 (ForStatement) LONG reduce using rule 215 (ForStatement) CHAR reduce using rule 215 (ForStatement) FLOAT reduce using rule 215 (ForStatement) DOUBLE reduce using rule 215 (ForStatement) SYNCHRONIZED reduce using rule 215 (ForStatement) THIS reduce using rule 215 (ForStatement) SUPER reduce using rule 215 (ForStatement) IF reduce using rule 215 (ForStatement) SWITCH reduce using rule 215 (ForStatement) CASE reduce using rule 215 (ForStatement) DEFAULT reduce using rule 215 (ForStatement) WHILE reduce using rule 215 (ForStatement) DO reduce using rule 215 (ForStatement) FOR reduce using rule 215 (ForStatement) BREAK reduce using rule 215 (ForStatement) CONTINUE reduce using rule 215 (ForStatement) RETURN reduce using rule 215 (ForStatement) THROW reduce using rule 215 (ForStatement) TRY reduce using rule 215 (ForStatement) NEW reduce using rule 215 (ForStatement) PLUSPLUS reduce using rule 215 (ForStatement) MINUSMINUS reduce using rule 215 (ForStatement) ';' reduce using rule 215 (ForStatement) '{' reduce using rule 215 (ForStatement) '}' reduce using rule 215 (ForStatement) '(' reduce using rule 215 (ForStatement)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 214 | FOR '(' ';' Expression ';' ForUpdate ')' • Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 589 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
213 ForStatement → FOR '(' ForInit ';' ';' ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 213 (ForStatement) IntegerLiteral reduce using rule 213 (ForStatement) FloatingPointLiteral reduce using rule 213 (ForStatement) BooleanLiteral reduce using rule 213 (ForStatement) CharacterLiteral reduce using rule 213 (ForStatement) StringLiteral reduce using rule 213 (ForStatement) NullLiteral reduce using rule 213 (ForStatement) BOOLEAN reduce using rule 213 (ForStatement) BYTE reduce using rule 213 (ForStatement) SHORT reduce using rule 213 (ForStatement) INT reduce using rule 213 (ForStatement) LONG reduce using rule 213 (ForStatement) CHAR reduce using rule 213 (ForStatement) FLOAT reduce using rule 213 (ForStatement) DOUBLE reduce using rule 213 (ForStatement) SYNCHRONIZED reduce using rule 213 (ForStatement) THIS reduce using rule 213 (ForStatement) SUPER reduce using rule 213 (ForStatement) IF reduce using rule 213 (ForStatement) SWITCH reduce using rule 213 (ForStatement) CASE reduce using rule 213 (ForStatement) DEFAULT reduce using rule 213 (ForStatement) WHILE reduce using rule 213 (ForStatement) DO reduce using rule 213 (ForStatement) FOR reduce using rule 213 (ForStatement) BREAK reduce using rule 213 (ForStatement) CONTINUE reduce using rule 213 (ForStatement) RETURN reduce using rule 213 (ForStatement) THROW reduce using rule 213 (ForStatement) TRY reduce using rule 213 (ForStatement) NEW reduce using rule 213 (ForStatement) PLUSPLUS reduce using rule 213 (ForStatement) MINUSMINUS reduce using rule 213 (ForStatement) ';' reduce using rule 213 (ForStatement) '{' reduce using rule 213 (ForStatement) '}' reduce using rule 213 (ForStatement) '(' reduce using rule 213 (ForStatement)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 212 | FOR '(' ForInit ';' ';' ForUpdate ')' • Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 590 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 211 | FOR '(' ForInit ';' Expression ';' ')' • Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 591 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
210 ForStatement → FOR '(' ForInit ';' Expression ';' ForUpdate • ')' Statement ')' shift, and go to state 592
244 CatchClause → CATCH '(' FormalParameter ')' Block • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, CATCH, FINALLY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 244 (CatchClause) IntegerLiteral reduce using rule 244 (CatchClause) FloatingPointLiteral reduce using rule 244 (CatchClause) BooleanLiteral reduce using rule 244 (CatchClause) CharacterLiteral reduce using rule 244 (CatchClause) StringLiteral reduce using rule 244 (CatchClause) NullLiteral reduce using rule 244 (CatchClause) BOOLEAN reduce using rule 244 (CatchClause) BYTE reduce using rule 244 (CatchClause) SHORT reduce using rule 244 (CatchClause) INT reduce using rule 244 (CatchClause) LONG reduce using rule 244 (CatchClause) CHAR reduce using rule 244 (CatchClause) FLOAT reduce using rule 244 (CatchClause) DOUBLE reduce using rule 244 (CatchClause) SYNCHRONIZED reduce using rule 244 (CatchClause) THIS reduce using rule 244 (CatchClause) SUPER reduce using rule 244 (CatchClause) IF reduce using rule 244 (CatchClause) ELSE reduce using rule 244 (CatchClause) SWITCH reduce using rule 244 (CatchClause) CASE reduce using rule 244 (CatchClause) DEFAULT reduce using rule 244 (CatchClause) WHILE reduce using rule 244 (CatchClause) DO reduce using rule 244 (CatchClause) FOR reduce using rule 244 (CatchClause) BREAK reduce using rule 244 (CatchClause) CONTINUE reduce using rule 244 (CatchClause) RETURN reduce using rule 244 (CatchClause) THROW reduce using rule 244 (CatchClause) TRY reduce using rule 244 (CatchClause) CATCH reduce using rule 244 (CatchClause) FINALLY reduce using rule 244 (CatchClause) NEW reduce using rule 244 (CatchClause) PLUSPLUS reduce using rule 244 (CatchClause) MINUSMINUS reduce using rule 244 (CatchClause) ';' reduce using rule 244 (CatchClause) '{' reduce using rule 244 (CatchClause) '}' reduce using rule 244 (CatchClause) '(' reduce using rule 244 (CatchClause)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 192 | IF '(' Expression ')' • Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 193 | IF '(' Expression ')' • StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 194 | IF '(' Expression ')' • StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 496 StatementNoShortIf go to state 593 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 207 | WHILE '(' Expression ')' • Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 208 | WHILE '(' Expression ')' • StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 505 StatementNoShortIf go to state 594 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 216 ForStatement → FOR '(' ';' ';' • ForUpdate ')' Statement 217 | FOR '(' ';' ';' • ')' Statement 224 ForStatementNoShortIf → FOR '(' ';' ';' • ForUpdate ')' StatementNoShortIf 225 | FOR '(' ';' ';' • ')' StatementNoShortIf 228 ForUpdate → • StatementExpressionList 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 182 ')' shift, and go to state 595 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 StatementExpression go to state 363 ForUpdate go to state 596 StatementExpressionList go to state 509 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
214 ForStatement → FOR '(' ';' Expression • ';' ForUpdate ')' Statement 215 | FOR '(' ';' Expression • ';' ')' Statement 222 ForStatementNoShortIf → FOR '(' ';' Expression • ';' ForUpdate ')' StatementNoShortIf 223 | FOR '(' ';' Expression • ';' ')' StatementNoShortIf ';' shift, and go to state 597
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 210 ForStatement → FOR '(' ForInit ';' • Expression ';' ForUpdate ')' Statement 211 | FOR '(' ForInit ';' • Expression ';' ')' Statement 212 | FOR '(' ForInit ';' • ';' ForUpdate ')' Statement 213 | FOR '(' ForInit ';' • ';' ')' Statement 218 ForStatementNoShortIf → FOR '(' ForInit ';' • Expression ';' ForUpdate ')' StatementNoShortIf 219 | FOR '(' ForInit ';' • Expression ';' ')' StatementNoShortIf 220 | FOR '(' ForInit ';' • ';' ForUpdate ')' StatementNoShortIf 221 | FOR '(' ForInit ';' • ';' ')' StatementNoShortIf 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 284 UnaryExpression → • PreIncrementExpression 285 | • PreDecrementExpression 286 | • '+' UnaryExpression 287 | • '-' UnaryExpression 288 | • UnaryExpressionNotPlusMinus 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 291 UnaryExpressionNotPlusMinus → • PostfixExpression 292 | • '~' UnaryExpression 293 | • '!' UnaryExpression 294 | • CastExpression 295 CastExpression → • '(' PrimitiveType Dims ')' UnaryExpression 296 | • '(' PrimitiveType ')' UnaryExpression 297 | • '(' Expression ')' UnaryExpressionNotPlusMinus 298 | • '(' Name Dims ')' UnaryExpressionNotPlusMinus 299 MultiplicativeExpression → • UnaryExpression 300 | • MultiplicativeExpression '*' UnaryExpression 301 | • MultiplicativeExpression '/' UnaryExpression 302 | • MultiplicativeExpression '%' UnaryExpression 303 AdditiveExpression → • MultiplicativeExpression 304 | • AdditiveExpression '+' MultiplicativeExpression 305 | • AdditiveExpression '-' MultiplicativeExpression 306 ShiftExpression → • AdditiveExpression 307 | • ShiftExpression LTLT AdditiveExpression 308 | • ShiftExpression GTGT AdditiveExpression 309 | • ShiftExpression GTGTGT AdditiveExpression 310 RelationalExpression → • ShiftExpression 311 | • RelationalExpression '<' ShiftExpression 312 | • RelationalExpression '>' ShiftExpression 313 | • RelationalExpression LTEQ ShiftExpression 314 | • RelationalExpression GTEQ ShiftExpression 315 | • RelationalExpression INSTANCEOF ReferenceType 316 EqualityExpression → • RelationalExpression 317 | • EqualityExpression EQEQ RelationalExpression 318 | • EqualityExpression BANGEQ RelationalExpression 319 AndExpression → • EqualityExpression 320 | • AndExpression '&' EqualityExpression 321 ExclusiveOrExpression → • AndExpression 322 | • ExclusiveOrExpression '^' AndExpression 323 InclusiveOrExpression → • ExclusiveOrExpression 324 | • InclusiveOrExpression '|' ExclusiveOrExpression 325 ConditionalAndExpression → • InclusiveOrExpression 326 | • ConditionalAndExpression ANDAND InclusiveOrExpression 327 ConditionalOrExpression → • ConditionalAndExpression 328 | • ConditionalOrExpression OROR ConditionalAndExpression 329 ConditionalExpression → • ConditionalOrExpression 330 | • ConditionalOrExpression '?' Expression ':' ConditionalExpression 331 AssignmentExpression → • ConditionalExpression 332 | • Assignment 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess 349 Expression → • AssignmentExpression Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 598 '(' shift, and go to state 266 '+' shift, and go to state 267 '-' shift, and go to state 268 '~' shift, and go to state 269 '!' shift, and go to state 270 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 271 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 272 ArrayAccess go to state 215 PostfixExpression go to state 273 PostIncrementExpression go to state 274 PostDecrementExpression go to state 275 UnaryExpression go to state 276 PreIncrementExpression go to state 277 PreDecrementExpression go to state 278 UnaryExpressionNotPlusMinus go to state 279 CastExpression go to state 280 MultiplicativeExpression go to state 281 AdditiveExpression go to state 282 ShiftExpression go to state 283 RelationalExpression go to state 284 EqualityExpression go to state 285 AndExpression go to state 286 ExclusiveOrExpression go to state 287 InclusiveOrExpression go to state 288 ConditionalAndExpression go to state 289 ConditionalOrExpression go to state 290 ConditionalExpression go to state 291 AssignmentExpression go to state 292 Assignment go to state 293 LeftHandSide go to state 222 Expression go to state 599
205 SwitchLabel → CASE ConstantExpression ':' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 205 (SwitchLabel) IntegerLiteral reduce using rule 205 (SwitchLabel) FloatingPointLiteral reduce using rule 205 (SwitchLabel) BooleanLiteral reduce using rule 205 (SwitchLabel) CharacterLiteral reduce using rule 205 (SwitchLabel) StringLiteral reduce using rule 205 (SwitchLabel) NullLiteral reduce using rule 205 (SwitchLabel) BOOLEAN reduce using rule 205 (SwitchLabel) BYTE reduce using rule 205 (SwitchLabel) SHORT reduce using rule 205 (SwitchLabel) INT reduce using rule 205 (SwitchLabel) LONG reduce using rule 205 (SwitchLabel) CHAR reduce using rule 205 (SwitchLabel) FLOAT reduce using rule 205 (SwitchLabel) DOUBLE reduce using rule 205 (SwitchLabel) SYNCHRONIZED reduce using rule 205 (SwitchLabel) THIS reduce using rule 205 (SwitchLabel) SUPER reduce using rule 205 (SwitchLabel) IF reduce using rule 205 (SwitchLabel) SWITCH reduce using rule 205 (SwitchLabel) CASE reduce using rule 205 (SwitchLabel) DEFAULT reduce using rule 205 (SwitchLabel) WHILE reduce using rule 205 (SwitchLabel) DO reduce using rule 205 (SwitchLabel) FOR reduce using rule 205 (SwitchLabel) BREAK reduce using rule 205 (SwitchLabel) CONTINUE reduce using rule 205 (SwitchLabel) RETURN reduce using rule 205 (SwitchLabel) THROW reduce using rule 205 (SwitchLabel) TRY reduce using rule 205 (SwitchLabel) NEW reduce using rule 205 (SwitchLabel) PLUSPLUS reduce using rule 205 (SwitchLabel) MINUSMINUS reduce using rule 205 (SwitchLabel) ';' reduce using rule 205 (SwitchLabel) '{' reduce using rule 205 (SwitchLabel) '}' reduce using rule 205 (SwitchLabel) '(' reduce using rule 205 (SwitchLabel)
196 SwitchBlock → '{' SwitchBlockStatementGroups SwitchLabels '}' • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, ELSE, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 196 (SwitchBlock) IntegerLiteral reduce using rule 196 (SwitchBlock) FloatingPointLiteral reduce using rule 196 (SwitchBlock) BooleanLiteral reduce using rule 196 (SwitchBlock) CharacterLiteral reduce using rule 196 (SwitchBlock) StringLiteral reduce using rule 196 (SwitchBlock) NullLiteral reduce using rule 196 (SwitchBlock) BOOLEAN reduce using rule 196 (SwitchBlock) BYTE reduce using rule 196 (SwitchBlock) SHORT reduce using rule 196 (SwitchBlock) INT reduce using rule 196 (SwitchBlock) LONG reduce using rule 196 (SwitchBlock) CHAR reduce using rule 196 (SwitchBlock) FLOAT reduce using rule 196 (SwitchBlock) DOUBLE reduce using rule 196 (SwitchBlock) SYNCHRONIZED reduce using rule 196 (SwitchBlock) THIS reduce using rule 196 (SwitchBlock) SUPER reduce using rule 196 (SwitchBlock) IF reduce using rule 196 (SwitchBlock) ELSE reduce using rule 196 (SwitchBlock) SWITCH reduce using rule 196 (SwitchBlock) CASE reduce using rule 196 (SwitchBlock) DEFAULT reduce using rule 196 (SwitchBlock) WHILE reduce using rule 196 (SwitchBlock) DO reduce using rule 196 (SwitchBlock) FOR reduce using rule 196 (SwitchBlock) BREAK reduce using rule 196 (SwitchBlock) CONTINUE reduce using rule 196 (SwitchBlock) RETURN reduce using rule 196 (SwitchBlock) THROW reduce using rule 196 (SwitchBlock) TRY reduce using rule 196 (SwitchBlock) NEW reduce using rule 196 (SwitchBlock) PLUSPLUS reduce using rule 196 (SwitchBlock) MINUSMINUS reduce using rule 196 (SwitchBlock) ';' reduce using rule 196 (SwitchBlock) '{' reduce using rule 196 (SwitchBlock) '}' reduce using rule 196 (SwitchBlock) '(' reduce using rule 196 (SwitchBlock)
214 ForStatement → FOR '(' ';' Expression ';' ForUpdate ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 214 (ForStatement) IntegerLiteral reduce using rule 214 (ForStatement) FloatingPointLiteral reduce using rule 214 (ForStatement) BooleanLiteral reduce using rule 214 (ForStatement) CharacterLiteral reduce using rule 214 (ForStatement) StringLiteral reduce using rule 214 (ForStatement) NullLiteral reduce using rule 214 (ForStatement) BOOLEAN reduce using rule 214 (ForStatement) BYTE reduce using rule 214 (ForStatement) SHORT reduce using rule 214 (ForStatement) INT reduce using rule 214 (ForStatement) LONG reduce using rule 214 (ForStatement) CHAR reduce using rule 214 (ForStatement) FLOAT reduce using rule 214 (ForStatement) DOUBLE reduce using rule 214 (ForStatement) SYNCHRONIZED reduce using rule 214 (ForStatement) THIS reduce using rule 214 (ForStatement) SUPER reduce using rule 214 (ForStatement) IF reduce using rule 214 (ForStatement) SWITCH reduce using rule 214 (ForStatement) CASE reduce using rule 214 (ForStatement) DEFAULT reduce using rule 214 (ForStatement) WHILE reduce using rule 214 (ForStatement) DO reduce using rule 214 (ForStatement) FOR reduce using rule 214 (ForStatement) BREAK reduce using rule 214 (ForStatement) CONTINUE reduce using rule 214 (ForStatement) RETURN reduce using rule 214 (ForStatement) THROW reduce using rule 214 (ForStatement) TRY reduce using rule 214 (ForStatement) NEW reduce using rule 214 (ForStatement) PLUSPLUS reduce using rule 214 (ForStatement) MINUSMINUS reduce using rule 214 (ForStatement) ';' reduce using rule 214 (ForStatement) '{' reduce using rule 214 (ForStatement) '}' reduce using rule 214 (ForStatement) '(' reduce using rule 214 (ForStatement)
212 ForStatement → FOR '(' ForInit ';' ';' ForUpdate ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 212 (ForStatement) IntegerLiteral reduce using rule 212 (ForStatement) FloatingPointLiteral reduce using rule 212 (ForStatement) BooleanLiteral reduce using rule 212 (ForStatement) CharacterLiteral reduce using rule 212 (ForStatement) StringLiteral reduce using rule 212 (ForStatement) NullLiteral reduce using rule 212 (ForStatement) BOOLEAN reduce using rule 212 (ForStatement) BYTE reduce using rule 212 (ForStatement) SHORT reduce using rule 212 (ForStatement) INT reduce using rule 212 (ForStatement) LONG reduce using rule 212 (ForStatement) CHAR reduce using rule 212 (ForStatement) FLOAT reduce using rule 212 (ForStatement) DOUBLE reduce using rule 212 (ForStatement) SYNCHRONIZED reduce using rule 212 (ForStatement) THIS reduce using rule 212 (ForStatement) SUPER reduce using rule 212 (ForStatement) IF reduce using rule 212 (ForStatement) SWITCH reduce using rule 212 (ForStatement) CASE reduce using rule 212 (ForStatement) DEFAULT reduce using rule 212 (ForStatement) WHILE reduce using rule 212 (ForStatement) DO reduce using rule 212 (ForStatement) FOR reduce using rule 212 (ForStatement) BREAK reduce using rule 212 (ForStatement) CONTINUE reduce using rule 212 (ForStatement) RETURN reduce using rule 212 (ForStatement) THROW reduce using rule 212 (ForStatement) TRY reduce using rule 212 (ForStatement) NEW reduce using rule 212 (ForStatement) PLUSPLUS reduce using rule 212 (ForStatement) MINUSMINUS reduce using rule 212 (ForStatement) ';' reduce using rule 212 (ForStatement) '{' reduce using rule 212 (ForStatement) '}' reduce using rule 212 (ForStatement) '(' reduce using rule 212 (ForStatement)
211 ForStatement → FOR '(' ForInit ';' Expression ';' ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 211 (ForStatement) IntegerLiteral reduce using rule 211 (ForStatement) FloatingPointLiteral reduce using rule 211 (ForStatement) BooleanLiteral reduce using rule 211 (ForStatement) CharacterLiteral reduce using rule 211 (ForStatement) StringLiteral reduce using rule 211 (ForStatement) NullLiteral reduce using rule 211 (ForStatement) BOOLEAN reduce using rule 211 (ForStatement) BYTE reduce using rule 211 (ForStatement) SHORT reduce using rule 211 (ForStatement) INT reduce using rule 211 (ForStatement) LONG reduce using rule 211 (ForStatement) CHAR reduce using rule 211 (ForStatement) FLOAT reduce using rule 211 (ForStatement) DOUBLE reduce using rule 211 (ForStatement) SYNCHRONIZED reduce using rule 211 (ForStatement) THIS reduce using rule 211 (ForStatement) SUPER reduce using rule 211 (ForStatement) IF reduce using rule 211 (ForStatement) SWITCH reduce using rule 211 (ForStatement) CASE reduce using rule 211 (ForStatement) DEFAULT reduce using rule 211 (ForStatement) WHILE reduce using rule 211 (ForStatement) DO reduce using rule 211 (ForStatement) FOR reduce using rule 211 (ForStatement) BREAK reduce using rule 211 (ForStatement) CONTINUE reduce using rule 211 (ForStatement) RETURN reduce using rule 211 (ForStatement) THROW reduce using rule 211 (ForStatement) TRY reduce using rule 211 (ForStatement) NEW reduce using rule 211 (ForStatement) PLUSPLUS reduce using rule 211 (ForStatement) MINUSMINUS reduce using rule 211 (ForStatement) ';' reduce using rule 211 (ForStatement) '{' reduce using rule 211 (ForStatement) '}' reduce using rule 211 (ForStatement) '(' reduce using rule 211 (ForStatement)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 210 | FOR '(' ForInit ';' Expression ';' ForUpdate ')' • Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 157 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 167 SWITCH shift, and go to state 168 WHILE shift, and go to state 169 DO shift, and go to state 170 FOR shift, and go to state 171 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 600 StatementWithoutTrailingSubstatement go to state 192 EmptyStatement go to state 193 LabeledStatement go to state 194 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 SwitchStatement go to state 199 WhileStatement go to state 200 DoStatement go to state 201 ForStatement go to state 202 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
193 IfThenElseStatement → IF '(' Expression ')' StatementNoShortIf • ELSE Statement 194 IfThenElseStatementNoShortIf → IF '(' Expression ')' StatementNoShortIf • ELSE StatementNoShortIf ELSE shift, and go to state 601
208 WhileStatementNoShortIf → WHILE '(' Expression ')' StatementNoShortIf • [ELSE] ELSE reduce using rule 208 (WhileStatementNoShortIf)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 217 | FOR '(' ';' ';' ')' • Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 225 | FOR '(' ';' ';' ')' • StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 545 StatementNoShortIf go to state 602 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
216 ForStatement → FOR '(' ';' ';' ForUpdate • ')' Statement 224 ForStatementNoShortIf → FOR '(' ';' ';' ForUpdate • ')' StatementNoShortIf ')' shift, and go to state 603
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 214 ForStatement → FOR '(' ';' Expression ';' • ForUpdate ')' Statement 215 | FOR '(' ';' Expression ';' • ')' Statement 222 ForStatementNoShortIf → FOR '(' ';' Expression ';' • ForUpdate ')' StatementNoShortIf 223 | FOR '(' ';' Expression ';' • ')' StatementNoShortIf 228 ForUpdate → • StatementExpressionList 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 182 ')' shift, and go to state 604 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 StatementExpression go to state 363 ForUpdate go to state 605 StatementExpressionList go to state 509 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 212 ForStatement → FOR '(' ForInit ';' ';' • ForUpdate ')' Statement 213 | FOR '(' ForInit ';' ';' • ')' Statement 220 ForStatementNoShortIf → FOR '(' ForInit ';' ';' • ForUpdate ')' StatementNoShortIf 221 | FOR '(' ForInit ';' ';' • ')' StatementNoShortIf 228 ForUpdate → • StatementExpressionList 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 182 ')' shift, and go to state 606 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 StatementExpression go to state 363 ForUpdate go to state 607 StatementExpressionList go to state 509 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
210 ForStatement → FOR '(' ForInit ';' Expression • ';' ForUpdate ')' Statement 211 | FOR '(' ForInit ';' Expression • ';' ')' Statement 218 ForStatementNoShortIf → FOR '(' ForInit ';' Expression • ';' ForUpdate ')' StatementNoShortIf 219 | FOR '(' ForInit ';' Expression • ';' ')' StatementNoShortIf ';' shift, and go to state 608
210 ForStatement → FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement • [Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral, BOOLEAN, BYTE, SHORT, INT, LONG, CHAR, FLOAT, DOUBLE, SYNCHRONIZED, THIS, SUPER, IF, SWITCH, CASE, DEFAULT, WHILE, DO, FOR, BREAK, CONTINUE, RETURN, THROW, TRY, NEW, PLUSPLUS, MINUSMINUS, ';', '{', '}', '('] Identifier reduce using rule 210 (ForStatement) IntegerLiteral reduce using rule 210 (ForStatement) FloatingPointLiteral reduce using rule 210 (ForStatement) BooleanLiteral reduce using rule 210 (ForStatement) CharacterLiteral reduce using rule 210 (ForStatement) StringLiteral reduce using rule 210 (ForStatement) NullLiteral reduce using rule 210 (ForStatement) BOOLEAN reduce using rule 210 (ForStatement) BYTE reduce using rule 210 (ForStatement) SHORT reduce using rule 210 (ForStatement) INT reduce using rule 210 (ForStatement) LONG reduce using rule 210 (ForStatement) CHAR reduce using rule 210 (ForStatement) FLOAT reduce using rule 210 (ForStatement) DOUBLE reduce using rule 210 (ForStatement) SYNCHRONIZED reduce using rule 210 (ForStatement) THIS reduce using rule 210 (ForStatement) SUPER reduce using rule 210 (ForStatement) IF reduce using rule 210 (ForStatement) SWITCH reduce using rule 210 (ForStatement) CASE reduce using rule 210 (ForStatement) DEFAULT reduce using rule 210 (ForStatement) WHILE reduce using rule 210 (ForStatement) DO reduce using rule 210 (ForStatement) FOR reduce using rule 210 (ForStatement) BREAK reduce using rule 210 (ForStatement) CONTINUE reduce using rule 210 (ForStatement) RETURN reduce using rule 210 (ForStatement) THROW reduce using rule 210 (ForStatement) TRY reduce using rule 210 (ForStatement) NEW reduce using rule 210 (ForStatement) PLUSPLUS reduce using rule 210 (ForStatement) MINUSMINUS reduce using rule 210 (ForStatement) ';' reduce using rule 210 (ForStatement) '{' reduce using rule 210 (ForStatement) '}' reduce using rule 210 (ForStatement) '(' reduce using rule 210 (ForStatement)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 193 | IF '(' Expression ')' StatementNoShortIf ELSE • Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 194 | IF '(' Expression ')' StatementNoShortIf ELSE • StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 563 StatementNoShortIf go to state 609 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
225 ForStatementNoShortIf → FOR '(' ';' ';' ')' StatementNoShortIf • [ELSE] ELSE reduce using rule 225 (ForStatementNoShortIf)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 216 | FOR '(' ';' ';' ForUpdate ')' • Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 224 | FOR '(' ';' ';' ForUpdate ')' • StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 574 StatementNoShortIf go to state 610 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 215 | FOR '(' ';' Expression ';' ')' • Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 223 | FOR '(' ';' Expression ';' ')' • StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 575 StatementNoShortIf go to state 611 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
214 ForStatement → FOR '(' ';' Expression ';' ForUpdate • ')' Statement 222 ForStatementNoShortIf → FOR '(' ';' Expression ';' ForUpdate • ')' StatementNoShortIf ')' shift, and go to state 612
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 213 | FOR '(' ForInit ';' ';' ')' • Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 221 | FOR '(' ForInit ';' ';' ')' • StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 577 StatementNoShortIf go to state 613 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
212 ForStatement → FOR '(' ForInit ';' ';' ForUpdate • ')' Statement 220 ForStatementNoShortIf → FOR '(' ForInit ';' ';' ForUpdate • ')' StatementNoShortIf ')' shift, and go to state 614
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 210 ForStatement → FOR '(' ForInit ';' Expression ';' • ForUpdate ')' Statement 211 | FOR '(' ForInit ';' Expression ';' • ')' Statement 218 ForStatementNoShortIf → FOR '(' ForInit ';' Expression ';' • ForUpdate ')' StatementNoShortIf 219 | FOR '(' ForInit ';' Expression ';' • ')' StatementNoShortIf 228 ForUpdate → • StatementExpressionList 229 StatementExpressionList → • StatementExpression 230 | • StatementExpressionList ',' StatementExpression 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 29 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 THIS shift, and go to state 165 SUPER shift, and go to state 166 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 '(' shift, and go to state 182 ')' shift, and go to state 615 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 StatementExpression go to state 363 ForUpdate go to state 616 StatementExpressionList go to state 509 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
194 IfThenElseStatementNoShortIf → IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf • [ELSE] ELSE reduce using rule 194 (IfThenElseStatementNoShortIf)
224 ForStatementNoShortIf → FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf • [ELSE] ELSE reduce using rule 224 (ForStatementNoShortIf)
223 ForStatementNoShortIf → FOR '(' ';' Expression ';' ')' StatementNoShortIf • [ELSE] ELSE reduce using rule 223 (ForStatementNoShortIf)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 214 | FOR '(' ';' Expression ';' ForUpdate ')' • Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 222 | FOR '(' ';' Expression ';' ForUpdate ')' • StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 589 StatementNoShortIf go to state 617 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
221 ForStatementNoShortIf → FOR '(' ForInit ';' ';' ')' StatementNoShortIf • [ELSE] ELSE reduce using rule 221 (ForStatementNoShortIf)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 212 | FOR '(' ForInit ';' ';' ForUpdate ')' • Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 220 | FOR '(' ForInit ';' ';' ForUpdate ')' • StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 590 StatementNoShortIf go to state 618 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 211 | FOR '(' ForInit ';' Expression ';' ')' • Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 219 | FOR '(' ForInit ';' Expression ';' ')' • StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 591 StatementNoShortIf go to state 619 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
210 ForStatement → FOR '(' ForInit ';' Expression ';' ForUpdate • ')' Statement 218 ForStatementNoShortIf → FOR '(' ForInit ';' Expression ';' ForUpdate • ')' StatementNoShortIf ')' shift, and go to state 620
222 ForStatementNoShortIf → FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf • [ELSE] ELSE reduce using rule 222 (ForStatementNoShortIf)
220 ForStatementNoShortIf → FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf • [ELSE] ELSE reduce using rule 220 (ForStatementNoShortIf)
219 ForStatementNoShortIf → FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf • [ELSE] ELSE reduce using rule 219 (ForStatementNoShortIf)
2 Literal → • IntegerLiteral 3 | • FloatingPointLiteral 4 | • BooleanLiteral 5 | • CharacterLiteral 6 | • StringLiteral 7 | • NullLiteral 29 Name → • SimpleName 30 | • QualifiedName 31 SimpleName → • Identifier 32 QualifiedName → • Name '.' Identifier 151 Block → • '{' BlockStatements '}' 152 | • '{' '}' 159 Statement → • StatementWithoutTrailingSubstatement 160 | • LabeledStatement 161 | • IfThenStatement 162 | • IfThenElseStatement 163 | • WhileStatement 164 | • ForStatement 165 StatementNoShortIf → • StatementWithoutTrailingSubstatement 166 | • LabeledStatementNoShortIf 167 | • IfThenElseStatementNoShortIf 168 | • WhileStatementNoShortIf 169 | • ForStatementNoShortIf 170 StatementWithoutTrailingSubstatement → • Block 171 | • EmptyStatement 172 | • ExpressionStatement 173 | • SwitchStatement 174 | • DoStatement 175 | • BreakStatement 176 | • ContinueStatement 177 | • ReturnStatement 178 | • SynchronizedStatement 179 | • ThrowStatement 180 | • TryStatement 181 EmptyStatement → • ';' 182 LabeledStatement → • Identifier ':' Statement 183 LabeledStatementNoShortIf → • Identifier ':' StatementNoShortIf 184 ExpressionStatement → • StatementExpression ';' 185 StatementExpression → • Assignment 186 | • PreIncrementExpression 187 | • PreDecrementExpression 188 | • PostIncrementExpression 189 | • PostDecrementExpression 190 | • MethodInvocation 191 | • ClassInstanceCreationExpression 192 IfThenStatement → • IF '(' Expression ')' Statement 193 IfThenElseStatement → • IF '(' Expression ')' StatementNoShortIf ELSE Statement 194 IfThenElseStatementNoShortIf → • IF '(' Expression ')' StatementNoShortIf ELSE StatementNoShortIf 195 SwitchStatement → • SWITCH '(' Expression ')' SwitchBlock 207 WhileStatement → • WHILE '(' Expression ')' Statement 208 WhileStatementNoShortIf → • WHILE '(' Expression ')' StatementNoShortIf 209 DoStatement → • DO Statement WHILE '(' Expression ')' ';' 210 ForStatement → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' Statement 210 | FOR '(' ForInit ';' Expression ';' ForUpdate ')' • Statement 211 | • FOR '(' ForInit ';' Expression ';' ')' Statement 212 | • FOR '(' ForInit ';' ';' ForUpdate ')' Statement 213 | • FOR '(' ForInit ';' ';' ')' Statement 214 | • FOR '(' ';' Expression ';' ForUpdate ')' Statement 215 | • FOR '(' ';' Expression ';' ')' Statement 216 | • FOR '(' ';' ';' ForUpdate ')' Statement 217 | • FOR '(' ';' ';' ')' Statement 218 ForStatementNoShortIf → • FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf 218 | FOR '(' ForInit ';' Expression ';' ForUpdate ')' • StatementNoShortIf 219 | • FOR '(' ForInit ';' Expression ';' ')' StatementNoShortIf 220 | • FOR '(' ForInit ';' ';' ForUpdate ')' StatementNoShortIf 221 | • FOR '(' ForInit ';' ';' ')' StatementNoShortIf 222 | • FOR '(' ';' Expression ';' ForUpdate ')' StatementNoShortIf 223 | • FOR '(' ';' Expression ';' ')' StatementNoShortIf 224 | • FOR '(' ';' ';' ForUpdate ')' StatementNoShortIf 225 | • FOR '(' ';' ';' ')' StatementNoShortIf 231 BreakStatement → • BREAK Identifier ';' 232 | • BREAK ';' 233 ContinueStatement → • CONTINUE Identifier ';' 234 | • CONTINUE ';' 235 ReturnStatement → • RETURN Expression ';' 236 | • RETURN ';' 237 ThrowStatement → • THROW Expression ';' 238 SynchronizedStatement → • SYNCHRONIZED '(' Expression ')' Block 239 TryStatement → • TRY Block Catches 240 | • TRY Block Catches Finally 241 | • TRY Block Finally 246 Primary → • PrimaryNoNewArray 247 | • ArrayCreationExpression 248 PrimaryNoNewArray → • Literal 249 | • THIS 250 | • '(' Expression ')' 251 | • ClassInstanceCreationExpression 252 | • FieldAccess 253 | • MethodInvocation 254 | • ArrayAccess 255 ClassInstanceCreationExpression → • NEW ClassType '(' ArgumentList ')' 256 | • NEW ClassType '(' ')' 259 ArrayCreationExpression → • NEW PrimitiveType DimExprs Dims 260 | • NEW PrimitiveType DimExprs 261 | • NEW ClassOrInterfaceType DimExprs Dims 262 | • NEW ClassOrInterfaceType DimExprs 268 FieldAccess → • Primary '.' Identifier 269 | • SUPER '.' Identifier 270 MethodInvocation → • Name '(' ArgumentList ')' 271 | • Name '(' ')' 272 | • Primary '.' Identifier '(' ArgumentList ')' 273 | • Primary '.' Identifier '(' ')' 274 | • SUPER '.' Identifier '(' ArgumentList ')' 275 | • SUPER '.' Identifier '(' ')' 276 ArrayAccess → • Name '[' Expression ']' 277 | • PrimaryNoNewArray '[' Expression ']' 278 PostfixExpression → • Primary 279 | • Name 280 | • PostIncrementExpression 281 | • PostDecrementExpression 282 PostIncrementExpression → • PostfixExpression PLUSPLUS 283 PostDecrementExpression → • PostfixExpression MINUSMINUS 289 PreIncrementExpression → • PLUSPLUS UnaryExpression 290 PreDecrementExpression → • MINUSMINUS UnaryExpression 333 Assignment → • LeftHandSide AssignmentOperator AssignmentExpression 334 LeftHandSide → • Name 335 | • FieldAccess 336 | • ArrayAccess Identifier shift, and go to state 492 IntegerLiteral shift, and go to state 158 FloatingPointLiteral shift, and go to state 159 BooleanLiteral shift, and go to state 160 CharacterLiteral shift, and go to state 161 StringLiteral shift, and go to state 162 NullLiteral shift, and go to state 163 SYNCHRONIZED shift, and go to state 164 THIS shift, and go to state 165 SUPER shift, and go to state 166 IF shift, and go to state 493 SWITCH shift, and go to state 168 WHILE shift, and go to state 494 DO shift, and go to state 170 FOR shift, and go to state 495 BREAK shift, and go to state 172 CONTINUE shift, and go to state 173 RETURN shift, and go to state 174 THROW shift, and go to state 175 TRY shift, and go to state 176 NEW shift, and go to state 177 PLUSPLUS shift, and go to state 178 MINUSMINUS shift, and go to state 179 ';' shift, and go to state 180 '{' shift, and go to state 122 '(' shift, and go to state 182 Literal go to state 183 Name go to state 258 SimpleName go to state 31 QualifiedName go to state 32 Block go to state 186 Statement go to state 600 StatementNoShortIf go to state 621 StatementWithoutTrailingSubstatement go to state 498 EmptyStatement go to state 193 LabeledStatement go to state 194 LabeledStatementNoShortIf go to state 499 ExpressionStatement go to state 195 StatementExpression go to state 196 IfThenStatement go to state 197 IfThenElseStatement go to state 198 IfThenElseStatementNoShortIf go to state 500 SwitchStatement go to state 199 WhileStatement go to state 200 WhileStatementNoShortIf go to state 501 DoStatement go to state 201 ForStatement go to state 202 ForStatementNoShortIf go to state 502 BreakStatement go to state 203 ContinueStatement go to state 204 ReturnStatement go to state 205 ThrowStatement go to state 206 SynchronizedStatement go to state 207 TryStatement go to state 208 Primary go to state 209 PrimaryNoNewArray go to state 210 ClassInstanceCreationExpression go to state 211 ArrayCreationExpression go to state 212 FieldAccess go to state 213 MethodInvocation go to state 214 ArrayAccess go to state 215 PostfixExpression go to state 216 PostIncrementExpression go to state 217 PostDecrementExpression go to state 218 PreIncrementExpression go to state 219 PreDecrementExpression go to state 220 Assignment go to state 221 LeftHandSide go to state 222
218 ForStatementNoShortIf → FOR '(' ForInit ';' Expression ';' ForUpdate ')' StatementNoShortIf • [ELSE] ELSE reduce using rule 218 (ForStatementNoShortIf)